Introduction

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.

Non-Working Hardware

Because there are several unknowns about Apple's implementation of EFI, there are some things that do not yet work correctly.

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

rEFIt

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.

Installing Ubuntu

IconsPage/warning.pngNOTE 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.'

Binaries, debs

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.

Compiling

Should not be necessary unless you want to hack the code.

Prerequisite Software

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

Compiling

cd grub2
./autogen.sh
./configure --with-platform=efi
make
./grub-mkimage --help

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  

Installing grub.efi

Locations

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

grubfiles.png

Other OS Tweaks

Blacklist AGP

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

Code:

## /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.

/etc/X11/xorg.conf

Code:

Section "Device"
        Identifier      "Configured Video Device"
        Driver          "fbdev"
EndSection

Tested Hardware

  1. Mac Version String (See how to find this here)

  2. GRUB2 revision
  3. Any Applied Patches
  4. Synopsis of how it went / any problems?

MacBook4,1

  1. Model: MacBook4,1

  2. Grub2 revision: 2194 (64-bit)
  3. Linux: Jaunty 64-bit (2.6.28 kernel), patched with e820.patch

  4. Boot commands:

    fix_video
    linux /vmlinuz root=/dev/sdb2 video=efifb
    initrd /initrd.img
  5. Notes:
    1. Boots ok, graphics are accelerated
    2. Console goes scrambled after X starts
    3. fixvideo must be part of the Grub2 core image, not a module

See Also

External Links


CategoryMac

MactelSupportTeam/EFI-Boot-Mactel (last edited 2013-12-14 00:26:06 by knome)