[Buildroot] [RFC, PATCH 0/8] Enable a buildroot-based petitboot bootloader

Jeremy Kerr jk at ozlabs.org
Thu Jan 16 08:52:18 UTC 2014


Hi all,

The following series allows us to build a petitboot-based bootloader
using buildroot.

Petitboot is a kexec-based bootloader; by plumbing together a few linux
utilities, we can implement a bootloader in userspace, using standard
Linux drivers for hardware support. There's a bit of background of
petitboot in my recent linux.conf.au talk:

 http://mirror.linux.org.au/linux.conf.au/2014/Thursday/89-Petitboot_doing_interesting_things_in_your_bootloader_-_Jeremy_Kerr.mp4
 
And the project homepage:

 https://www.kernel.org/pub/linux/kernel/people/geoff/petitboot/petitboot.html

My primary target here is powerpc machines (and this series adds a
defconfig to do a powerpc petitboot build), but I've also been able to
get most of petitboot working when built as an EFI stub on x86 machines
(we still need some platform-specific bits in petitboot for proper
configuration persistence).

While most of this series is fairly straightforward, there are a few
items that might need a little more attention:

 - At the moment, I'm using my local repo for petitboot sources; it may
   be better to wait until everything is merged upstream. Upstream is
   still active, and I don't think this should take long.

 - We add wide-char support for ncurses; this seems to be working okay,
   but could do with a little review.

 - I still need a couple of tweaks to the target system (/etc/locale and
   /etc/inittab). At the moment, I'm carrying a change that introduces
   an overlay for these two files, but that's not suitable for upstream
   use:

     http://git.ozlabs.org/?p=buildroot;a=commitdiff;h=d50bd74b
   
   Is there any way I can provide updates to these files? The changes
   aren't board-specific; they're due to petitboot expecting to own
   the default consoles for UIs. Or is there a better way to do this?

This series is also available in my git tree, at:

  git://git.ozlabs.org/~jk/buildroot/

- in the petitboot branch. Note that that branch includes the overlay
too, which isn't intended for upstream.

Also, I'd like to give a big thanks to the buildroot developers; being
able to re-roll an entire system with one command has made petitboot
development *significantly* easier. Also, thanks to Thomas for the nudge
to send these changes upstream!

Please let me know if you have questions/comments/etc.

Cheers,


Jeremy

---
Jeremy Kerr (8):
      package/busybox: Add facility for DHCP hooks
      package/dropbear: Add separate configuration options for client and server
      package/ncurses: Allow building wide char support
      package/powerpc-utils: Add powerpc hardware utilities
      package/kexec-lite: Add a package for the kexec-lite tools
      package/petitboot: Add petitboot, the userspace bootloader
      package/iprutils: Add IBM Power RAID utilities
      Add powerpc petitboot defconfig



More information about the buildroot mailing list