CoreBoot (LinuxBIOS) Can Boot Windows 7 Beta
billybob2 writes "CoreBoot (formerly LinuxBIOS), the free and open source BIOS replacement, can now boot Windows 7 Beta. Videos and screenshots of this demonstration, which was performed on an ASUS M2V-MX SE motherboard equipped with a 2GHz AMD Sempron CPU, can be viewed on the CoreBoot website. AMD engineers have also been submitting code to allow CoreBoot to run on the company's latest chipsets, such as the RS690 and 780G."
Written in C, contains virtually no assembly code
What is the benefit of writing a BIOS in C over assembly code? Is it for transparency? Easier to catch bugs? Does compiling from C to machine assembly protect you from obvious errors in assembly? Is it for reusability of procedures, modules & packages?
Oftentimes I have wished I knew more assembly so I could rewrite often used or expensive procedures to fit the target machine and try to optimize it. I don't know assembly well, however, and therefore don't mess with this. Doesn't handwritten assembly have the potential to be much faster than assembly compiled from C? I thought often run pieces of the Linux kernel were being rewritten into common architecture assembly languages because of this?
I'm confused why mainboard companies don't write their BIOS in C if this is an obvious benefit--or is it that they do and all we ever get to see of it is the assembly that results from it?
Can anyone more knowledgeable in this department answer these questions?
My work here is dung.
I wish we in the OSS world had "Open Source" printer chips and toner formula. These would enable anyone with the ambition, to build "free" printers instead of shelling dough to these greedy companies.
What is your experience.
I would be terrified by the risk of harming my MOBO, but I may be the only one so timid.
Booting Linux (and other free operating systems) is relatively simple: They quite robust against quirks in the BIOS, as they're usually not part of the testsuite of the BIOS vendors.
It's also possible to boot Linux (and a smaller set of other free operating systems) without any PCBIOS interface (int 0x13 etc), as they don't rely on that.
Windows does. There has been, for a couple of years, a useful, but very fragile hack called ADLO, which was basically bochsbios ported onto coreboot, to provide the PCBIOS.
Recently, SeaBIOS (a port of bochsbios to C) appeared and was a more stable, more portable choice (across chipsets) in that regard.
So yes, we're proud that we can run the very latest Microsoft system, simply because it's less a given than booting Linux. ;-)
Even VirtualBox (commercially backed, and all) seems to require an update (very likely to its BIOS!) to support Windows 7. "We were first"
There are some things I don't understand about CoreBoot, so perhaps someone can enlighten me ;)
Let's say i replace the BIOS of my mainboard with CoreBoot. How do I configure the system? I know that Linux doesn't really do any BIOS-calls any more (legacy-free), but how do I for example change ram-timings, voltages, memory speed, change the multiplicator of my cpu, disable certain onboard devices, or tell the system do boot from cdrom and not from disk? To me it seems that CoreBoot makes sense for "locked" devices, like routers and stuff, where you don't actually need/want to change these things. Am I right or wrong? :-)
Looking at the CoreBoot site, it seems there best support is for the AMD Geode chips. It is ironic that this Slashdot article is one after the article saying AMD has no successor planned for the Geode line and it may fade away.
Learning HOW to think is more important than learning WHAT to think.
Coreboot by itself is initialization firmware only. That means, it doesn't provide any callable interfaces to the operating system or its loader. So you cannot ask coreboot to load a block from disk. That's were BIOS, OpenFirmware and (U)EFI come into play to fill the gap. They don't define the firmware, but its interface.
I haven't read the article, but I'm quite sure that they're using SeaBIOS - running on top of coreboot - to boot Windows. In this setup, coreboot performs hardware initialization and SeaBIOS provides the required BIOS routines for Windows to boot.
So why not (U)EFI, you ask? Well, it just takes someone to place an EFI implementation on top of coreboot. I think GnuFI used to be able to run off coreboot, but I think the project is dead. TianoCore is probably a better option. Actually, I know that TianoCore is the better option and that it can be done, but certain legal obligations prevent me from porting TianoCore to coreboot at the moment.
AMD engineers have also been submitting code to allow CoreBoot to run on the company's latest chipsets, such as the RS690 and 780G."
Now that would freakin' rock!!!
Until now, CoreBoot has been really hampered by the fact that it has mostly been supported on server boards, with little to know support on Desktop and Laptop chipsets. This is mostly the fault of the chipset/mobo manufacturers, who have zealously guarded their legacy BIOS crap for reasons that are pretty unfathomable to me.
I would love to be able to run CoreBoot on my Desktop and laptops. It would help to fix soooo many of the legacy BIOS issues that people tear their hair out over: booting USB devices, suspend/resume support, wake-on-LAN support, network booting.
So, go AMD. I've been a loyal fanb^H^H^H^H, uh, customer for years and I'm really glad to see them moving in the direction of open-sourcing their video drivers and now releasing chipset docs. Excellent news.
My bicyles