[coreboot] Rettungsboot

ron minnich rminnich at gmail.com
Sun Nov 27 01:23:38 CET 2016

And let's not forget John Lewis' excellent work on JELTKA for chromebooks,
which is also Linux and kexec. I've used it and it's great.

I have a replacement for petitboot which is an all-Go userland: u-root.
Programs  in the root file system are Go source and are compiled on first
use -- there's a full Go toolchain embedded in flash. There are only 5
userland binaries on the root file system, four of which are Go toolchain,
one is /init, and the rest is all Go source. I've got this working today on
a KGPE-D16. I first tested it in Prague in 2014, and we've also had it
working on the Gizmo II and a Chromebox. If you have 16 MiB flash, it just
works -- really.

So there's five efforts, working today, all based on linux and kexec, and
at least one in commercial use.

I think the lifeboat should come with a penguin painted on its side. It's
known to work -- since 1999 :-) -- and it avoids recreating the full
universe of drivers, protocols, file systems, and so on.


On Sat, Nov 26, 2016 at 4:20 PM Zaolin <zaolin at das-labor.org> wrote:

> In my opinion there are currently two payloads which are really
> interesting and promising for end users:
> * HEADS - https://github.com/osresearch/heads
> * Petitboot - https://secure.raptorengineering.com/content/kb/1.html
> I am currently working on the UI of Heads. So feel free to contribute ;)
> Best Regards
> Zaolin
> On 11/26/2016 11:47 PM, ron minnich wrote:
> Oh, my fingers type too much for me now.
> The current set of (as you point out) not terrific options is a result of
> linux growing too big for flash, and flash growing too SMALL for linux, ca.
> 2002, when we adopted the payload model.
> On Sat, Nov 26, 2016 at 3:46 PM ron minnich <rminnich at gmail.com> wrote:
> coreboot today is linuxbios minus the linux. The original intent was
> always that linux be our lifeboat. The current set of (as you point out)
> not terrific options is a result of linux growing too big for flash, and
> flash growing too big for linux, ca. 2002, when we adopted the payload
> model. The original keyword in the config file was 'linux', not 'payload'.
> The bootloaders we adopted (etherboot, filo, ...) were never (to me) a very
> satisfactory replacement for linux. They always came with lots of
> limitations.
> But why linux? Why a full OS? Simple observation, here in my 35th year of
> working with firmware and bootloaders.
> Every bootloader starts simple, and becomes an OS. Every single one starts
> with the intent of being small and compact and only supporting some needed
> subset of file systems/devices/protocols and ends up implementing
> everything. Because there was an attempt to start out simple, no matter how
> good the intial design is, that design is overwhelmed by the continuous
> addition of features, the result being a badly bloated, huge system with no
> apparent design.
> The exception, it has been argued, is EFI, which had some sort of design
> in 1999. From my point of view, it skipped right past all the initial
> stages and entered the world bloated and with no apparent design, or at
> least not a very good one.
> So you need to think, not in terms of lean and clean, but in terms of what
> it looks like after a few years when everyone has attached their favorite
> features to your lifeboat. I think it's a mistake to ever think you are
> going to implement some limited-function, limited-footprint bootloader,
> because people will jump on it and just add code. Just look at what's
> happened with systemd.
> Also worth considering is that the tinykernel configs have got linux down
> to 400K. You can trim it down to that, and carefully add features back.
> This comes with huge benefits I think. You get drivers that work, protocols
> that work, all the file systems you want, and you can put nice interactive
> boot UIs in user mode. Today's flash parts are more than large enough to do
> a good environment -- tinycore linux could be used, for example, once it
> was trimmed a bit. It's only about 12M today with a full X environment.
> Power8 and Power9 systems use linux in flash as their bootloader. This
> example has not been lost on other systems being developed today.
> I think it's worth considering a tinykernel linux as bootloader before you
> start with a new thing.
> ron
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20161127/7807b1ed/attachment.html>

More information about the coreboot mailing list