On Sat, Nov 26, 2016 at 2:46 PM, ron minnich rminnich@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.
Totally agree with everything Ron said. But as I read Nico's proposal, he is asking how we might specify the thing that is loaded by the bootloader whether the bootloader is a Linux kernel or FILO or Depthcharger or whatever.
So for the purposes of this, let's presume we have coreboot+linux in ROM. What do you do once your kernel is loaded and you're able to read all the storage devices or get on the network? Do you read each storage device in whatever seemingly random order they were enumerated in and boot the first thing that looks like a kernel? Do you download a kernel using TFTP? And so on.
One positive aspect of Nico's proposal would be to mitigate the bloat one can reasonably expect to need to support. Say that we have a vendor who wants to support a relatively generic coreboot distro and use Linux as the payload. How many filesystems and networking protocols should they really need to worry about in order to consider their distribution "well-supported?"