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. ron On Sat, Nov 26, 2016 at 4:20 PM Zaolin <zao...@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 <rminn...@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 > >
-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot