From ArchWiki
Revision as of 14:46, 15 February 2014 by Lahwaacz (talk | contribs) (update link(s) (avoid redirect))
Jump to: navigation, search

Draft Quick Start Guide for Arch Install

New users can quickly install and configure Arch Linux with these simple instructions. For more advanced install instructions, see the official Installation Guide.

System requirements

The target system for the Arch Linux install requires the following items:

  • A bootable USB, CD, or DVD drive.
  • An i686 or x86_64 CPU architecture.
  • A minimum of 64 MB of system RAM.
  • A hard drive with at least 1GB of disk space.

Download the Arch Linux ISO

Download the new Arch Linux ISO from the Arch Linux download page. The single ISO image supports both 32-bit and 64-bit architectures.

Create the Arch Linux installation medium

Burn the ISO image on a CD or DVD with your preferred software, or write the ISO image to bootable USB media.

Boot the installation medium

Insert the CD, DVD, or USB into the system that you plan to use for your Arch install, and reboot that system.

If your system does not boot into the Arch menu, you might have to change the boot order in your system's BIOS. To do this, press a key (usually Delete, F1, F2, F11 or F12) during the POST phase. This will take you into the BIOS settings screen where you can set the order in which the system searches for devices to boot from. Select "Save & Exit" (or your BIOS's equivalent) and the system should then complete its normal boot process.

When the Arch menu appears, select "Boot Arch Linux (x86_64)" for a 64-bit system install or "Boot Arch Linux (i686)" for a 32-bit system install. Press Enter to start the live environment. If the system boots into the live environment successfully , you are automatically logged in as root with root@archiso ~ # as the prompt.

(Draft Comments): At this point the Beginner's guide goes on to talk about troubleshooting booting. That can be an entire topic to itself, and should be contained in its own article. It is important to reference the user to that information with a link since it is very important.

Select keyboard layout

By default, the keyboard layout is set to us. If you have a non-US keyboard layout, run:

# loadkeys layout

where layout can be fr, uk, dvorak, be-latin1, etc. See the list of officially assigned code elements to look up your 2-letter country code.

If you change the keyboard layout, you can also change the font name to accommodate glyphs that are not included in the 26 letter English alphabet. The font name is case-sensitive, so please type it exactly as you see it. For example:

# setfont Lat2-Terminus16

(Draft Comments): Do we have a way for users to lookup which fonts are appropriate for their keyboard layouts and languages? The Beginner's guide doesn't cover this, and I can't find it in the Wiki.

Select the install language

Use the Nano editor to select the install language in the /etc/locale.gen file.

# nano /etc/locale.gen

Remove the # character in front of the locale that you want to use, and also remove the # character from the en_us.UTF-8 UTF-8 entry. For example, to enable the German language, remove the # from the following lines:

nano /etc/locale.gen
en_US.UTF-8 UTF-8
de_DE.UTF-8 UTF-8

(Draft Comments): The Beginner's guide seems to say that no matter which language you pick, you must also enable the en_us.UTF-8 entry. Is that true?

After you complete your changes to the /etc/locale.gen file, press Ctrl+X to exit. When you are prompted to save changes, press Y and Enter to save the file with the same filename.

Establish an internet connection

The dhcpcd network daemon starts automatically during boot and establishes a wired network connection if it is available. If you must connect to a wireless network, use the wifi-menu command to view a list of available wireless networks.

# wifi-menu

Select a wireless network from the list, and enter the security key for that network to establish a wireless connection.

After you have established a wired or wireless network connection, ping a server to verify that the connection works correctly. For example, ping Google's webservers:

# ping -c 3

If you receive an ping: unknown host error, verify that your network connection is reliable or that your wireless signal strength is stable. If you continue to receive ping: unknown host errors when you run the the ping command, you must set up the network manually with the advanced wired networking or wireless networking instructions.

Prepare the storage drive

Warning: Partitioning and formatting can destroy data. You are strongly cautioned and advised to backup any critical data before proceeding. Absolute beginners are encouraged to disconnect all storage drives on the system during the install process except for the drive where you plan to install Arch Linux. Beginners are also encouraged to use a graphical partitioning tool such as GParted, which is included on the live CDs of most Linux distributions such as Ubuntu and Linux Mint.

(Draft Comments): Is it too much to ask users to disconnect their extra storage drives? Do we see any problems with this? Some users might not be hardware savvy and could cause more problems for themselves if they tamper with the connections on their systems. I always disconnect my backup and storage drives before partitioning or formatting for an Arch install, but that doesn't necessarily mean our users should do the same.

This guide uses a GUID Partition Table (GPT) for all examples. If you prefer to replace the partition table with a Master Boot Record (MBR) or a B-tree File System (Btrfs), use the advanced partitioning instructions or the Btrfs partitioning instructions. If you must dual boot Arch Linux and a Windows operating system use the Windows and Arch Dual Boot instructions.

(Draft Comments): Is Btrfs even worth mentioning in the Beginner's guide? I used Btrfs for some of my first Arch installs just because I was curious. I suppose it's worth leaving the Btrfs reference in for users who might need that information, but I'm still on the fence about it.

Format the partitions

See File Systems for details.

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.

Mount the partitions

We now must mount the root partition on /mnt. You should also create directories for and mount any other partitions (/mnt/boot, /mnt/home, ...) and mount 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.


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 bootloader 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

Install and configure a bootloader

You can choose between GRUB or Syslinux.

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 /mnt/{boot,home,}

Now reboot and then login into the new system with the root account.


User management

Add any user accounts you require besides root, as described in User management. It is not good practice to use the root account for regular use, or expose it via SSH on a server. The root account should only be used for administrative tasks.

Package management

See pacman and FAQ#Package Management for answers regarding installing, updating, and managing packages.

Service management

Arch Linux uses systemd as init, which is a system and service manager for Linux. For maintaining your Arch Linux installation, it is a good idea to learn the basics about it. Interaction with systemd is done through the systemctl command. Read systemd#Basic systemctl usage for more information.


ALSA usually works out-of-the-box. It just needs to be unmuted. Install alsa-utils (which contains alsamixer) and follow these instructions.

ALSA is included with the kernel and it is recommended. If it does not work, OSS is a viable alternative. If you have advanced audio requirements, take a look at Sound system for an overview of various articles.

Video driver

The Linux kernel includes open-source video drivers and support for hardware accelerated framebuffers. However, userland support is required for OpenGL and 2D acceleration in X11.

If you don't know which video chipset is available on your machine, run:

$ lspci | grep VGA

For a complete list of open-source video drivers, search the package database:

$ pacman -Ss xf86-video | less

The vesa driver is a generic mode-setting driver that will work with almost every GPU, but will not provide any 2D or 3D acceleration. If a better driver cannot be found or fails to load, Xorg will fall back to vesa. To install it:

# pacman -S xf86-video-vesa

In order for video acceleration to work, and often to expose all the modes that the GPU can set, a proper video driver is required:

Brand Type Driver Multilib Package
(for 32-bit applications on Arch x86_64)
AMD/ATI Open source xf86-video-ati lib32-ati-dri ATI
Proprietary catalyst-dkms lib32-catalyst-utils AMD Catalyst
Intel Open source xf86-video-intel lib32-intel-dri Intel Graphics
Nvidia Open source xf86-video-nouveau lib32-nouveau-dri Nouveau
xf86-video-nv (legacy driver)
Proprietary nvidia lib32-nvidia-utils NVIDIA
nvidia-304xx lib32-nvidia-304xx-utils

Display server

The X Window System (commonly X11, or X) is a networking and display protocol which provides windowing on bitmap displays. It is the de-facto standard for implementating graphical user interfaces. See the Xorg article for details.

Wayland is a new display server protocol and the Weston reference implementation is available. There is very little support for it from applications at this early stage of development.


You may wish to install a set of TrueType fonts, as only unscalable bitmap fonts are included by default. DejaVu is a set of high quality, general-purpose fonts with good Unicode coverage:

# pacman -S ttf-dejavu

Refer to Font Configuration for how to configure font rendering and Fonts for font suggestions and installation instructions.