Hi,
here's a patch for v3 which reworks the payload selection in 'make menuconfig'. After the patch there are two simple options you can use:
- Payload file
You specify a path and filename for the payload. Default: payload.elf in the current directory.
_How_ you create this payload does not matter; manual building, using a pre-built image from somewhere, using buildrom or lbdistro to create one etc. etc.
- No payload
This will create an "empty" image without any payload. You can later add a payload from the command line using the 'lar' utility. Something like 'lar add payload.elf linuxbios.rom' will add it...
This is useful for multiple purposes:
- Other "payload-projects" such as GNUFI or Open Firmware etc. can use LinuxBIOS as low-level bootstrap and incorporate LinuxBIOS in their own build process. They use the "empty" LinuxBIOS image as a base and use 'lar' to insert their own GNUFI / OFW / whatever image.
- Linux distributions can ship 'linuxbios' packages which come with /usr/bin/lar and "empty" pre-built images for all supported mainboards somewhere in /usr/share, e.g.
/usr/share/linuxbios/images/lb_empty_asus_a8n_e.rom /usr/share/linuxbios/images/lb_empty_tyan_s2882.rom /usr/share/linuxbios/images/lb_empty_gigabyte_ga_6bxc_256k.rom /usr/share/linuxbios/images/lb_empty_gigabyte_ga_6bxc_512k.rom etc.
The user can then use those pre-built images and the 'lar' tool to insert any desired payload into the "final" image before flashing it.
Heck, the distributions could even ship default payloads in /usr/share/linuxbios/payloads.
We definately need some more discussion on the payload handling, but I think this patch is a good start. This system is flexible enough to manage any use case you can imagine, IMO.
I documented the proposed procedure in the README in the patch, comments welcome.
Uwe.