Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end
This page should help you setting up ArchLinux on a MacBook Pro 10,1 with Retina display. Most of the steps are the same or very similar to the regular ArchLinux installation. However, because this is very new hardware, the setup requires a few different steps. In general it is also helpful to check out also other wiki pages like the MacBook one.
Preparing for the Installation
Preparing the Hard drive
Assuming you want to have a dual boot with Mac OS X, boot into Mac OS and shrink it's partition with the Disk Utility. You can either create your Linux partition directly here, or do that later through Linux.
Getting wireless firmware
In order for the WiFi chip to work, you need to get the firmware for it. There are various ways to do so. You can juts copy it from another b43 enabled archlinux box, extract it from Broadcoms driver using b43-fwcutter or get them through the b43-firmware package in AUR. In the end you should have a folder "b43" with lots of .fw files in it.
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. When it comes to the syslinux boot loader, press [tab] to edit the entry and append "noapic" to the end to prevent a kernel panic during bootup.
After it has finished booting, enter a command line. Copy the entire folder with the firmware for your wireless card to /lib/firmware/. Now you should be able to use wpa_supplicant to connect to your WiFi network.
Run the installation wizard. When asked to partition your hard drive, create a small HFS partition. This is where you put the standalone grub package after the installation.
The rest of the installation is pretty much the same as usual. When choosing the bootloader, select grub2 and install it. Don't worry about any errors, we will create the bootable efi image on our own afterwards.
After the installation has completed, directly copy the WiFi firmware to the installed system to /tmp/install/usr/lib/firmware.
update the kernel
Best results are obtained with the 3.5 kernel. To date, you can install it from [testing] or from the AUR linux-mainline. To get keyboard backlight and Bluetooth working, apply this patch.
Install the bootloader
Edit /tmp/install/boot/grub/grub.cfg and edit the boot entry to load linux-mainline instead of the normal one. Also append "noapic" to the kernel line again.
Now cd into /tmp/install and create the grub image by calling:
grub-mkstandalone -o grub-standalone-x86_64.efi -d usr/lib/grub/x86_64-efi -O x86_64-efi -C xz boot/grub/grub.cfg
This will create file called grub-standalone-x86_64.efi which contains grub and the config file. It is important to do cd into the right directory to make it pick up the config file and put it into the right place within the image. Copy this file to the HFS partition you have created earlier. Downside of this method is that you need to repeat this step whenever you want to change the grub config.
Reboot the machine and boot into Mac OS. The HFS partition should be mounted and the grub standalone image in there. Follow the steps on this page to create the files needed to make the Apple boot loader pick up grub: http://mjg59.dreamwidth.org/7468.html. After creating the files, use "bless" on the grub image on the partition, if you want to boot automatically to Arch, append --setBoot.
After another reboot, you should be able to select your installed Arch Linux by keeping the alt button pressed while booting in case you haven't used --setBoot while blessing.
The Laptop comes with an nVidia and a Intel chip. So far I had best results with the latest beta of the nVidia driver. You can try to install nvidia-beta-all from AUR, or download the nVidia installer from their website.
Because of the integrated button, the synaptics touchpad driver caused issues for me. Installing xf86-input-mtrack and adjusting its config produced way better results.