Installing Arch Linux on MacbookPro
These instructions could work for the most part for the regular MacBook.
You will need Arch Linux 0.8 alpha3 or newer at least since GRUB and the kernel will work fine from this version.
Arch Only System
To install Arch and replace OSX you need to change the partition table type in MacOSX from bootcamp. Download bootcamp, install and run. Change disk from GPT to MBR partition table.
Reboot, hold down the "C" key to boot from CD.
Install Arch as normal. Don't forget to set one partition as bootable.
After install you need to configure a couple of things...
Dual Boot (Arch & MacOSX)
- Install Bootcamp, resize the MacOSX partition
To install rEFIT, mount the rEFIT.dmg file (it's automatic normally).
There is an other way (refer to rEFIT documentation) but you can open a terminal then you copy /Volumes/rEFIT/efi/ to /
First you have to be root or you can use sudo. If you want to be logged as root you have to set a password for the root user typing :
sudo passwd root
To be logged as root :
Then to copy the folder to / :
cp -r /Volumes/rEFIT/efi /
To install rEFIT :
Now we can synchronized MBR with GPT partition table thanks to rEFIT so you restart your computer. You can see rEFIT, you press down key to access to the Partitioning Tool. You press y to accept.
Put your Arch Linux CD in the CD-ROM drive first then restart the computer. You can press C to boot from the CD or you can choose it in the rEFIT menu.
Now it's the typical Arch Linux installation.
At the end of the installation DO NOT install the bootloader in the MBR, but in a partition (e.g. sda3)
Make sure your "rc.conf" at least has the following modules:
MODULES=(sky2 fglrx speedstep_centrino)
For CPU scaling use the "powernowd" package.
pacman -S ati-fglrx-utils
OR you can just make the necessary changes: (ADD these to your xorg.conf, dont replace)
Configure Xorg using xorgconfig. Once done edit your "xorg.conf" and change the driver type to "fglrx".
Section "Device" Driver "fglrx" EndSection
Configure your keyboard: (make right "apple key" right ALT key)
Section "InputDevice" Option "XkbOptions" "lv3:rwin_switch" EndSection
Configure your trackpad:
Section "InputDevice" Option "Protocol" "Auto" Option "MinSpeed" "1.0" Option "MaxSpeed" "1.0" EndSection
OR you may want to use this, that emulates the MacOSX behaviour:
Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "CorePointer" Option "Device" "/dev/input/mouse1" Option "Protocol" "auto-dev" Option "LeftEdge" "60" Option "RightEdge" "900" Option "BottomEdge" "511" Option "HorizScrollDelta" "0" Option "MinSpeed" "0.4" Option "MaxSpeed" "1" Option "AccelFactor" "0.08" Option "MaxTapTime" "0" Option "TapButton1" "0" #Two Finger Scroll Option "VertTwoFingerScroll" "1" Option "HorizTwoFingerScroll" "1" EndSection
Section "Module" Load "dbe" # Double buffer extension SubSection "extmod" Option "omit xfree86-dga" # don't initialise the DGA extension EndSubSection EndSection
The airport card in the newest MacBook (PCI-ID 168c:0024) is not yet supported by Madwifi. In short: Madwifi does not yet have a version of the (binary-only) HAL (hardware-abstraction layer) for the new chipset and ETA is unknown. Workaround: If your kernel is 32-bit, you can use ndiswrapper in combination with the 32-bit windows driver for the D-Link DWA-645. It's ugly, but it works. some ubuntu users report it working with 64-bit too, albeit some have issues with WPA1/2.
Madwifi drivers work on my second generation MBP following these instructions.
Pommed handles the hotkeys and is able to adjusts the LCD backlight, sound volume, keyboard backlight or to eject the CD-ROM drive.
Pommed is in [community], there is also a GUI built on GTK (gpomme)
Suspend works most of the time (occasionally it dosn't wake up) with the latest version of pm-utils.
sudo pacman -S pm-utils
Run the following to test suspension. (Pressing the power button, plugging in a usb device, or closing/opening the lid will resume.)
To suspend on closing of laptop lid, make sure you have acpi, and acpid installed with pacman, and that the acpid daemon is running. Then edit /etc/acpi/handler.sh and change the "button/lid)" section to look like the following:
button/lid) #echo "LID switched!">/dev/tty5 if grep -q closed /proc/acpi/button/lid/LID0/state then pm-suspend fi ;;
Acpid calls the button/lid) section whenever the lid is opened or closed. If pm-suspend is just added to this section, it will suspend when the lid is opened, and when the lid is closed. Causing it to wake up, and then immediately suspend again when you open the lid. Checking to see if the lid is closed with grep and only running pm-suspend when the lid is closed fixes this issue.
I WILL get around to doing these! I promise! In the mean time I just put them here to remind me to do them.
- make package for refit (EDIT: refit is actually in [community])
- make section for isight