A year later, I think (but can't be sure I'm remembering correctly) that I did this with Ubuntu 21.10.
- Download Ubuntu install 2. Using Rufus for Windows, write it to a USB stick
- Remove rEFInd from the old Mac
- Download bootable-CD rEFInd 2. Using Rufus for Windows, write it to a USB stick
- Download a special
bootia32.efi
- Copy it into the Ubuntu installer's
/EFI/BOOT
- Copy it into the Ubuntu installer's
- On target Mac, boot OS X:
- Mute internal speaker
- Make recovery disk
- Insert both USB sticks
- Reboot, holding down Option
- Choose "EFI Boot" for rEFInd
- Choose "bootia32.efi" for GRUB
- Choose "Install Ubuntu" from GRUB
- Install Ubuntu to the internal drive
- "Guided - use entire disk"
- Installing GRUB to
/dev/sda
will fail, no biggie
- Reboot, holding down Option
- Choose "EFI Boot" for rEFInd
- Choose "bootia32.efi" for GRUB
- In GRUB:
linux /boot/vmlinuz«tab».efi.signed root=UUID=«the UUID of the drive with /boot»
initrd /boot/initrd«tab»
- Prepare:
7.
sudo add-apt-repository ppa:detly/mactel-utils
7.sudo apt-get update
7.sudo apt-get install mactel-boot hfsprogs gdisk grub-efi-ia32
- Reformat EFI partition:
7.
sudo umount /dev/sda1 # Replace /dev/sda1 with your EFI partition node!
7.sudo gdisk /dev/sda
-d
-1
-n
-1
-<accept defaults
-AF00
-w
7.sudo mkfs.hfsplus /dev/sda1 -v Ubuntu
- Update
/etc/fstab
7. Remove any lines about/boot/efi
7.sudo bash -c 'echo $(blkid -o export -s UUID /dev/sda1) /boot/efi auto defaults 0 0 >> /etc/fstab'
- Remount EFI partition:
7.
sudo mount /boot/efi
- Install GRUB:
sudo mkdir -p "/boot/efi/EFI/$(lsb_release -ds)/"
sudo bash -c 'echo "This file is required for booting" > "/boot/efi/EFI/$(lsb_release -ds)/mach_kernel"'
sudo bash -c 'echo "This file is required for booting" > /boot/efi/mach_kernel'
sudo grub-install --target i386-efi --boot-directory=/boot --efi-directory=/boot/efi --bootloader-id="$(lsb_release -ds)"
sudo hfs-bless "/boot/efi/EFI/$(lsb_release -ds)/System/Library/CoreServices/boot.efi"
sudo update-grub
- Replace bootloader icon:
sudo apt-get install mactel-boot-logo
sudo cp /usr/share/mactel-boot-logo/ubuntu.icns /boot/efi/.VolumeIcon.icns
- Remove any old bootloader entries and set 0-second timeout:
sudo efibootmgr
sudo efibootmgr -t 0
sudo efibootmgr -b 0000 -B
sudo efibootmgr -b 0080 -B
sudo efibootmgr -o 0001
Power on, load 32-bit EFI, boot right into the internal EFI partition's GRUB.
Primary source: https://ubuntuforums.org/showthread.php?t=2287767
Secondary: https://heeris.id.au/2014/ubuntu-plus-mac-pure-efi-boot/