Ronald G Minnich <[EMAIL PROTECTED]> writes: > On 2 Dec 2001, Eric W. Biederman wrote: > > > Ron, what do you think about adding a bootloader (in the linuxBIOS > > tree), that uses the fill_inbuf architecture we already have for > > booting. I don't want to add boot policy in the core of the tree but > > if we had an optional bootloader that shouldn't be a problem. > > I think it's a good idea, it would extend what steve james has already > done for ethernet. You know me, I would rather have linux do this work, > but the mainboard manufacturers are NOT cooperating in giving us those > big FLASH parts :-)
Which is espeically true when you start talking about fallback booting... > > And if it shared it's drivers with the main linuxBIOS we could load > > one kernel from anywhere... > > > It might make sense to work with something like etherboot on this but > > having it internal looks easier... > > It just seems like we have no choice. > > Question, though: What do we do about people who want to interact with > the boot loader and use graphics? do we put graphics into linuxbios? Then > it may grow big! > > We've got a problem here ... it's bigger then just the bootloader, maybe. At this point bootloaders are expendable. It will be an ELF image that I load from flash. There is code sharing so I can use the linuxBIOS flash drivers, and disk drivers. In a bootloader the rules are much less strict, and actually because of policy issues I'll probably set it up so we have a bootloader directory like mainboard, and we can implement a couple and experiment. The important point is not to put the policy into the core linuxBIOS image so someone who doesn't want it can ditch it. If the bootloader has it's own seperate config file, and is compiled seperately this shouldn't be a problem. Granted we may get some doubling up and code bloat but it is unlikely that we will get enough to really cause problems. If we want we can even compress the bootloader.... So we can include features in the bootloader if they are convenient. If not a bootloader that supports IDE, floppies and maybe a few other common components will be enough. I'm targeting the basic x86 bootloader model (you can set your boot order but that is about it). Maybe something as sophisticated as lilo. And I think a simple user space program that reads an ELF header, and calls FIBMAP and writes a new ELF header to the ``master boot record'' should be enough, to generate a random bootable disk. Once you can boot from any kind of disk you can load a linux kernel, so you should be able to make the most sophisticated bootloaders from that. I really don't know where this will all go, but I do know that I want a place for all of this random code to live. I'd love to have something like RedBoot as a choice, but for now I'm going to implement something trivially simple, and we will see where it will go from there. All we have to do to keep linuxBIOS from degenerating into a nasty wanabe operating system mess, is shovel the questionable code into the bootloader :) If the bootloader is to nasty replace, or rewrite it... Eric
