Hi
I have been working on building a Petitboot, a kexec bootloader, [0] based Linux payload using the Buildroot build system to produce a nice bzImage that contains both linux and the initrd. It is inspired by the Raptor Enginering HOWTO [0] and is based on op-build [1], the tool for building OpenPOWER firmware, which also uses Buildroot and Petitboot.
One of the advantages of Petitboot is that it is fairly simple and intuitive to use and does not require complex configuration like grub does, while still providing a large range of hardware support since it uses linux at its core.
A disadvantage is that a Linux + initrd payload takes up quite a bit of space. A fairly stripped down kernel + initrd takes up ~6.9M in the current Buildroot + Linux configuration I have. So a large flash chip or replacing the flash with a larger one is recommended.
Coreboot can directly use this Linux payload or first load SeaBIOS which can then chainload the Linux payload.
It is still very much a WIP and is currently aimed at Intel hardware, but with a kernel configuration tuned to your target it should work fine.
The repo + initial documentation: https://github.com/ArthurHeymans/petitboot_for_coreboot
[0] Petitboot: A kexec based bootloader, https://www.kernel.org/pub/linux/kernel/people/geoff/petitboot/petitboot.htm...
[1] Creating firmware images with petitboot and coreboot https://secure.raptorengineering.com/content/kb/1.html
[2] OpenPower Firmware Build Environment https://github.com/open-power/op-build
Kind Regards -- Arthur Heymans