We will be creating dual boot for OS X and Linux with no special boot loader. For other setup, refer to [1]. We will keep all data on an external hard drive, so we do not need huge amount of space for the linux system. We will install from an USB thumb drive (will need at least 1GB in size), newer Minis do not have CD roms.
- Open
Disk Utilityand select the disk (not partition), clickPartition(top tool bar) - There are at least 3 partitions: EFI, OS X, Recovery. Only OS X will be shown.
- Repartition your disk as follows:
- OS X (size: ~ tens of GB, type HFS+, for OS X)
- Arch tmp (size: ~ 10 GB, FAT, will be removed later)
- Download the
.isofrom download page - Open
Terminal $ diskutil listand find out its name (let's say it is/dev/disk2)$ diskutil unmountDisk /dev/disk2to unmount the drive# dd if=/path/to/arch-linux-image.iso of=/dev/rdisk2 bs=1m(we replaceddiskwithrdiskwhich is the "raw" disk in OS X and a lot faster, it is not a typo)$ diskutil eject /dev/disk2
- Hold
Altwhile booting - Select the USB disk
- Welcome to Arch Linux installer ;-)
-
Connect to network
$ wifi-menuto setup wireless networking (assuming DHCP is available)
-
Setup time
$ timedatectl set-ntp true- Check its status
$ timedatectl status
-
Partition the drive again ;-)
# cgdisk- Remove the
Arch tmppartition we created earlier. - Remember to create 128 MB gap after OS X partitions, by typing
+128Mfor the start of the partition. - Add new
Arch bootpartition (~ 100 MB) - Add new
Arch rootpartition (fill the space) - Swap file can be created later if needed
-
Create file systems
# mkfs.ext2 /dev/<arch boot># mkfs.ext4 /dev/<arch root>
-
Mount the partitions
# mount /dev/<arch root> /mnt# mkdir /mnt/boot# mount /dev/<arch boot> /mnt/boot
-
Edit mirror list
# vim /etc/pacman.d/mirrorlistit will be used pac the next step, so take good care of it here
-
Install the base packages
# pacstrap /mnt base
-
Configure the system
# genfstab -U -p /mnt >> /mnt/etc/fstab# arch-chroot /mnt /bin/bash# echo <computer name> > /etc/hostname# ln -s /usr/share/zoneinfo/<zone>/<subzone> /etc/localtime# nano /etc/locale.genuncomment locales you want# locale-gen# echo LANG=<your_locale> > /etc/locale.conf- TODO: setup wireless networking
# mkinitcpio -p linux# passwd# pacman -S gptfdisk
# mkdir /boot/efi# mount /dev/<EFI partition># pacman -S grub efibootmgr# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch# grub-mkconfig -o /boot/grub/grub.cfg
# exitorCtrl + D# umount -R /mnt# reboot