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(a)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
>