BAMBIOS: Legacy (BIOS-Based) Booting on the Intel-Based Macintosh

IBM researchers Singh, Smith & Reed are developing in their free time legacy BIOS support for Intel Macs. “BAMBIOS” is using Boch’s BIOS emulation code and has also adapted its graphical BIOSes for the current ATi and Intel graphics chipsets used on the Intel Macs today. The BIOS itself loads as a small EFI-capable OS that then chainloads to a second stage boot manager to then boot non-EFI OSes (editor’s note: In the past some unsupported VESA 1.2 PC users used a small DOS partition to load a special DOS-based “VESA 2.0 graphics bios” code that was preparing the way for what BeOS was expecting and then it was chainloading the BeOS from DOS). BAMBIOS is a very promising project to bring Windows and non-EFI Unices to the Mac platform, although the downside is that you most likely need updated versions for it for each new Mac released – if the Mac hardware has changed from its previous models that is. And if the trick used is indeed chainloading, then some quirky re-partitioning of the drive will be required by the user too. Update: Additional info from Amit Singh below.To EFI, our software looks like a regular EFI program which happens to be a bootloader. This bootloader contains
a binary payload which is an entire BIOS, VGA BIOS, and other
x86-specific glue needed to boot the machine. This binary payload is loaded into memory in the legacy BIOS space. To all software on the machine, it appears as if the machine has a traditional BIOS. An important aspect of BAMBIOS is that its goal is to be non-disruptive.”
– Amit Singh

38 Comments

  1. 2006-03-14 1:26 am
    • 2006-03-14 3:51 am
  2. 2006-03-14 1:43 am
    • 2006-03-14 4:23 am
    • 2006-03-14 1:07 pm
      • 2006-03-15 2:55 am
  3. 2006-03-14 2:26 am
  4. 2006-03-14 3:29 am
  5. 2006-03-14 5:08 am
  6. 2006-03-14 5:40 am
    • 2006-03-14 6:03 am
      • 2006-03-14 7:20 am
        • 2006-03-14 9:46 am
        • 2006-03-14 8:18 pm
  7. 2006-03-14 8:35 am
    • 2006-03-14 9:30 am
    • 2006-03-14 9:58 am
  8. 2006-03-14 9:36 am
    • 2006-03-14 2:20 pm
  9. 2006-03-14 9:51 am
    • 2006-03-14 11:36 am
      • 2006-03-14 1:23 pm
      • 2006-03-14 2:43 pm
        • 2006-03-14 4:31 pm
          • 2006-03-14 5:36 pm
    • 2006-03-14 11:38 am
      • 2006-03-14 1:31 pm
        • 2006-03-14 3:07 pm
    • 2006-03-14 12:09 pm
      • 2006-03-14 1:38 pm
        • 2006-03-14 4:39 pm
  10. 2006-03-14 10:46 am
    • 2006-03-14 12:37 pm
    • 2006-03-14 4:34 pm
  11. 2006-03-14 10:58 am
  12. 2006-03-14 2:55 pm
  13. 2006-03-14 3:50 pm
  14. 2006-03-14 6:28 pm