Difference between revisions of "Installation guide"

From ArchWiki
Jump to: navigation, search
(User management: expand a tiny bit)
(Appendix: meh, perhaps Appendix is a silly name)
Line 107: Line 107:
Now reboot and then login into the new system with the root account.
Now reboot and then login into the new system with the root account.
== Appendix ==
== Post-installation ==
=== User management ===
=== User management ===

Revision as of 13:02, 5 March 2013

zh-CN:Installation Guide zh-TW:Installation Guide This document will guide you through the process of installing Arch Linux using the Arch Install Scripts. Before installing, you are advised to skim over the FAQ.

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.

See the Beginners' Guide for a more in-depth walk-through.


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 recommend to verify their signature before use. On Arch Linux, this can be done by 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 using a utility like dd. It is intended for new installations only; an existing Arch Linux system can always be updated with pacman -Syu.


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.

Remember to create any stacked block devices like LVM, LUKS, or RAID.

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, ...) 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 Netcfg, 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 Netcfg.

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. The base-devel package group should also be installed if you plan on compiling software from the AUR or using ABS.

# pacstrap /mnt base base-devel

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

Install a bootloader


  • For BIOS:
# arch-chroot /mnt pacman -S grub-bios
  • For EFI (in rare cases you will need grub-efi-i386 instead):
# arch-chroot /mnt pacman -S grub-efi-x86_64


# arch-chroot /mnt pacman -S syslinux

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

Next we 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
  • Set locale preferences in /etc/locale.conf.
  • Add console keymap and font preferences in /etc/vconsole.conf
  • Uncomment the selected locale in /etc/locale.gen and generate it with locale-gen.
  • Configure /etc/mkinitcpio.conf as needed (see mkinitcpio) and create an initial RAM disk with:
# mkinitcpio -p linux
  • Configure the bootloader: refer back to the appropriate article from the bootloader installation section.
  • Set a root password with passwd.

Unmount and reboot

If you are still in the chroot environment type exit or press Template:Keypress 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 as as described in User management. It isn't 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.