Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Hardware Hacking Windows Build Linux

CoreBoot (LinuxBIOS) Can Boot Windows 7 Beta 207

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."
This discussion has been archived. No new comments can be posted.

CoreBoot (LinuxBIOS) Can Boot Windows 7 Beta

Comments Filter:
  • by eldavojohn ( 898314 ) * <eldavojohn AT gmail DOT com> on Tuesday January 27, 2009 @11:45AM (#26623053) Journal
    On CoreBoot's benefits page, it lists:

    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?

  • by eldavojohn ( 898314 ) * <eldavojohn AT gmail DOT com> on Tuesday January 27, 2009 @11:54AM (#26623201) Journal

    One word: agnostic. It becomes agnostic in C as opposed to ASM.

    Alright, at the risk of further revealing my stupidity--what does this matter? I mean, isn't the BIOS tied to the architecture of the chipset anyway? It's not like I'm going to write a C program that compiles into the BIOS for an x86 chipset and--oh, by the way--thank god I can also compile that down to a PowerPC binary! I don't think that any piece of that integrated circuit is going to be developed in a mirror fashion on a PPC architecture ... or is that common practice?

    Doesn't each BIOS target one particular machine assembly language anyway?

  • by Vellmont ( 569020 ) on Tuesday January 27, 2009 @12:07PM (#26623507) Homepage

    what does this matter? I mean, isn't the BIOS tied to the architecture of the chipset anyway?

    I'm not a BIOS writer, but I am a software developer.

    My best guess is there are parts of a BIOS that are tied to the hardware architecture, and there are parts that aren't.

    For instance, what if you want to write a BIOS that can read an EXT3 partition? Or has a TCP/IP stack in it? These might be bad examples, but I can certainly see that there's generic things to be done that aren't necessarily tied to a particular processor.

  • by bogaboga ( 793279 ) on Tuesday January 27, 2009 @12:23PM (#26623793)

    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.

  • Re:This is awesome (Score:3, Interesting)

    by dk90406 ( 797452 ) on Tuesday January 27, 2009 @12:30PM (#26623913)
    So with windows support, CoreBoot can be accepted? Leads to the question: Is anyone here using it now?

    What is your experience.

    I would be terrified by the risk of harming my MOBO, but I may be the only one so timid.

  • by Anonymous Coward on Tuesday January 27, 2009 @12:34PM (#26623951)

    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" ;-)

  • Some questions.. (Score:1, Interesting)

    by Anonymous Coward on Tuesday January 27, 2009 @12:37PM (#26623997)

    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? :-)

  • AMD Geode (Score:4, Interesting)

    by chill ( 34294 ) on Tuesday January 27, 2009 @12:39PM (#26624019) Journal

    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.

  • by agbinfo ( 186523 ) on Tuesday January 27, 2009 @01:14PM (#26624687) Journal

    Doesn't handwritten assembly have the potential to be much faster than assembly compiled from C?

    Short answer: no.

    Long answer: ...

    I don't know how good compilers have become but I've had to optimize generated code (for space and speed) a long time ago.

    To do this, I would write the best possible code in C first, then compile it and then optimize the generated assembler code.

    My point is that if you already start with the best code the compiler will provide, you can only improve from there.

    Also, in some situations, looking at the generated assembler code helped identify clues as to how writing the original C code could result in better performance.

    This was a long time ago, for an embedded application with very limited CPU and memory. I haven't had to do that since.

  • by billcopc ( 196330 ) <vrillco@yahoo.com> on Tuesday January 27, 2009 @02:49PM (#26626575) Homepage

    A BIOS actually does not have that much to do, by definition. The problem is that PC architecture is crusty and hasn't evolved all that much since the 80's. It should not be the BIOS' job to handle USB/Ethernet or any other hardware niggling, such feats belong in the hardware's own controller. If each component did its job and presented a uniform, reliable interface to the BIOS, we could be writing very simple BIOSes that glue it all together and give us a simple UI to configure the pre-boot stage. That's really all a modern operating system needs.

  • As for TCP/IP, that would be nice to allow diskless boots. PXE anyone?

    Not only that, but a minimal TCP/IP stack in the BIOS would remove much of the reason for purchasing expensive remote-management add-in cards (and sacrificing PCI slots as a result) in order to perform hard reboots and view the boot console over a network. (Those cards are in themselves an alternative to even more expensive out-of-band management systems, using either the serial port or proprietary hardware interfaces.)

    Although there would be some obvious security concerns with such a system -- you wouldn't want to enable it by default on non-headless systems, clearly -- it would be a pretty neat feature and would go a long way towards making commodity servers (built up from semi-generic components, like Rackspace's) feature competitive with the big names. And it'd be nice, just in general, to get a standardized approach to true headless operation that was vendor-agnostic and didn't require the purchase of additional addon parts.

  • Re:EFI? (Score:2, Interesting)

    by phsdeadc0.de ( 1166597 ) on Tuesday January 27, 2009 @04:19PM (#26628027)

    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.

  • Re:Some questions.. (Score:3, Interesting)

    by Grishnakh ( 216268 ) on Tuesday January 27, 2009 @04:35PM (#26628273)

    I don't know either, but I would guess that Coreboot has a menu you could bring up when you power up which would allow you to choose your boot device order. However, many modern motherboards have many settings in BIOS for things you mention, like RAM timings, voltages, CPU multipliers, etc., and it seems like most of those would be board-specific.

  • by MoxFulder ( 159829 ) on Tuesday January 27, 2009 @05:32PM (#26629093) Homepage

    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 [coreboot.org], 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.

Information is the inverse of entropy.