Revive An Old Mac
How to install a 64-bit Linux OS on Mac models that require a 32-bit EFI.
Background
This project started with a old MAC I found on the street, which was thrown away by someone. It is a 2006 model with 32-bit EFI and 64-bit CPU. The problem is that the latest macOS version it can run is 10.7.5, which is too old to run most of the software I need. So I decided to install a Linux OS on it. However, the 32-bit EFI makes it impossible to install a 64-bit Linux OS. After some research, I found a way to install a 64-bit Linux OS on a 32-bit EFI Mac. The following is the procedure.
Prepare an USB Stick with 32-bit EFI and 64-bit Linux.
Insert a usb stick and find its name on Mac. The following commands are used based on the stick name disk2:
diskutil list
Write zero to the disk and quit the process after abut 10 seconds by
Ctrl+c
. Before running the following command, you may need to rundiskutil unmountDisk /dev/disk2
to avoidResource busy
error.sudo dd if=/dev/zero of=/dev/disk2
Create an EFI partition on the stick using
diskutil
, format is set toMS-DOS(FAT)
and Scheme is set toGUID Partition Map
. Then check the EFI partition identifier viadiskutil list
. Suppose its identifier is disk2s1. Note that the EFI partitin is not mounted by macOS by default so you have to manually mount it by yourself:mkdir /tmp/sdb1 sudo mount -o rw -t msdos /dev/disk2s1 /tmp/sdb1
Create some folders in the EFI partition:
sudo mkdir -p /tmp/sdb1/boot/grub/ sudo mkdir -p /tmp/sdb1/efi/boot/
Create
grub.cfg
file in/tmp/sdb1/boot/grub/
and write the following lines:search --file --set=root /boot/grub/loopback.cfg configfile /boot/grub/loopback.cfg
Download a
bootia32.efi
:wget https://github.com/jfwells/linux-asus-t100ta/raw/master/boot/bootia32.efi
Copy the
bootia32.efi
to/tmp/sdb1/efi/boot/
and then unmount the drive:sudo cp /path/to/bootia32.efi /tmp/sdb1/efi/boot/
Put the ISO image on the second partition (suppose its identifier is disk2s2). You may need to run
diskutil unmountDisk /dev/disk2
to avoidResource busy
error:sudo dd if=/path/to/lubuntu.iso of=/dev/disk2s2 bs=1M.
Install the OS.
- Insert the USB stick to the old Mac.
- Power on the machine and hold the
Alt
key until two drivers show on the screen. - Choose the EFI and press Enter.
- Wait for a couple of seconds and some texts like “Try Lubuntu…” show up, then press
e
to edit the boot options. Changequiet splash
tonomodest splash
. This is the one I use, you may change it according to your needs. For more options: boot options. - Press
f10
to save the changes and start installing.
References:
- ISO images can be found here: mattgadient.com.
- Adapt the method from Live CD on an USB Stick and adjust to the macOS environment.