Installing Archlinux on Late 2015 iMac
Recently, I had to install Archlinux on an iMac … again. It has never been an easy process but it was particularly annoying this time around. Thanks Obama!
Preparing the bootable USB
This is the simple step - just plug in a USB drive and use dd
(dd = disk-destroyer).
Replace the ISO path and the device path (Note: It’s sdc
not sdc1
etc. as we want to
over-write the whole drive (including the partition tables). Also be careful with
the device path - there’s a reason it’s called disk-destroyer.
Partitioning
I wanted to keep the MAC OS so I just used the Disk Utility in MAC OS to shrink the “Fusion Drive” volume and create another partition where I would install linux. Fusion Drive is Apple talk for hybrid SSD/HDD drive. Some people have also instead destroyed the Fusion Drive and separated them out into the HDD and SSD. I am sure that works too but I didn’t try that.
rEFInd
I installed rEFInd just to make it a bit simpler to boot the USB drive in UEFI
mode. I gathered this is the way to do it from some googling. However, to install
rEFInd, you have to boot into the MAC Recovery OS because the bless
utility needs
to be run from the Recovery OS.
Boot Archlinux installer
From the rEFInd menu, select Archlinux - this will take you to yet another boot
menu with Archlinux ...
being the top boot option. Press e
to edit the kernel
boot params and append the following to the end:
All these were neccessary for me too boot (and took a long time to figure out). Probably the most annoying part of the whole process.
EDIT: It seems that just using
noapic
seems to do that trick as well. Better yet, withnolapic
, the machine is locked to 1 core but withnoapic
, the machine is able to use all the cores.
Archlinux installation
Install Archlinux as you usually would and make sure you select the right partitions from
the partitioning step. Make sure not to delete the EFI partition if dual-booting. Install
the Grub/Syslinux bootloader (and the efibootmgr
if booting through (U)EFI). Make sure to
give the right setup params to grub-install
to install EFI bootloader if using EFI.
Bless Grub
After installation was done, I booted once again into the Recovery OS to bless grub and to also set it as the default bootloader:
See here for more details.
Graphics drivers
I tried using the catalyst drivers but they seemed to not work at all. I did however stop getting errors like these when booting:
With the opensource ATI drivers (xf86-video-ati
), the errors return but at least startx
doesn’t crash and burn. It seems the catalyst drivers are missing some Xorg symbols but
unless you really want the proprietary drivers, stick with the opensource ones - they work
quite well.
Grub config
As a final step, I had to update the UUIDs for the root partition in the grub config files.
The entries it generated by default were not correct for some reason. Also, these UUIDs
are different from what the diskutil
on MAC OS shows. To get the correct UUIDs,
get to the grub shell from the grub menu after the installation is done and the machine has
rebooted and run ls -l
to list the partitions and their respective UUIDs.
Edit the boot entry for Archlinux and type in the correct UUIDs. After it has booted,
edit the /boot/grub/grub.cfg
file and enter the correct UUIDs.