Installing Debian on MacBook2,1

Here's how to install Debian (jessie) on 32-bit UEFI based MacBooks (MacBook1,1 and Macbook2,1) from 2006-2007 (only tested on MacBook2,1 but MacBook1,1 should work as well).

Background

The early Intel-based white MacBooks from 2006 and 2007 came either with the 32-bit Intel Core Duo processor (MacBook1,1) or the 64-bit Intel Core 2 Duo (MacBook2,1). The firmware interface in both models is however 32-bit UEFI.

Debian installer releases for Jessie have UEFI support only in the amd64 ISO images. The UEFI bootloader in these disk images is the 64-bit version, which does not boot even in the 64-bit ?MacBook2,1 because the Apple firmware expects 32-bit EFI binaries.

This guide shows how to prepare a 32-bit EFI bootable USB drive which has the Debian installer and an i386 installation ISO image of your choice (we'll use the netboot image mini.iso in the examples) using another Debian (Jessie) system to prepare the USB drive. MacBook2,1 is also able to run 64-bit linux (amd64 architecture in Debian), but this guide will use the i386 version.

What you need

A USB drive with enough space for the ISO image of your choice. The jessie netboot requires less than 64 MB, so any old USB stick will do.

A computer already running Debian jessie, any architecture will do (i.e. you don't need another Mac running linux).

Download tools and files

Prepare the USB drive

If you already have a USB drive with a FAT32 file system and about 50 MB free space, you're set. Installing GRUB and copying the installer files does not destroy the data on the drive, but just to be sure, take backups.

If your spare drive has another partition type or file system, use fdisk to make a 'W95 FAT32' MBR partition (hex partition code 0x0b) and mkfs.vfat to clear the partition and make a new FAT32 filesystem.

Install GRUB to USB drive

if loadfont /boot/grub/fonts/unicode.pf2 ; then
    set gfxmode=800x600
    insmod efi_gop
    insmod efi_uga
    insmod video_bochs
    insmod video_cirrus
    insmod gfxterm
    insmod png
    terminal_output gfxterm
fi
linux (hd0,msdos1)/linux
initrd (hd0,msdos1)/initrd.gz
boot

Copy installer and ISO image to the USB drive

Extract the kernel and initrd from the ISO and copy them and the netboot ISO image itself to the USB stick:

Boot your MacBook with the USB drive

Insert the prepared USB drive to the MacBook and turn it on while pressing the Option (Alt) key. A nice icon with the USB logo should be shown in the boot menu. Select the icon and the installer should start.