Preparing for the Installation

Preparing the hard drive

Assuming you want to dual boot with OS X, so you can update firmware, you have to shrink its partition with Disk Utility. You can either create a HFS+ partition now to override later, or leave it empty.

Installation

Booting the live image

Now, download the latest Archboot ISO, write it to USB, and boot from it by selecting it in the Apple boot loader by holding Alt on boot (use rEFIt if you cannot manage to select it). When it comes to the syslinux boot loader, press Tab to edit the entry and append nomodeset to fix screen corruption.

Internet

Note: You can skip this if you use the Thunderbolt or USB-to-Ethernet adapter for the installation.

Wireless

As mentioned below, broadcom-wl is sufficient if you are using the Linux mainline kernel. For custom kernels, you need to use broadcom-wl-dkms. Both are available from the AUR. The easiest way to get Wi-Fi connectivity during install is to build the package driver on a separate system using:

This will give you a package (broadcom-wl-*.pkg.tar.xz) which can be installed using pacman. Put this package on a USB drive, mount it, and install the package using

# pacman -U broadcom-wl-*.pkg.tar.xz
# modprobe wl

during install.
You may now use wifi-menu to connect to your network of choice.

Note: You need to repeat this process when you have finished your installation, for instance when booting into the system for the first time or when you have chrooted your install.

The installation

Note: Refer to the MacBook page if you do not want to have a separate partition for GRUB but rather prefer to use rEFInd (or rEFIt).

Run the installation wizard.

Tip: If you want to use the native MacBook bootloader, you need an extra partition of at least 128 MiB.

Bootloader

Using the MacBook's native EFI bootloader

This method uses the MacBook's native EFI bootloader, i.e. the one the can be reached when holding the alt-key during boot.

Note: For this method you need an extra partition of at least 128 MiB. This partition will be used by the MacBook's native bootloader to launch Arch. It also assumes that you are dual-booting OS X and Arch.

At the end of the install process we would normally install GRUB or a variation the the drive. For this method we will place a boot.efi file on an extra partition used by the MacBook's native bootloader.

Copy the boot.efi file to the <Path to extra partition>/System/Library/CoreServices/ directory. Using your editor of choice, create a SystemVersion.plist file in the CoreServices directory, which is located here:

Direct EFI booting (rEFInd)

As of August 2013, refind can automatically detect the Arch kernel, removing the need for copying the kernel into the EFI partition. Simply install refind without the EFI file system drivers [1] using the --nodrivers option [2], and enable the scan_all_linux_kernels and also_scan_dirs options in refind.conf (see link above for instructions.)

GRUB (with OS X)

Another solution is to install GRUB. Edit /tmp/install/boot/grub/grub.cfg and edit the boot entry to load Linux mainline instead of the normal one. You might want to append nomodeset to the kernel line again, at least for now.

This will create file called boot64.efi which contains GRUB and the configuration file incorporated inside. It is important to cd into the right directory to make it pick up the configuration file and put it into the right place within the image.

Copy this file to the MacBook's EFI partition. The downside of this method is that you need to repeat this step whenever you want to change the GRUB config. Reboot the machine and you should be able to select your installed Arch Linux by keeping the Alt button pressed. It should appear as EFI boot.

To generate a nicer config use: grub-mkconfig, (add in nomodeset if you are using framebuffer), remove quiet if you like the text, then to update your GRUB post-installation, do this to make the GRUB EFI file and put it in the EFI partition:

See HiDPI for information on how to tweak the system for a Retina screen.

If you are using Xfce, you will probably experience tearing in Firefox, VLC, etc. Until newer versions of xfwm support OpenGL rendering, use another compositing window manager like compton with backend = "glx".