On Sat, Dec 10, 2011 at 07:30:19PM +0100, Fred . wrote:
Analyze of the current state and proposed future path for SeaBIOS.
== Website == The current SeaBIOS website lacks information and is very basic. SeaBIOS needs a more informative website with documentation and information.
It would be a good thing to expand the website. I've wanted to add more technical information to the website, but I have not been able to set aside the time to do it.
== Logo == SeaBIOS have no logo. Award/Phoenix, AMI, Insyde, etc have a logo. Perhaps SeaBIOS should have a logo too?
If someone is willing to put together a logo, I will consider using it. I have no talent in that area myself. :-)
== Features & Standards == In many aspects SeaBIOS is behind the competition.
- Award/Phoenix, AMI, Inside have setup screen. SeaBIOS does not.
SeaBIOS _needs_ a setup menu in order to win the minds of enthusiasts, geeks and non-embedded systems.
This may be a semantic distinction, but I believe SeaBIOS should launch an application for system setup and SeaBIOS should not itself have a menu system.
The ability for SeaBIOS to launch a "setup program" is already present - it just requires the creation of this setup program. Several coreboot payloads already have some menu drawing code, so this shouldn't be too difficult. Frankly though, there isn't much to configure (and that is a good thing).
- Competition have password protection. SeaBIOS does not.
Again - this is part of the "setup program" - there is nothing in SeaBIOS to protect.
- SeaBIOS is behind in standards. SeaBIOS supports SMBIOS 2.4, while
the competition is ahead, and the recent standard is SMBIOS 2.7.1.
- SeaBIOS does not support ESCD. The competition supports this.
There are a plethora of old "standards" for PC machines. Supporting all of these "standards" would take eons and provide little appreciable gain. The SeaBIOS approach (inherited from Bochs BIOS) is to support those standards which common operating systems use. I think this is the right approach.
- SeaBIOS does not support (GUID Partition Table) GPT. It seems the
competition does not either. However it is possible to implement GPT support in BIOS. Doing so would give SeaBIOS a competitive advantage over the competition.
This is a common misconception - a standard BIOS has nothing to do with the partition table. The BIOS doesn't do partition tables - it's the task of the bootloader and OS to support them.
- SeaBIOS supports USB UHCI and OHCI. It should support the latest xHCI.
Agreed.
- SeaBIOS supports 32-bit PCI. It should support 64-bit PCI.
I'm not sure what you mean here.
- Competition supports small logos in the corners. SeaBIOS only
supports fullscreen logos.
What features are under development? What features & standards are not supported yet? What features would we like to have? What features are planned? We need to document this.
== Unimportant features ==
- SeaBIOS does not support the PNG format which is superior to
currently BMP and JPG.
- SeaBIOS uses LZMA compression. The successor LZMA2 is out.
- Linux and Windows have animated splash screens on bootup. It would
be cool if SeaBIOS could have animated flash, via APNG or MNG.
SeaBIOS boots fast - there's no time to show a splash screen. That's its real advantage. Should someone wish to see a pretty picture during boot, they can easily add it to the bootloader (eg, as winldr and grub do).
That said, should someone wish to add new splash screen support, I don't see it as an issue.
== Usage & Community == SeaBIOS is used by coreboot, KVM, QEMU and Bochs.
Bochs doesn't use SeaBIOS (at least by default). Xen is in the process of using SeaBIOS as well.
SeaBIOS should be used more widely on platforms and platform virtual machines. SeaBIOS should be supported by VirtualBox and VMware, can this be accomplished? how?
I believe VirtualBox uses (or at least used to use) Bochs BIOS, and it should be possible to migrate to SeaBIOS. It would be up to VMware if they wished to change BIOS.
What other platform virtual machines can SeaBIOS be supported/integrated with? The different communities needs to work tighter together to commonly develop SeaBIOS into a tier one BIOS.
-Kevin