# Installation guide

This document will guide you through the process of installing Arch Linux from the live system booted with the official installation image. Before installing, you are advised to skim over the FAQ. See Beginners' guide for a highly detailed, explanatory installation guide. Category:Getting and installing Arch contains several more installation guides for specific cases.

The community-maintained Arch wiki is an excellent resource and should be consulted for issues first. The IRC channel (irc://irc.freenode.net/#archlinux), and the forums are also available if the answer cannot be found elsewhere. Also, be sure to check out the `man` pages for any command you are unfamiliar with; this can usually be invoked with `man command`.

## Download

Download the new Arch Linux ISO from the Arch Linux download page.

- A single image is provided which can be booted into an i686 and x86_64 live system to install Arch Linux over the network. Media containing the [core] repository are no longer provided.
- Install images are signed and it is highly recommended to verify their signature before use: this can be done by downloading the .sig file from the download page (or one of the mirrors listed there) to the same directory as the .iso file and then using `pacman-key -v iso-file.sig`.
- The image can be burned to a CD, mounted as an ISO file, or directly written to a USB stick. It is intended for new installations only; an existing Arch Linux system can always be updated with `pacman -Syu`.

## Installation

### Keyboard layout

For many countries and keyboard types appropriate keymaps are available already, and a command like `loadkeys uk` might do what you want. More available keymap files can be found in `/usr/share/kbd/keymaps/` (you can omit the keymap path and file extension when using loadkeys).

### Partition disks

See partitioning for details.

If you want to create any stacked block devices for LVM, disk encryption or RAID, do it now.

If you are using (U)EFI you will most probably need another partition to host the UEFI System partition. Read Create an UEFI System Partition in Linux.

### Format the partitions

See File Systems and optionally Swap for details.

### Mount the partitions

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

### Connect to the internet

A DHCP service is already enabled for all available devices. If you need to setup a static IP or use management tools such as Netctl, you should stop this service first: `systemctl stop dhcpcd.service`. For more information read configuring network.

#### Wireless

Run `wifi-menu` to set up your wireless network. For details, see Wireless Setup and Netctl.

### Install the base system

Before installing, you may want to edit `/etc/pacman.d/mirrorlist` such that your preferred mirror is first. This copy of the mirrorlist will be installed on your new system by `pacstrap` as well, so it's worth getting it right.

Using the pacstrap script we install the base system.

    # pacstrap /mnt base

Other packages can be installed by appending their names to the above command (space seperated), including the boot loader if you want.

### Configure the system

- Generate an fstab with the following command (if you prefer to use UUIDs or labels, add the `-U` or `-L` option, respectively):

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

- chroot into our newly installed system:

      # arch-chroot /mnt

- Write your hostname to `/etc/hostname`.

- Symlink `/etc/localtime` to `/usr/share/zoneinfo/Zone/SubZone`. Replace `Zone` and `Subzone` to your liking. For example:

      # ln -s /usr/share/zoneinfo/Europe/Athens /etc/localtime

- Uncomment the selected locale in `/etc/locale.gen` and generate it with `locale-gen`.
- Set locale preferences in `/etc/locale.conf`.
- Add console keymap and font preferences in `/etc/vconsole.conf`
- Configure `/etc/mkinitcpio.conf` as needed (see mkinitcpio) and create an initial RAM disk with:

      # mkinitcpio -p linux

- Set a root password with `passwd`.
- Configure the network again for newly installed environment. See Network Configuration and Wireless Setup.

### Install and configure a boot loader

See Boot Loaders for the available choices.

### Unmount and reboot

If you are still in the chroot environment type `exit` or press `Ctrl+D` in order to exit. Earlier we mounted the partitions under `/mnt`. In this step we will unmount them:

    # umount -R /mnt

Now reboot 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