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 <[email protected]> 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: [email protected] https://www.coreboot.org/mailman/listinfo/coreboot

