Slashdot Mirror


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."

7 of 207 comments (clear)

  1. What Benefit Does C Have Over Assembly? by eldavojohn · · Score: 4, Interesting
    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?

    --
    My work here is dung.
    1. Re:What Benefit Does C Have Over Assembly? by eldavojohn · · Score: 5, Interesting

      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?

      --
      My work here is dung.
    2. Re:What Benefit Does C Have Over Assembly? by Vellmont · · Score: 3, Interesting


      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.

      --
      AccountKiller
    3. Re:What Benefit Does C Have Over Assembly? by agbinfo · · Score: 4, Interesting

      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.

    4. Re:What Benefit Does C Have Over Assembly? by Kadin2048 · · Score: 4, Interesting

      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.

      --
      "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
  2. Re:Boot Windows 7? So what? by Anonymous Coward · · Score: 5, Interesting

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

  3. AMD Geode by chill · · Score: 3, Interesting

    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.