* Segher Boessenkool segher@kernel.crashing.org [061107 10:16]:
If you care about mswindows at all, it sure is.
according to OSnews.com as well as http://www.w3schools.com/browsers/browsers_stats.asp Windows has a market share of about 90% in the PC market.
If LinuxBIOS is at all aiming at becoming an alternative firmware for PCs, really nobody would assume we can afford not to care.
Given that we can only keep up with supporting new server chipsets if we have a user base worth mentioning, there is no way around targeting the PC market as well.
Does this work for vista too though?
We will need to find out by trying. There is no single future proof path or optimal solution unfortunately.
- The "16bit bios callback approach"
Using ADLO or something similar will help for Windows Vista, but it would need work on the built-in IDE driver, plus it would need work to get int13 plugin cards working.
The strength of this approach is that by using a 16bit legacy interface cleanly encapsulated, we might be able to boot from any PCI plugin card, such as SCSI adapters.
The weakness is clearly that we need to stick with 16bit legacy code (which we already do for vga init anyways)
It sounds somewhat weird that we need to go ancient to support newer systems than what is there today, but this might indeed be the case.
- The patchwork approach
We create clean 32bit loaders for the operating systems we want to boot. Or we modify or enhance existing loaders to do so.
The strength of this approach is we might be able to use Linux for booting from flash, gaining from Linux' good driver support.
The weakness of this approach is we need to reflash the BIOS if we plug in a new SCSI adapter because the old one died. All SCSI drivers in Linux require about 5MB space, 1.3 for all ide devices, 1.5 for Infiniband. Even with pretty good compression, how are we going to plug this, plus a kernel, plus a bootloader plus LinuxBIOS in 1MB flash?
Even though I am sure almost all people on this list compile their own kernels, this is not the usual case for people using Linux anymore. _Requiring_ to recompile your _BIOS_ to support booting from a new PCI card will not make us a lot of friends.
So here we go. That's quite some of the misery along the mainstream path. Solutions, anyone?