# Installation guide

This document is a guide for installing Arch Linux from the live system booted with the official installation image. Before installing, it would be advised to view the FAQ. If looking for a detailed, highly-explanatory, installation guide see the Beginners' guide, or Category:Getting and installing Arch for specific installation cases.

Most help can be found on the wiki or through the various programs' man pages; see archlinux(7) for an overview of the configuration. For interactive help, the IRC channel and the forums are also available.

## Download

Download the most recent Arch Linux installation ISO image from the Arch Linux download page: this is a hybrid image that allows booting into an x86_64 or i686 live system, depending on the system's architecture and the user's choice.

Note that no packages are included in the image: the installation process needs to retrieve them from a remote repository, therefore a working internet connection is required.

Once downloaded, verify the integrity of the image against the PGP signature (e.g. `pacman-key -v inst-image.iso.sig`) or the checksums (e.g. `md5sum inst-image.iso`) which are provided on the download page.

Finally, the image can be burned to a CD, mounted as an ISO file, or written to a USB stick.

## Pre-installation

After booting the installation image, the following steps are required to initialize the installation process.

### Set the keyboard layout

The default keyboard layout is US. Alternative keyboard layouts can be loaded with `loadkeys keymap_file`: keymap files can be found in `/usr/share/kbd/keymaps/` (path and file extension can be ommitted).

### Partition the disks

See Partitioning for details; some special partitions may be needed, see EFI System Partition and GRUB BIOS boot partition. If wanting to create any stacked block devices for LVM, disk encryption or RAID, do it now.

### Format the partitions

See File systems and optionally Swap for details.

### Mount the partitions

Mount the root partition on `/mnt`. After that, create directories for and mount any other partitions (`/mnt/boot`, `/mnt/home`, ...) and activate your swap partition if you want them to be detected later by genfstab.

### Connect to the Internet

Internet service via DHCP discovery is enabled on boot for supported wired devices; read more at Network configuration. For supported wireless devices run `wifi-menu` to set up the network; read more with Wireless network configuration. If needing a static IP or network management tools, stop the DHCP discovery service with `systemctl stop dhcpcd.service`, and read Netctl.

### Update the hardware clock

See Time.

## Installation

### Select the mirrors

Edit `/etc/pacman.d/mirrorlist` and select a download mirror(s). Regional mirrors usually work best; however, other criteria may be necessary to discern, read more on Mirrors. This copy of the `mirrorlist` file will later be copied on the new system by pacstrap, so it is worth getting it right.

### Install the base packages

Use the pacstrap script to install the base group:

    # pacstrap /mnt base

Other packages or groups can be installed by appending their names to the above command (space separated), possibly including the boot loader.

### Configure the system

Generate an fstab file (use `-U` or `-L` to define by UUID or labels):

    # genfstab -p /mnt >> /mnt/etc/fstab

Change root into the new system:

    # arch-chroot /mnt

Set the hostname:

    # echo computer_name > /etc/hostname

Set the time zone:

    # ln -sf /usr/share/zoneinfo/zone/subzone /etc/localtime

Uncomment the needed locales in `/etc/locale.gen`, then generate them with:

    # locale-gen

Set locale preferences in `/etc/locale.conf` and possibly `$HOME/.config/locale.conf`:

    # echo LANG=your_locale > /etc/locale.conf

Add console keymap and font preferences in `/etc/vconsole.conf`.

Configure the network for the newly installed environment: see Network configuration and Wireless network configuration.

Configure /etc/mkinitcpio.conf if additional features are needed. Create a new initial RAM disk with:

    # mkinitcpio -p linux

Set the root password:

    # passwd

### Install a bootloader

See Boot loaders for the available choices and configuration.

### Reboot

Exit the chroot environment by typing `exit` or pressing `Ctrl+D`.

Optionally manually unmount all the partitions with `umount -R /mnt`: this allows noticing any "busy" partitions, and finding the cause with fuser.

Finally, restart the machine by typing `reboot`: any partitions still mounted will be automatically unmounted by systemd. Remember to remove the installation media and then login into the new system with the root account.

## Post-installation

See General recommendations for system management directions and post-installation tutorials (like setting up a graphical user interface, sound or a touchpad).

For a list of applications that may be of interest, see List of applications.

Category:

- Getting and installing Arch