This page will attempt to document the status and procedure for booting Ubuntu Linux via EFI on Intel-Based Macintosh Computers (mactels). This is highly experimental and very different from the current recommended method of installation on a Mac. (See the [MactelSupportTeam/AppleIntelInstallation] Page). If you are interested in trying out something new, and is more native to how your Mac operates, please proceed. If you are looking to install a stable, reliable system, this is probably not for you.
Because there are several unknowns about Apple's implementation of EFI, there are some things that do not yet work correctly.
- Your graphics may be limited to using the xorg fbdev driver (framebuffer) . This means no 3D Acceleration. But 3d accel with efi does work on Macs with intel graphics and intel driver, and with radeon chips with ATI fglrx in ubuntu 810 but not later, but not so far with nvida graphics.
Basic Installation Procedure
The basic installation of Ubuntu is not really different from installing on any other Mac, but there is some software that you really need in addition in order to boot via EFI.
Both a CD install of rEFIt and a local install on the Mac OS partition will work. However, The CD install will shift the device identifier (ie. (hd1,1) instead of (hd0,1) and sdb1 instead of sda1) due to the way that the apple boot loader orders devices.
NOTE ON EXTERNAL HARD DRIVES:
Getting GRUB2 EFI
Some sections may just contain a list of links. It is sometimes useful to include a short explanation of what the links are for. For example: 'Ubuntu includes the following Internet applications by default.'
As of June 2009, the latest ubuntu and debian grub-efi packages (depends grub-common) have all the recent patches and tweaks for Apple Intel Macs, and the packages can be simply installed in linux, then using gru-mkimage and slected modules, create grub.efi. The grub-install utility needs some further changes to be useful on Apple as it assumes the use of a FAT EFI boot partition.
You can apt-get install grub-efi in ubuntu karmic or debian sid but earlier versions are no good, download the debs fromn the packages.ubuntu.com or debian.
Should not be necessary unless you want to hack the code.
sudo apt-get install build-essential subversion gcc-multilib bison ruby autoconf
Checkout the Subversion Source
svn co svn://svn.sv.gnu.org/grub/trunk/grub2
GRUB2 and Grub.cfg
Grub2 is the source for grub.efi and the grub-efi package. It is also the source for grub-common, grub-pc, and grub-ieee1275, and the common features include the grub.cfg menu which replaces the old menu.lst for grub1, and has many new features. These generic GRUB2 aspects are described in the recent GRUB2 ubuntu-wiki page , refer to it for basics. https://wiki.ubuntu.com/Grub2
- On the OSX partition or on another hfsplus (Macos Extended) partition. Also on a FAT32 partition if using rEFIt. There are 3 grub.efi shown here to illustrate the 3 locations, not normally a good idea.
Other OS Tweaks
This may be needed for MacBook2,1 and some others using the intel video chip, if the 'fix_video' option is not used. Should not be needed for later model macs with radeon and nvidia graphics.
Copy this text to a file named blacklist-agp.
## /etc/modprobe.d/blacklist-agp ## blacklist to disable agp for use with efifb framebuffer ## agpgart and all agp modules in ubuntu 810 i386 intrepid. ## modprobe -l *agp ## 20081129 pxw ## blacklist agpgart blacklist amd-k7-agp blacklist amd64-agp blacklist sworks-agp blacklist ati-agp blacklist via-agp blacklist sis-agp blacklist efficeon-agp blacklist intel-agp blacklist ali-agp blacklist nvidia-agp ##
then copy it to the /etc/modprobe.d/ directory
Set the xorg driver
Save a copy of existing xorg.conf for changing back to existing x configuration.
Here is a single Section mini xorg.conf for intrepid xubuntu on a MacBook to use the fbdev driver.
If you have an xorg.conf with Section "Device", just edit that Section in the Driver line, leave the Identifier line as is.
Section "Device" Identifier "Configured Video Device" Driver "fbdev" EndSection
Mac Version String (See how to find this here)
- GRUB2 revision
- Any Applied Patches
- Synopsis of how it went / any problems?
- Grub2 revision: 2194 (64-bit)
Linux: Jaunty 64-bit (2.6.28 kernel), patched with e820.patch
fix_video linux /vmlinuz root=/dev/sdb2 video=efifb initrd /initrd.img
- Boots ok, graphics are accelerated
- Console goes scrambled after X starts
- fixvideo must be part of the Grub2 core image, not a module
http://ubuntuforums.org/showthread.php?t=995704 - Ubuntuforums discussion
http://ubuntuforums.org/forumdisplay.php?f=328 - Apple Users Forum on ubuntuforums.org.
MactelSupportTeam - The Mactel-Support Team.
<Link> - Explanation of link.
http://grub.enbug.org/ - GNU GRUB Wiki.
http://grub.enbug.org/TestingOnEFI - GNU GRUB Wiki/TestingOnEFI.
http://grub.enbug.org/TestingOnMacbook - GNU GRUB Wiki/TestingOnMacbook.
http://www.gnu.org/software/grub/grub-2.en.html - GRUB2 Page.
http://en.wikipedia.org/wiki/Extensible_Firmware_Interface - Wikipedia article on EFI.
http://www.intel.com/technology/efi/ - Intel EFI Page.
http://www.uefi.org/home - UEFI Homepage.
<Link> - Explanation of link.