I think SeaBIOS already has an option to build a multiboot image. In
either case you could also (in theory) pack either into a bzImage and
feed that to kexec.
Clearly this is one place I should look next. I was mainly looking at grub as I understood it to be the most capable among payloads, though not necessarily the most streamlined.
Just for the sake of completeness, can grub be packed into a compatible multiboot image? I can only find information on grub loading them.
I wonder why you would want to chainload grub, however, instead of
using u-root programs that read grub config files and do the boot
My impression is things that try to parse grub config files (or similar) tend to implement only partial compatibility and be a bit buggy. I also couldn't find any clear documentation on this.
There are reasons to use grub, of course, but I was curious
about your specific reason.
From what I've read grub has the best support among payloads for things like loading or verifying encrypted partitions, while also being able to load a wide variety of media (from live CDs to windows loaders). The general outline was to have linuxboot come up first and do all of the boot logic and other tasks in a nice linux environment, then invoke grub to take the appropriate final action. I still don't know if seabios can boot something on an encrypted partition, even if the linux runtime that's loading seabios is capable of mounting it.
One of many ideas I'm fiddling with is to implement functionality that coreboot lacks compared to most proprietary BIOSs (self flashing, configuration, and other goodies) using fairly normal scripts under linux. If linuxboot can provide a great deal of flexibility, this is one way I can imagine using it.