Skip to main content

Preparations

INFO: This is a shortened version of the Arch Wiki installation guide.

Download an ISO from the Arch Linux download page, either via Torrent or HTTP from a mirror nearest to you.

Preparing install media

After you downloaded the image you need to flash it to physical media to boot your machine from it, i.e. a USB flash drive.

WARNING: All data on the USB flash drive will be lost!

Windows

On Windows you can use Balena etcher to flash ISOs to USB. Connect your USB to your computer, load the ISO you just downloaded in etcher, select the USB as target and start the flashing process. A pop-up might appear asking you to confirm to overwrite the USB flash drive.

macOS

Connect your USB flash drive to your Mac. Launch Terminal.app and determine the path of the USB flash drive:

diskutil list

This will list all drives connected to your Mac:

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         1.0 TB     disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +1.0 TB     disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD - Daten    697.5 GB   disk1s1
   2:                APFS Volume Preboot                 1.8 GB     disk1s2
   3:                APFS Volume Recovery                1.1 GB     disk1s3
   4:                APFS Volume VM                      5.4 GB     disk1s4
   5:                APFS Volume Macintosh HD            8.8 GB     disk1s5
   6:              APFS Snapshot com.apple.os.update-... 8.8 GB     disk1s5s1

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.4 GB    disk2
   1:                       0xEF                         10.4 MB    disk2s2

Look for the device with the line external. In this example it's /dev/disk2 (external, physical) with a capacity of ~16 GB.

macOS might auto-mount the drive when you connect it. Make sure to unmount it before flashing:

diskutil unmountDisk /dev/disk2

Use dd to flash the ISO image directly to your USB flash drive (adjust according to the output of diskutil list):

HINT: Note the 'r' before 'disk', which uses the raw device, which makes the transfer much faster.

ATTENTION: This command will run silently.

WARNING: This will delete all data on the device. Make sure to supply the correct target or severe data loss may occur!

sudo dd if=path/to/archlinux.iso of=/dev/rdisk2 bs=1m 

After flashing is done, macOS might complain it can't read the drive. This is expected, the drive will still be bootable.

Linux

Connect your USB flash drive to your computer.

GNOME Disk Utility

If you're on GNOME you can open the ISO image by right-clicking it and opening it with GNOME Disk Utility. Then select the inserted USB flash drive as target and click Restore.

Command line

Determine your USB flash drive's device path with lsblk:

NAME   FSTYPE   LABEL       UUID                                 MOUNTPOINT
sda
├─sda1 vfat                 C4DA-2C4D                            /boot
├─sda2 swap                 5b1564b2-2e2c-452c-bcfa-d1f572ae99f2 [SWAP]
└─sda3 ext4                 56adc99b-a61e-46af-aab7-a6d07e504652 /
sdb
└─sdb1 vfat     USB         2C4D-C4DA                            /run/user/1000/usb

Flash the ISO image to the USB flash drive with dd:

sudo dd if=path/to/archlinux.iso of=/dev/sdb bs=4M conv=fsync oflag=direct status=progress

Booting the installation medium

ATTENTION: The Arch Linux installation medium does not support Secure Boot. You will have to disable it to start the installation.

Point your system's current boot device to the USB flash drive plugged into one of the USB ports on your computer. This usually involves pressing a key during POST; F8, F12, TAB, etc. Refer to on screen instructions after turning on your computer or its manual for the exact key to press.

Once the GRUB boot manager comes up select the Arch installer medium option to be presented with the installation environment. You'll be logged in as root at a Zsh prompt.

Setting the keyboard layout

The default keyboard layout is US. To list all available keyboard layouts:

ls /usr/share/kbd/keymaps/**/*.map.gz

To change the keyboard layout pass the filename to loadkeys without the path and file extension, e.g. German:

loadkeys de-latin1

Verify boot mode

To verify the current boot mode list the efivars of the system:

ls /sys/firmware/efi/efivars

If there is output the system is running in UEFI mode. If it is empty the system is running in BIOS/CSM mode. Modern systems from the last 10 years should be able to boot in UEFI mode and should be preferred.

Establish a network connection

To verify network devices are actually available list them with ip:

To connect to a network simply connect the LAN cable for a wired network connection.

For WiFi connections use iwctl. To list available WiFi devices:

iwctl device list

To scan for available networks:

# $DEV  : the identifier of the device to use

iwctl station $DEV scan

This will not output a list of networks found. To list networks:

# $DEV  : the identifier of the device to use

iwctl station $DEV get-networks

To connecto to a network:

# $DEV  : the identifier of the device to use
# $SSID : the name of the network to connect to

iwctl station $DEV connect $SSID

If the network requires a passphrase you will be prompted to enter it.

Installing via SSH

If you want to install Arch Linux via SSH set a password for the root user of the installation environment with passwd. This doesn't have to be a sophisticated password, as it will only be valid for the runtime of the installation environment and won't carry over to the installed system.

After you've set a password connect to the installation environment:

ssh -o PreferredAuthentications=password root@archiso

Testing connection

To verify you're online ping a server on the internet of your choice, e.g.:

ping archlinux.org

Update the system time

Enable synchronization with internet time servers:

timedatectl set-ntp true