Installing Archlinux alongside Mac OSX with Refind
Last year when I first got my Macbook Air 2013 (6,2) I immediately set off to delete Mac OSX and install a standalone Arch. I even wrote a post about it here. At that point in time I’ve never used Mac OSX and wasn’t interested in it. The problem with running an Arch only setup was that my wife would get annoyed because she couldn’t use my laptop. So this winter break I reinstalled Mavericks and upgraded it to Yosemite and set off to do a dual boot setup with Arch. My first worry was disk space. I have a 128gb ssd drive on my MBA and splitting it in half would divide my precious data space for music and movies.
This is where the Jetdrive comes into play. It fits snugly in the sdcard port and instantly gives me a share-able drive for data that can be accessed by both OSes. Watch the video below for more info.
So I split the mac partition to be approximately 60g with 60g of free space. Then download refind-bin-0.8.4.zip from the refind website. Please note for Mac users on Yosemite that 0.8.4 is the lowest version you can use for this. Mavericks and below can go ahead and use 0.8.3 if you wish. Proceed to install refind by unzipping the content and running the install.sh. I used the default settings and it worked fine.
Reboot with your archlinux usb bootable inserted and the refind menu should pop up with mac osx and the usb bootable. Boot into the arch installer.
With cgdisk I created three partitions (you can customize this to your preference):
/dev/sda4 = 128M space between mac and arch /dev/sda5 = 256M for /boot as Linux Filesystem /dev/sda6 = Rest of drive as Linux Filesystem
Then I formated and mounted:
mkfs.ext2 /dev/sda5 mkfs.ext4 /dev/sda6
mount /dev/sda6 /mnt mkdir /mnt/boot
mount /dev/sda5 /mnt/boot mkdir /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
As you can see, I mounted the ESP where refind is installed when we were in mac osx. I proceeded as normal following the beginner’s guide in the archwiki up until the chroot portion.
arch-chroot /mnt grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck --debug grub-mkconfig -o /boot/grub/grub.cfg
March 2, 2015 - Realized there was some text pasted here and there causing confusion. I’ve removed them.