Skip to content

Instantly share code, notes, and snippets.

@fpontef
Created September 25, 2016 15:33
Show Gist options
  • Save fpontef/0e1e3142f670c2c0bb8902a5fd13c720 to your computer and use it in GitHub Desktop.
Save fpontef/0e1e3142f670c2c0bb8902a5fd13c720 to your computer and use it in GitHub Desktop.
Installing Arch on a MacBook

Arch Linux on MacBookPro10,1

Other Arch

OSX

  1. Download Arch ISO and dd if=arch.iso of=/dev/rdisk# bs=1M
  2. Use DiskUtil to create 0. OSX partitions
    1. 128 MB DOS for boot loader
    2. empty space for Arch partitions
  3. On boot loader partition
├─ System
│   └─ Library
│       └─ CoreServices
│           ├─ SystemVersion.plist
│           └─ boot.efi
└─ mach_kernel

SystemVersion.plist

<xml version="1.0" encoding="utf-8"?>
<plist version="1.0">
<dict>
    <key>ProductBuildVersion</key>
    <string></string>
    <key>ProductName</key>
    <string>Linux</string>
    <key>ProductVersion</key>
    <string>Arch Linux</string>
</dict>
</plist>

Also, put pre-build packages on boot loader partition for access from Arch

Boot from USB

Create partitions and file system

cgdisk /dev/sda
  1. 256 MB Linux for grub
  2. root
  3. home, maybe

Then create file systems on all partitions

mkfs.ext4 /dev/sdaX

Mount partitions

# Mount root partition to /mnt
mount /dev/sda6 /mnt
mkdir /mnt/boot && mount /dev/sda5 /mnt/boot

# Mount boot loader partition to /mnt/whatever
mkdir /mnt/bootloader && mount /dev/sda4 /mnt/bootloader

# If using home partition, mount to /mnt/home
mkdir /mnt/home && mount /dev/sda7 /mnt/home

Install pre-built packages

cd /mnt/bootloader/pkg/...
pacman -U
rmmod b43 && modprobe b43

ip link # should now show WiFi interface, use it to run wifi-menu

Install Arch

pacstrap /mnt base base-devel
genfstab -p /mnt >> /mnt/etc/fstab

Edit partition params in /mnt/etc/fstab - boot: defaults,relatime,stripe=4 - root: defaults,noatime,discard,data=writeback - home: defaults,noatime,discard,data=ordered

arch-chroot /mnt /bin/bash
echo HOSTNAME > /etc/hostname

Update /etc/hosts to map 127.0.0.1 to HOSTNAME

ln -s /usr/share/zoneinfo/Europe/Stockholm /etc/localtime
hwclock --systohc --utc
useradd -m -g users -G wheel -s /bin/bash cpak && passwd cpak
visudo # uncomment wheel

Edit /etc/locale.gen; uncomment en_US.UTF-8

locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8

Create initial ramdisk

mkinitcpio -p linux

Bootloader

pacman -S grub

Edit /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet rootflags=data=writeback"

Then

grub-mkconfig -o boot/grub/grub.cfg
grub-mkstandalone -o /bootloader/System/Library/CoreServices/boot.efi -d usr/lib/grub/x86_64-efi -O x86_64-efi --compress=xz boot/grub/grub.cfg

OSX

Run Startup Disk to select boot loader partition (this seems to do all the blessing stuff for you) and reboot

Arch

Xorg

Graphics driver

Nouveau, https://wiki.archlinux.org/index.php/Nouveau

sudo pacman -S xf86-video-nouveau

or Nvidia

sudo pacman -S nvidia

nvidia-xconfig
echo "install i915 /bin/false
install intel_agp /bin/false
install intel_gtt /bin/false" > /etc/modprobe.d/video.conf

aura

curl -L -O https://aur.archlinux.org/packages/au/aura-bin/aura-bin.tar.gz
tar -zxvf aura-bin.tar.gz
cd aura-bin
makepkg -s
sudo pacman -U aura-bin*

Xorg, HID drivers and audio

sudo pacman -S xorg-server xorg-init xorg-server-utils xf86-input-synaptics acpid pulseaudio pavucontrol
systemctl enable acpid

cp /usr/share/X11/xorg.conf.d/50-synaptics.conf /etc/X11/xorg.conf.d
# edit trackpad settings, e.g. enable horizontal 2 finger scroll

sudo aura -A pa-applet-git # tray applet for volume

shell, terminal, WM and notification deamon

pacman -S zsh zsh-completions i3 xfce4-terminal dunst
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

Power saving

sudo aura -A thermald
sudo systemctl enable thermald
sudo systemctl start thermald

sudo pacman -S cpupower powertop
sudo systemctl enable cpupower
sudo systemctl start cpupower
sudo cpupower frequency-set -g powersave

# make a tuning report
sudo powertop --html=powertop.html
# open in browser and look under "tuning" tab for things to configure
# https://wiki.archlinux.org/index.php/Power_saving

https://vec.io/posts/use-arch-linux-and-xmonad-on-macbook-pro-with-retina-display https://medium.com/@PhilPlckthun/arch-linux-running-on-my-macbook-2ea525ebefe3 http://ryangehrig.com/index.php/arch-linux-on-macbook-air-2013/ http://frankshin.com/installing-archlinux-on-macbook-air-2013/ http://d.goodlad.net/articles/arch_linux_on_mba_42/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment