Instant Arch Linux on Macs & MacBooks

This will setup Arch Linux on your Mac or MacBook all from Mac OSX. No need for any USB drives or figuring out the proper network/video drivers to get your system to get up. It should install without any rebooting etc. Just launch it and enter your password twice and go about your business.

Warning: Backup your stuff or use a fresh iMac or MacBook. There are no guarantees this will work and it might leave your machine in an unusable state. I personally didn't worry about this to much as one can just reset it back to a factory restore with "⌘ + R" at startup or "option + ⌘ + R for internet recovery.

That being said. It has been designed to not write anything in case of failure. So worst case if it doesn't work you will probably be OK. Though seriously back up anything you actually want to be safe.

Will this work with your iMac or MacBook? Possibly. It worked with all the ones I tested it with. I suspect it will most likely work and even if not perfect you will be in a much better place than trying to do it by hand. I do know for a fact that I haven't set it up to work with fusion drives yet so if your drive is a fusion drive it won't work without some minor changes.

If you have any problems feel free to shoot me an email at yantis@yantis.net

Features

Installed Programs

Tested Working

Tested not working but in progress

Setup

sudo softwareupdate -i -a

If you wanted your Mac to have 100GB and Arch Linux to have the rest type this:

curl -O https://raw.githubusercontent.com/yantis/instant-archlinux-on-mac/master/mac-install.sh && mac-install.sh 100

Same as above but using Google's URL shortener:

curl -OL goo.gl/VdgxPO && sh VdgxPO 100

There is a USB option but I haven't figured out the booting on that yet. So that is a work in progress but to do that type:

curl -O https://raw.githubusercontent.com/yantis/instant-archlinux-on-mac/master/mac-install.sh && mac-install.sh USB

Breakdown (Behind the scenes)

Issues

Troubleshooting

The defaults for an HFS+ file system look like this. This script expects your "Macintosh HD" to be at disk0s2.

$ diskutil list

/dev/disk0
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:      GUID_partition_scheme                        *500.3 GB   disk0
1:                        EFI EFI                     209.7 MB   disk0s1
2:                  Apple_HFS Macintosh HD            499.4 GB   disk0s2
3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

The defaults for Core Storage look like this. This script expects "Apple_CoreStorage" to be at disk0s2.

$ diskutil list

/dev/disk0
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:      GUID_partition_scheme                        *500.3 GB   disk0
1:                        EFI EFI                     209.7 MB   disk0s1
2:          Apple_CoreStorage                         499.4 GB   disk0s2
3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:                  Apple_HFS Macintosh HD           *499.0 GB   disk1
                              Logical Volume on disk0s2
                              C3E9416F-A8DF-4E50-9BEE-87B2C538689E
                              Unencrypted

References & Resources

Mac on Archlinux

Creating/Resizing of MacOS drives

Homebrew

Docker

EXT4

EFI

VirtualBox

SquashFS

Github Pages