Boot Alternatives
From Mactel-Linux
This page tries to explain the different choices you have for booting Linux on Intel Macs.
See also: Dual Booting - Triple Booting
Contents |
Overview
The main choice you have to make is whether you want to use BIOS compatibility (a.k.a. "Boot Camp") or stay with plain EFI.
- Boot via Boot Camp
- Uses LILO, GRUB or SYSLINUX as the boot loader
- Requires a hybrid GPT/MBR partition table
- Allows native, 2D and 3D accelerated graphics on all current models (iMac, MacBook Pro, Mac mini)
- Can use standard PC kernels and boot CDs
- Boot via EFI
- Uses elilo as the boot loader
- Requires a special kernel
- Allows unaccelerated 2D graphics in native resolution without proprietary drivers
Boot Camp plus LILO
When an Intel Mac is booted in BIOS compatibility mode, it behaves very much like a standard PC. Don't let the "Windows" label in the menu irritate you, the firmware does not know or care if you really are booting Windows or a different OS.
Using LILO requires an MBR partition table. By default, Intel Mac hard disks have a GPT partition table, and LILO will only see a single partition that spans the whole disk. You need to synchronize the MBR and GPT tables so that they point to the same partitions. Currently the only tool that does this is Apple's diskutil tool (or the Boot Camp Assistant, but that doesn't help much).
LILO can be installed either in the MBR or in a partition boot sector. Both choices are safe. Which one is better (as in "easier to install") depends on the setup you're looking for:
- For a dual boot setup (Mac OS X and Linux only), install LILO in the MBR.
- For a triple boot setup it depends on what package you'll use as a boot menu to choose between Windows and Linux:
- Using rEFIt: Install Windows first (this puts chainloading boot code in the MBR), then install LILO in the boot sector of your Linux partition. rEFIt changes the active partition flag as necessary, so you get a one-step boot process.
- Using LILO itself: Install LILO in the MBR. You may have to re-install LILO when you install Windows afterwards.
- Using NTLDR: Install LILO in the boot sector of the Linux partition, then copy that boot sector as a file to the Windows partition.
Boot Camp plus GRUB
There are three pitfalls to take care of when installing GRUB:
- Like LILO, GRUB 0.9x requires an MBR partition table.
- Current release versions of GRUB hang after loading stage2 on Intel Macs. See this OpenSolaris forum thread for a patch.
- Do not install GRUB in the MBR (a.k.a. a "whole disk" install). By default, GRUB will embed its stage1.5 in the sectors following the MBR. On a PC, those are unused, but on the Mac they hold the GPT partition table. In the worst case, you'll lose your hard disk's contents. Instead, install GRUB on your Linux root partition (or boot partition, if you have one).
Boot Camp plus SYSLINUX
SYSLINUX has many advantages for triple boot. It loads its config, the kernel and the initrd from the Windows XP FAT32 partition and does not have to be reinstalled upon kernel change. It does not depend on the filesystem of the Linux partition, and the Linux partition can be encrypted (for a encryption mini-howto see User:Felix/MBP).
SYSLINUX is installed in the boot sector of the Windows partition. Windows is started by chainloading the original NTLDR boot sector from SYSLINUX.
Pure EFI plus elilo
See Using elilo and Dual Booting for instructions for booting with elilo.
Note that you will need a special kernel that a) knows it will be booted by a legacy-free IA32 EFI and b) has the patches from mactel-linux to set up a framebuffer console using the framebuffer left over from the EFI console driver. On the positive side, elilo works with a pure GPT partition table.

