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.
I see here PROs and CONTRAs.
One huge PRO is that petit/smallboot is excellent for consumer electronics. For the ones which will NEVER change SW as current release of the device. With the new device release (new version), the new enhanced SW will be put into device. Excellent for ASICs.
One CONTRA is that it is impossible to upgrade SW in the current ASIC context. If there will be another SW (kind of EC) with HW extension which can control flash upgrade, which will make this device substantially more expensive.
In other words, petitboot mainly targets consumer electronics. :-)
Best Regards, Zoran
On Wed, Oct 26, 2016 at 3:18 AM, Arthur Heymans arthur@aheymans.xyz wrote:
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.html
[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
-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot