Arch Linux Handbook

3.0

a simple, lightweight survival guide

Retrieved June 10, 2012

Copyright © 2012 by Dusty Phillips

Retrieved June 10, 2012 from

http://wiki.archlinux.org/index.php/Beginners_Guide

Permission is granted to copy, distribute and/or modify

this document under the terms of the GNU Free

Documentation License, Version 1.2 or any later

version published by the Free Software Foundation;

with no Invariant Sections, no Front-Cover Texts, and

no Back-Cover Texts. A copy of the license is included

in the section entitled "GNU Free Documentation

License".

For information on this handbook, please contact Dusty

Phillips at dusty@archlinux.ca

Cover Design by Branko Vukelic

Book Design by Dusty Phillips

Printed in the United States by Amazon CreateSpace.

Designed in Canada.

EAN-13: 978-1477634943

ISBN-10: 1477634940

Table Of Contents-Table Of Contents

TABLE OF CONTENTS

Table Of Contents............................................1

Forward............................................................7

Preface............................................................11

Introduction...............................................11

License......................................................12

The Arch Way............................................12

About this guide........................................14

Preparation.....................................................15

Obtain the latest installation media ..........15

Check the integrity of the downloaded

file.........................................................16

CD installer...........................................17

Flash memory device or USB stick......17

*nix method.....................................18

Microsoft Windows method............19

Install over the network........................20

Install on a virtual machine..................20

1

Arch Linux Handbook

Boot Arch Linux installer..........................22

Boot from the media.............................22

OS system start.....................................22

Troubleshooting boot problems.......23

Changing the keymap...........................24

Documentation.....................................24

Installation.....................................................27

Select an installation source......................28

Setup network.......................................29

Set up ADSL bridging in the live

environment (optional)....................31

Setup wireless in the live environment

(optional).........................................31

Set editor...................................................40

Set clock....................................................41

Set region and timezone.......................41

Set time and date..................................41

Setting time in a Windows dual boot

setup.................................................42

Prepare hard drive.....................................43

Partitioning hard disks: General

information...........................................45

Partition type....................................45

Swap partition..................................46

Selecting a partitioning scheme.......47

How big should my partitions be?...52

Creating filesystems: General

information...........................................53

Filesystem types...............................53

2

Table Of Contents-Table Of Contents

Journaling........................................57

Option 1: Auto prepare.........................58

Option 2: Manually partition hard drives

..............................................................59

Option 3: Manually configure block

devices, filesystems, and mountpoints. 61

Select packages.........................................62

Bootloader............................................62

Package groups.....................................63

Install packages.........................................64

Configure the system................................65

Can the installer handle this more

automatically?......................................66

/etc/rc.conf............................................66

LOCALIZATION section................67

HARDWARE section......................69

NETWORKING section..................69

DAEMONS section.........................72

General information....................73

/etc/fstab...............................................74

/etc/mkinitcpio.conf..............................79

/etc/modprobe.d/modprobe.conf..........81

/etc/resolv.conf.....................................82

/etc/hosts...............................................83

/etc/locale.gen.......................................85

/etc/pacman.conf...................................86

/etc/pacman.d/mirrorlist.......................87

Root password......................................88

Done.....................................................88

3

Arch Linux Handbook

Install bootloader.......................................88

Reboot.......................................................93

Post-Installation.............................................95

Update.......................................................96

Update, Sync, and Upgrade the system

with pacman.........................................96

Get familiar with pacman.....................96

Preparation............................................97

Configure the network (if necessary)...97

Wired LAN......................................99

Wireless LAN................................100

Proxy Server..................................101

Analog Modem, ISDN, and DSL

(PPPoE).........................................101

/etc/pacman.conf.................................101

Package Repositories.....................101

AUR...............................................102

Mirrors................................................103

Choosing up-to-date mirrors..........103

Using faster mirrors.......................104

Refreshing mirror list.....................106

Update the System..............................106

Ignoring Packages..........................108

The Arch rolling release model......109

Adding a User..........................................110

Interactive method..............................110

Non-interactive method......................112

Deleting the user account...................112

More information................................113

4

Table Of Contents-Table Of Contents

Extra.............................................................115

Sudo.........................................................115

Sound.......................................................117

Graphical User Interface.........................118

Install X..............................................118

Install video driver..............................119

NVIDIA Graphics Cards................120

ATI Graphics Cards.......................121

SiS Graphics Cards........................122

Install input drivers.............................123

Configure X (Optional)......................124

Non-US keyboard..........................124

Testing X............................................125

Message bus...................................126

Start X............................................127

In case of errors.............................128

Need Help?....................................129

Install Fonts........................................130

Choose and install a graphical interface

............................................................130

Methods for starting your Graphical

Environment.......................................132

Manually........................................132

Automatically................................132

5

Forward-Forward

FORWARD

Thank you for your purchase of this third edition

of the Arch Linux Handbook. Over 800 copies of

the Handbook have been sold since I first printed

Edition One in 2009.

In the past three years, Arch Linux has gone from

being a hobby distribution to the distribution of

choice for power users and tinkerers. Things have

changed a lot since I first started using it in 2003.

I can happily run pacman -Syu these days

without worrying that my system may be down

for days. 90% of the problems I encounter are

easily solved by searching the Arch Linux Wiki,

now considered one of the highest quality

documentation resources for users of all Linux

distributions. I helped create the original Arch

Linux Wiki, and I wrote most of the original set

of articles. You'd be hard pressed to find any of

7

Arch Linux Handbook

my work in there anymore. Kudos to a wonderful

community that is truly driven to give back to the

Arch Linux project.

I take no credit for the contents of this handbook,

although I am the one to blame if you find

anything that doesn't make sense because it reads

like a link to a web page. Due to complaints about

the second edition, I have removed highlighted

hyperlinking in this edition. However, this

booklet is still nothing more than a print-

formatted version of the ever popular Arch Linux

Beginners'

Guide,

available

at

http://wiki.archlinux.org/index.php/Beginners'_Guide

Special credit for the Arch Linux Beginners'

Guide must be given to Jules Pitsker, who wrote

all of the original text and maintained it tirelessly

for many years. However, the changes introduced

since the second edition of this Handbook was

printed have largely come from numerous other

community members. This handbook is therefore

the result of a large community effort, just as the

Arch Linux Project itself.

On this, the 10 year anniversary of Arch Linux,

I'd also like to extend credit to the founder of the

distribution, Judd Vinet, and to the current head

developer, Aaron Griffin. Judd created an

amazingly simple product that works. Aaron and

his crew have managed to maintain that simplicity

8

Forward-Forward

while keeping Arch Linux on the bleeding edge of

modern technology.

I'd also like to extend a thank you to the

LibreOffice development team. The

improvements in LibreOffice since it's fork from

the ugly OpenOffice codebase have been

astronomical. I have encountered far fewer

frustrations in formatting this edition of the

handbook than all the previous books I have

designed.

If this is your first foray into the world of Arch

Linux, or of Linux in general, welcome! You are

about to become the member of an extremely

friendly community. Don't panic. Everything you

need to know is in your hands.

9

Preface-Preface

PREFACE

Introduction

Welcome. This document will guide you through

the process of installing Arch Linux: a simple, lightweight GNU/Linux distribution targeted at competent users. This guide is aimed at new Arch

users, but strives to serve as a strong reference

and informative base for all.

Before installing, you are advised to skim over

the FAQ.

Arch Linux Distribution Highlights:

• Simple design and philosophy

• All packages compiled for the i686 and

x86_64 architectures

• Rolling-release model, allowing a one-11

Arch Linux Handbook

time installation and seamless upgrades to

the latest stable versions of the installed

software

• BSD style init scripts, featuring one centralized configuration file

• mkinitcpio is a simple and dynamic

initramfs creator

• The

Pacman package manager is lightweight and agile, with a very modest

memory footprint

• The Arch Build System: A ports-like package building system, providing a

simple framework to create installable

Arch packages from source

• The Arch User Repository: offering many thousands of user contributed build scripts

and the opportunity to share your own

License

Arch Linux, pacman, documentation, and scripts

are Copyright © 2002-2007 by Judd Vinet,

Copyright © 2007-2012 by Aaron Griffin and are

licensed under the GNU General Public License

Version 2.

The Arch Way

The design principles behind Arch are aimed at

12

Preface-The Arch Way

keeping it simple.

'Simple', in this context, shall mean 'without

unnecessary additions, modifications, or

complications'. In short; an elegant, minimalist

approach.

Some thoughts to keep in mind as you consider

simplicity:

• " 'Simple' is defined from a technical

standpoint, not a usability standpoint. It is

better to be technically elegant with a

higher learning curve, than to be easy to

use and technically [inferior]." -Aaron

Griffin

• Entia non sunt multiplicanda praeter

necessitatem or "Entities should not be

multiplied unnecessarily." -Occam's razor.

The term razor refers to the act of shaving

away unnecessary complications to arrive

at the simplest explanation, method or

theory.

• "The extraordinary part of [my method]

lies in its simplicity. The height of

cultivation always runs to simplicity." -

Bruce Lee

13

Arch Linux Handbook

About this guide

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.

Note: Following this guide closely is essential

in order to successfully install a properly

configured Arch Linux system, so please read it

thoroughly. It is strongly recommended you read

each section completely before carrying out the

tasks contained.

The guide is divided into 5 main components:

• Part I: Preparation

• Part II: Installation

• Part III: Post-Installation

• Part IV: Extra

• Part V: Appendix

14

Preparation-Preparation

PREPARATION

Obtain the latest installation media

You can obtain Arch's official installation media

from here. The latest version is 2011.08.19 and

this guide pertains to the current release.

• Both the Core and the Netinstall images

provide only the necessary packages to

create an Arch Linux base system. Note

that the Base System does not include a

GUI. It is mainly comprised of the GNU

toolchain (compiler, assembler, linker,

libraries, shell, and utilities), the Linux

kernel, pacman (Arch's Package

Manager), and a few extra libraries and

modules.

• Core images facilitate both installing from

15

Arch Linux Handbook

CD and Net.

• Netinstall images are smaller and provide

no packages themselves; the entire system

is retrieved via internet.

• The Arch64 FAQ can help you choose between the 32- and 64-bit versions. The

Dual Architecture image has packages

for both architectures so you can use one

CD to install Arch on 32- and 64-bit

computers.

• Remember to download the checksum txt

files along with your chosen ISO.

Pre-release images are also available. These are

not official releases and so are not officially

supported. They should only be used if the

official installation images do not work with the

current hardware on your system and you suspect

newer images will have the appropriate drivers.

Check the integrity of the downloaded file

cd to the directory where the downloaded files

have been placed, and invoke sha1sum:

$ sha1sum --check

name_of_checksum_file.txt

This should give you an "OK" for the one you

have. (Simply ignore other lines.) If not,

16

Preparation-Obtain the latest installation media

download all files again.

The md5sum check works the same way.

CD installer

Burn the .iso image file to a CD or DVD media

with your preferred CD/DVD burner drive and

software, and continue with Boot Arch Linux

installer.

Note: The quality of optical drives, as well as

the CD media itself, vary greatly. Generally,

using a slow burn speed is recommended for

reliable burns; Some users recommend speeds

as low as 4x or 2x. If you are experiencing

unexpected behavior from the CD, try burning

at the minimum speed supported by your

system.

Flash memory device or USB stick

See the USB Installation Media page in the Arch Linux Wiki for more detailed instructions. You

can use any type of flash media from which your

BIOS will let you boot, be it a card reader or USB

port.

17

Arch Linux Handbook

*nix method

Warning: Be very careful where you send the

image ISO, as dd will obediently write to any

target you point to, even if that is your hard disk

(which could lead to potential data loss and/or

filesystem corruption).

Insert an empty or expendable flash device,

determine its path, and write the .iso to the device

with the dd program:

# dd if=archlinux-2011.08.19-''{core|

netinstall}''-''{i686|x86_64|dual}''.iso

of=/dev/sd''x'' bs=4M

where if= is the path to the .iso file and of= is

your flash device. Make sure to use /dev/sdx

and not /dev/sdx1. You will need a flash

memory device large enough to accommodate the

image.

To verify that the image was successfully written

to the flash device, make a note of the number of

records (blocks) read in and written out, then

perform the following check:

# dd if=/dev/sd''x''

count=''number_of_records''

status=noxfer | md5sum

The md5sum returned should match the md5sum

18

Preparation-Obtain the latest installation media

of the downloaded archlinux image file

(2011.08.19); they both should match the md5sum of the image as listed in the md5sums

file in the mirror distribution site. A typical run

will look like this:

Write .iso to drive

# dd if=archlinux-2011.08.19-core-

i686.iso of=/dev/sdc bs=4M

744973+0 records in

744973+0 records out

381426176 bytes (381 MB) copied,

106.611 s, 3.6 MB/s

Verify integrity:

# dd if=/dev/sdc count=744973

status=noxfer | md5sum

4850d533ddd343b80507543536258229 -

744973+0 records in

744973+0 records out

Continue with Boot Arch Linux installer

Microsoft Windows method

Download Disk Imager utility from

https://launchpad.net/win32-image-writer/

+download. Insert flash media. Start the Disk

Imager and select the image file (Disk Imager

19

Arch Linux Handbook

accepts only *.img files, so you will have to put

"*.iso" in file open dialog to select Arch

snapshot). Select the drive letter associated with

the flash drive. Click "Write".

There are also other solutions to writing bootable

ISO images to USB sticks. If you have problems with USB sticks disconnecting, try using different

USB port and/or cable.

Continue with Boot Arch Linux installer.

Install over the network

Instead of writing the boot media to a disc or

USB drive, you may alternatively boot the .iso

image over the network. This works well when

you already have a server set up. Please see the

Arch Linux Wiki for more information, and then

continue to the next section, Boot Arch Linux

installer.

Install on a virtual machine

Installing on a virtual machine is a good way to become familiar with Arch Linux and its

installation procedure without leaving your

current operating system and repartitioning the

hard drive. It will also let you keep this

Beginners' Guide open in your browser

throughout the installation. Some users may find

20

Preparation-Obtain the latest installation media

it advantageous to have an independent Arch

Linux system on a virtual drive for testing

purposes.

Examples of virtualization software are

VirtualBox, VMware, QEMU, Xen, Varch,

Parallels.

The exact procedure for preparing a virtual

machine depends on the software, but will

generally follow these steps:

1. Create the virtual disk image that will host

the operating system.

2. Properly configure the virtual machine

parameters.

3. Boot the downloaded .iso image with a

virtual CD drive.

4. Continue with Boot Arch Linux installer.

Searching the following wiki articles may be

helpful:

• Arch Linux VirtualBox Guest

• Installing Arch Linux from VirtualBox

• VirtualBox Arch Linux Guest On Physical

Drive

• Installing Arch Linux in VMware

21

Arch Linux Handbook

Boot Arch Linux installer

Tip: The memory requirement for a basic install

is 64MB of RAM.

Tip: During the process, the automatic screen

blanker may come on. If so, one can press the

Alt key to safely obtain the normal display.

Boot from the media

Insert the CD or flash media you prepared and

boot from it. You may have to change the boot

order in your computer's BIOS. To do this, you

have to press a key (usually Delete, F1, F2,

F11 or F12) during the POST (Power On Self-

Test) phase.

Main Menu: The main menu should be displayed

at this point. Select the preferred choice by using

the arrow keys to highlight your choice, and then

by pressing Enter. Menus vary slightly among

the different ISO images.

OS system start

Select "Boot Arch Linux" from the Main Menu

and press Enter in order to begin with the

installation. The system will now load and present

a shell prompt. You will be automatically logged

in as root.

22

Preparation-Boot Arch Linux installer

Note: Users seeking to perform the Arch Linux

installation remotely via an SSH connection are encouraged to make a few tweaks at this point to

enable SSH connections directly to the live CD

environment. If interested, see the Install from

SSH article.

Troubleshooting boot problems

If using an Intel video chipset and the screen goes

blank during the boot process, the problem is

likely an issue with kernel mode setting. A

possible workaround may be achieved by

rebooting and pressing Tab at the GRUB menu to

enter kernel options. At the end of the kernel line,

append the following:

i915.modeset=0

Alternatively, append:

video=SVIDEO-1:d

which (if it works) will not disable kernel mode

setting.

See the Intel article for more information.

If the screen does not go blank and the boot

process gets stuck while trying to load kernel,

press Tab to edit the kernel line and append the

23

Arch Linux Handbook

following:

acpi=off

When done making any changes to any menu

command, simply press Enter to boot with the

changes made.

Changing the keymap

If you have a non-US keyboard layout you can

interactively choose your keymap/console font

with the command:

# km

or use the loadkeys command:

# loadkeys layout

where layout is your keyboard layout such as fr

or be-latin1

Documentation

The official install guide (which is a separate

document from this unofficial beginner guide) is

conveniently available right on the live system.

To access it, change to tty2 (virtual console #2)

with Alt+F2 and log in as root. Here you can

use the less pager to page through the

24

Preparation-Boot Arch Linux installer

document:

# less

/usr/share/aif/docs/official_installatio

n_guide_en

Change back to tty1 with Alt+F1 to follow the

rest of the install process. Now you can change

back to tty2 at any time if you need to reference

the Official Guide as you progress through the

installation process.

Tip: Please note that the official guide only

covers installation and configuration of the base

system. Once that is installed, it is strongly

recommended that you reference the wiki to find

out more about post-installation considerations

and other related issues.

25

Installation-Installation

INSTALLATION

Note: If you access the Internet through an

HTTP and/or FTP proxy and will be using

DHCP to configure your network interface, you

may have to set the environment variables

http_proxy and/or ftp_proxy in the shell

before running /arch/setup as indicated

below:

export

http_proxy=http://<http_proxy_address>

:<proxy_port>

export

ftp_proxy=ftp://<ftp_proxy_address>:<p

roxy_port>

As root, run the installer script from tty1:

# /arch/setup

27

Arch Linux Handbook

You should next see the displayed Arch Linux

Installation Framework screen.

Note: In the Main Menu, after you go through

an option, when you are returned to the Main

Menu, the next option is highlighted for you.

Select an installation source

After a welcome screen, you will be prompted for

an installation source.

The Select Source dialog will ask you to select

the repositories you want to enable.

Core

If you chose the Core installer and wish to

use the packages on the CD, select core-

local. If you wish to download the packages

instead of using the ones on the CD, select

core-remote instead and, if you wish, other

remote repositories.

Warning: You may select several remote

repositories, but mind the message from

the installer: "DO NOT combine a local

repository with remote mirrors unless you

know what you're doing (this will cause

BROKEN packages)!"

Netinstall

28

Installation-Select an installation source

If using a Netinstall image, you will be able

to select only remote repositories.

If you are not sure which to use, then select 'core-

remote' with the addition of 'extra-remote' and

'community-remote'. If you are installing 64-bit Arch, you may also want 'multilib' . However, these settings will be made for the target system

later in the installation process.

Warning: You are expected to be reading the

arch-dev-public mailing list if you use the testing repositories. You should know how to

downgrade packages and chroot into your Arch install to fix breakage.

Setup network

Note: ftp.archlinux.org is throttled to 50KB/s.

You will be given a list to select an additional

FTP or HTTP mirror.

Tip: To achieve the best download speed

possible, you should choose mirrors that

preferably reside in your country, and are hosted

by hosting providers you know to be reliable

(eg. universities). Relative speed and update

status of source repository mirrors may be

29

Arch Linux Handbook

checked on the Arch Linux website.

If you chose core-local as well as remote

repositories, you will now be given the choice

either to consult remote sources only for packages

unavailable locally, or the converse.

At the next screen, select Yes to set up the

network. You shall be prompted to load ethernet

drivers manually, if desired. UDev is quite

effective at loading the required modules, so you

may assume it has already done so. You may

verify this by pressing Alt+F3 and invoking ip

addr. When done, return to tty1 by pressing

Alt+F1.

Available interfaces will be presented. If an

interface and HWaddr (HardWare address) is

listed, then your module has already been loaded.

If your interface is not listed, you may probe it

from the installer, or manually do so from another

virtual console. Select your interface to continue.

The installer will then ask if you wish to use

DHCP. Choosing "Yes" will run dhcpcd to

discover an available gateway and request an IP

address; choosing "No" will prompt you for your

static IP address, netmask, broadcast (optional),

gateway, DNS server, HTTP proxy (optional), and

FTP proxy (optional).

30

Installation-Select an installation source

Afterwards, you will be returned to the Main

Menu

Set up ADSL bridging in the live environment (optional)

(If you have a modem or router in bridge mode to

connect to your ISP)

Switch to another virtual console (Alt+F2), log

in as root and invoke:

# pppoe-setup

If everything is well configured in the end, you

can connect to your ISP with:

# pppoe-start

Return to the first virtual console (Alt+F1) and

continue with Set editor.

Setup wireless in the live environment (optional)

(If you need wireless connectivity during the

installation process)

The wireless drivers and utilities are now

available to you in the live environment of the

installation media. A good knowledge of your

wireless hardware will be of key importance to

successful configuration. Note that the following

quick-start procedure executed at this point in the

31

Arch Linux Handbook

installation will initialize your wireless hardware

for use in the live environment of the installation

media. These steps (or some other form of

wireless management) must be repeated from

the actual installed system after booting into it.

Also note that these steps are optional if wireless

connectivity is unnecessary at this point in the

installation; wireless functionality may always be

established later.

Note: The following examples use wlan0 for

the interface and linksys for the ESSID.

Remember to change these values according to

your setup.

The basic procedure will be:

• Switch to a free virtual console, e.g.:

Alt+F3

• Login as root

• (optional) Identify the wireless interface:

# lspci | grep -i net

or, if using a USB adapter:

# lsusb

• Ensure udev has loaded the driver, and

that the driver has created a usable

wireless kernel interface with

32

Installation-Select an installation source

/usr/sbin/iwconfig:

# iwconfig

lo no wireless extensions.

eth0 no wireless extensions.

wlan0 unassociated ESSID:""

Mode:Managed Channel=0

Access Point: Not-Associated

Bit Rate:0 kb/s Tx-Power=20

dBm Sensitivity=8/0

Retry limit:7 RTS thr:off

Fragment thr:off

Power Management:off

Link Quality:0 Signal level:0

Noise level:0

Rx invalid nwid:0 Rx invalid

crypt:0 Rx invalid frag:0

Tx excessive retries:0

Invalid misc:0 Missed beacon:0

wlan0 is the available wireless interface in this

example.

Note: If you do not see output similar to this,

then your wireless driver has not been loaded. If

this is the case, you must load the driver

yourself. Please see the Wireless Setup article in the Arch Linux Wiki for more detailed

information.

• Bring the interface up with:

33

Arch Linux Handbook

# ip link set wlan0 up

A small percentage of wireless chipsets also

require firmware, in addition to a corresponding

driver. If the wireless chipset requires firmware,

you are likely to receive this error when bringing

the interface up:

# ip link set wlan0 up

SIOCSIFFLAGS: No such file or directory

If unsure, invoke /usr/bin/dmesg to query

the kernel log for a firmware request from the

wireless chipset.

Example output from an Intel chipset which

requires and has requested firmware from the

kernel at boot:

$ dmesg | grep firmware

firmware: requesting iwlwifi-5000-

1.ucode

If there is no output, it may be concluded that the

system's wireless chipset does not require

firmware.

Note: Wireless chipset firmware packages (for

cards which require them) are pre-installed

34

Installation-Select an installation source

under

/lib/firmware

in the live

environment (on CD/USB stick) but must be

explicitly installed to your actual system to

provide wireless functionality after you

reboot into it! Package selection and

installation is covered later in this guide. Ensure

installation of both your wireless module and

firmware during the package selection step! See

Wireless Setup if you are unsure about the requirement of corresponding firmware

installation for your particular chipset. This is a

very common error.

• If the ESSID has been forgotten or is

unknown, use iwlist <interface>

scan to scan for nearby networks:

# iwlist wlan0 scan

Cell 01 - Address: 04:25:10:6B:7F:9D

Channel:2

Frequency:2.417 GHz

(Channel 2)

Quality=31/70

Signal level=-79 dBm

Encryption key:off

ESSID:"dlink"

Bit Rates:1 Mb/s; 2

Mb/s; 5.5 Mb/s; 11 Mb/s

Bit Rates:6 Mb/s; 9

Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s

35

Arch Linux Handbook

36 Mb/s;

48 Mb/s; 54 Mb/s

• If using WPA encryption:

Using WPA encryption requires that the key be

encrypted and stored in a file, along with the

ESSID, to be used later for connection via

wpa_supplicant. Thus, a few extra steps are

required:

For the purpose of simplifying and backup,

rename the default wpa_supplicant.conf

file:

# mv /etc/wpa_supplicant.conf

/etc/wpa_supplicant.conf.original

Using

wpa_passphrase, provide your

wireless network name and WPA key to be

encrypted

and

written

to

/etc/wpa_supplicant.conf.

The following example encrypts the key

"my_secret_passkey" of the "linksys" wireless

network, generates a new configuration file

(/etc/wpa_supplicant.conf),

and

subsequently redirects the encrypted key, writing

it to the file:

# wpa_passphrase linksys

"my_secret_passkey" >

/etc/wpa_supplicant.conf

36

Installation-Select an installation source

Note: If the above fails with a bash: event

not found error, it may be due to special

characters (e.g. !) used in your wireless network

name. In that case try the following:

# sh -c 'wpa_passphrase linksys

"my_secret_passkey" >

/etc/wpa_supplicant.conf'

And if you are still having problems because of

special characters in your network name or

passphrase, you may try the following, where

(~/mykey) is a temporary text file containing

only your passphrase:

# cat ~/mykey | wpa_passphrase linksys

> /etc/wpa_supplicant.conf

Also, for security reasons, you may want to

remove this file (~/mykey) after you setup

your (/etc/wpa_supplicant.conf) file.

Check WPA Supplicant for more information and troubleshooting.

Note: /etc/wpa_supplicant.conf is

stored in plain text format. This is not risky in

the installation environment, but when you

37

Arch Linux Handbook

reboot into your new system and reconfigure

WPA, remember to change the permissions on

/etc/wpa_supplicant.conf

(e.g.

chmod

0600

/etc/wpa_supplicant.conf to make it

readable by root only).

• Associate your wireless device with the

access point you want to use. Depending

on the encryption (none, WEP, or WPA),

the procedure may differ. You need to

know the name of the chosen wireless

network (ESSID).

Encryption

Command

iwconfig wlan0 essid

No Encryption "linksys"

iwconfig wlan0 essid

WEP w/ Hex "linksys" key

Key

"0241baf34c"

WEP w/

iwconfig wlan0 essid

ASCII

"linksys" key

passphrase

"s:pass1"

wpa_supplicant -B

-Dwext -i wlan0 -c

WPA

/etc/wpa_supplicant.co

nf

38

Installation-Select an installation source

Note: The network connection process may be

automated later by using the default Arch

network daemon, netcfg, wicd, or another network manager of your choice.

Note: If you are booting from a live

environment and have chrooted into your

regular installation, you can start

networkmanager from the commandline with

/etc/rc.d/dbus

start

and

/etc/rc.d/networkmanager start,

list available connections with nmcli con

list and use a connection with nmcli con

up id NAME where NAME is the name of the

connection.

• After utilizing the appropriate association

method outlined above, wait a few

moments and confirm you have

successfully associated to the access point

before continuing, e.g.:

# iwconfig wlan0

Output should indicate the wireless network is

associated with the interface.

• Request an IP address with

/sbin/dhcpcd <interface>, e.g.:

# dhcpcd wlan0

39

Arch Linux Handbook

• Lastly, ensure you can route using

/bin/ping:

# ping -c 3 www.google.com

PING www.l.google.com (74.125.224.146)

56(84) bytes of data.

64 bytes from 74.125.224.146: icmp_req=1

ttl=49 time=87.7 ms

64 bytes from 74.125.224.146: icmp_req=2

ttl=49 time=87.0 ms

64 bytes from 74.125.224.146: icmp_req=3

ttl=49 time=94.6 ms

--- www.l.google.com ping statistics ---

3 packets transmitted, 3 received, 0%

packet loss, time 2002ms

rtt min/avg/max/mdev =

87.052/89.812/94.634/3.430 ms

Hopefully you should have a working network

connection. For troubleshooting, check the

detailed Wireless Setup wiki page.

Return to tty1 with (Alt+F1) and continue with

Set editor.

Set editor

Now you will be asked which text editor you

want to use to modify configuration files. The

choices are nano or vi. nano is generally

40

Installation-Set editor

considered easier for beginners because its

behavior is more intuitive and resembles

graphical word processors. The keyboard arrows,

backspace, and delete keys, for example, operate

as expected. A menu for the most common

commands (eg. cut is Ctrl-k, paste is Ctrl-u,

quit is Ctrl-x) is shown at the bottom of the

nano terminal display. Please see the wiki pages

Nano and Vi for detailed instructions.

Set clock

Set region and timezone

Choose your region and timezone using the up

and down arrows or skip to a section by typing

the first letter, press enter to select.

Set time and date

Set the hardware clock mode. If this does not

match the setting of your other operating systems,

they will overwrite the time and cause clock shifts

(which can cause time drift correction to be

miscalibrated).

• UTC (recommended)

Note: Using UTC for the hardware clock does

41

Arch Linux Handbook

not mean time will be displayed in UTC in

software.

• localtime (discouraged) - Used by default

in Windows.

Warning: Using localtime may lead to several

known and unfixable bugs. However, there are

no plans to drop support for localtime.

Note: Any other value will result in the

hardware clock being left untouched (useful for

virtualization).

Setting time in a Windows dual boot setup

If you are setting up a dual-boot with Windows on

your system, you have two options:

• Recommended: Set Arch Linux to UTC

and make Windows use UTC too (a quick

registry fix is needed, see

https://help.ubuntu.com/community/Ubunt

uTime#Make_Windows_use_UTC for

instructions). Also, be sure to prevent

Windows from synchronizing the time

with the Internet, as it will make the

hardware clock use localtime again. If you

want such functionality (NTP sync), you

should use ntpd on your Arch Linux 42

Installation-Set clock

installation instead.

• Not recommended: Set Arch Linux to

localtime and later (in Configure the

system) remove hwclock from the DAEMONS array in /etc/rc.conf

(Windows will take care of hardware

clock corrections).

Prepare hard drive

Warning: Partitioning hard drives can destroy

data. You are strongly cautioned and advised to

backup your critical data if applicable.

Note: Partitioning may be performed before

initiating the Arch installation if desired, by

utilizing GParted or other available tools. If the installation drive has already been partitioned to

the required specifications, continue with

#Option 3: Manually configure block devices,

filesystems and mountpoints.

Verify current disk identities and layout by

invoking /sbin/fdisk with the -l (lower-

case L) switch.

Open another virtual console (Alt+F3) and

enter:

# fdisk -l

43

Arch Linux Handbook

Take note of the disk(s) and/or partition(s) to

utilize for the Arch installation.

Switch back to the installation script with

Alt+F1.

Select the menu entry "Prepare Hard Drive". A

list of four options is presented:

• Option 1: Auto-Prepare

This will erase the ENTIRE hard drive and set up

partitions automatically. Some customization is

available.

• Option 2: Manually Partition Hard Drives

Recommended. This option uses the cfdisk utility

and allows for the most robust and customized

partitioning. After the partitions are setup,

proceed to Option 3.

• Option 3: Manually configure block

devices, filesystems and mountpoints

You can skip directly to this option if the hard

drive has already been partitioned to your liking.

Option 3 is also the next step of disk preparation

that follows Option 2. The system will list what

filesystems and mountpoints it has found and ask

you if you wish to use them. You will be given a

choice to select the desired method of

identification, i.e. by dev, label, or uuid.

44

Installation-Prepare hard drive

• Option 4: Rollback last filesystem

changes

Reverts back to previous set of changes.

Options 1, 2, and 3 are explained in more detail

below. To understand what is involved in these

options, a short discussion on Linux partitions

and filesystems is presented next. Advanced

GNU/Linux users who are familiar and

comfortable with manual partitioning may wish to

skip down to Select packages below.

Note: If you are installing to a USB flash key,

see Installing Arch Linux on a USB key.

Partitioning hard disks: General information

Partition type

Partitioning a hard disk drive defines specific

memory storage areas. These are called partitions.

Each partition behaves as a separate disk and is

formatted with a specific filesystem type (see

below).

There are 3 types of disk partitions:

• Primary

• Extended

• Logical

45

Arch Linux Handbook

Primary partitions can be bootable and are

limited to four partitions per disk or RAID

volume. If a partitioning scheme requires more

than four partitions, an extended partition

containing logical partitions is used. Extended

partitions can be thought of as containers for

logical partitions. A hard disk can contain no

more than one extended partition. The extended

partition is also counted as a primary partition so

if the disk has an extended partition, only three

additional primary partitions are possible (i.e.

three primary partitions and one extended

partition). The number of logical partitions

residing in an extended partition is unlimited. A

system that dual boots with Windows will require

that Windows reside in a primary partition.

The customary numbering scheme is to create

primary partitions sda1 through sda3 followed

by an extended partition sda4. The logical

partitions on sda4 are numbered sda5, sda6,

etc.

Swap partition

A swap partition is a place on the drive for virtual

RAM. This allows the kernel to access disk space

for data that does not fit into physical RAM.

Historically, the general rule for swap partition

46

Installation-Prepare hard drive

size was to allocate twice the amount of physical

RAM. As computers have gained ever larger

memory capacities, this rule has become

deprecated. On machines with up to 512MB

RAM, the 2x rule is usually adequate. If a

sufficient amount of RAM (more than 1024MB)

is available, it may be possible to have a smaller

swap partition or even eliminate it. With more

than 2 GB of physical RAM, one can generally

expect good performance without a swap

partition. There is always an option to create a

swap file after the system is setup.

Note: If using suspend-to-disk (hibernate), a

swap partition at least equal in size to the

amount of physical RAM is required. Some

Arch users even recommend oversizing it

beyond the amount of physical RAM by 10-

15%, to allow for possible bad sectors.

Selecting a partitioning scheme

There are no strict rules for partitioning a hard

drive, although one may follow the general

guidance given below. A disk partitioning scheme

is determined by various issues such as desired

flexibility, speed, security, as well as the

limitations imposed by available disk space. It is

essentially personal preference. Two simple

47

Arch Linux Handbook

possibilities are: i) one partition for root and one

partition for swap or ii) just a single root partition

without swap. Read through the following

discussion and examples to understand the

benefits and tradeoffs in making the decision. If

you would like to dual boot Arch Linux and a

Windows operating system please see Windows

and Arch Dual Boot.

The following mountpoints are possible choices

for separate partitions:

/ (root)

The root directory is the top of the

hierarchy, the point where the primary

filesystem is mounted and from which all

other filesystems stem. All files and

directories appear under the root directory

/, even if they are stored on different

physical devices. The contents of the root

filesystem must be adequate to boot,

restore, recover, and/or repair the system.

Therefore, certain directories under / are

not candidates for separate partitions (see

the warning below).

Note: Support for /usr as a separate

partition is not provided by default [1]. If

you have a compelling reason for doing

so, read the /usr as a separate partition

48

Installation-Prepare hard drive

section of the Mkinitcpio wiki article.

/boot

This directory contains the kernel and

ramdisk images as well as the bootloader

configuration file and bootloader stages. It

also stores data that is used before the

kernel begins executing user-space

programs. This may include saved master

boot sectors and sector map files. This

directory is essential for booting, but is

unique in that it may still be kept on its own

optional partition.

Warning: Unlike /boot, the other

directories essential for booting must be

on the same partition as /. These essential

directories are: /bin, /etc, /lib,

/sbin and /usr [2].

/home

Provides subdirectories for each system

user. It holds miscellaneous personal data as

well as user-specific configuration files for

applications.

/tmp

Directory for programs that require

temporary storage of files such as .lck ,

49

Arch Linux Handbook

which can be used to prevent multiple

instances of their respective program until a

task is completed. Upon completion, the

.lck file will be automatically removed.

Programs must not assume that any files or

directories in /tmp are preserved between

invocations of the program and files and

directories located under /tmp will

typically be deleted whenever the system is

booted.

/var

Contains variable data such as spool

directories and files, administrative and

logging data, pacman' s cache, the ABS tree, etc. It exists to make it possible to mount

/usr as read-only. Everything that

historically went into /usr that is written

to during system operation (as opposed to

installation and software maintenance) must

reside under /var.

Note: /var contains many small files.

The choice of filesystem type (see below)

should consider this fact if a separate

partition is used.

There are several advantages for using discrete

filesystems as opposed to placing everything in

50

Installation-Prepare hard drive

one partition:

• Security: Each filesystem may be

configured in /etc/fstab as 'nosuid',

'nodev', 'noexec', 'readonly', etc.

• Stability: A user, or malfunctioning

program can completely fill a filesystem

with garbage if they have write

permissions for it. Critical programs

residing on a different filesystem remain

unaffected.

• Speed: A filesystem that gets re-written

too frequently may become fragmented.

Separate filesystems remain unaffected

and each can be defragmented separately.

Fragmentation can be avoided by ensuring

that each filesystem is never in danger of

filling up completely.

• Integrity: If one filesystem becomes

corrupted, separate filesystems remain

unharmed.

• Versatility: Sharing data across several

systems becomes more expedient when

independent filesystems are used. Separate

filesystem types may also be chosen based

upon the nature of data and usage.

51

Arch Linux Handbook

How big should my partitions be?

The size of the partitions depends on personal

preference, but the following information may be

helpful:

/boot — 100 MB

A /boot partition requires only about 100

MB.

/ — 15-20 GB

The root filesystem (/) must contain the

/usr directory, which can grow

significantly depending upon how much

software is installed. 15-20 GB should be

sufficient for most users with modern hard

disks.

/var — 8-12 GB

The /var filesystem will contain, among

other data, the ABS tree and the pacman

cache. Keeping cached packages is useful

and versatile as it provides the ability to

downgrade. As a result, /var tends to grow

in size. The pacman cache in particular will

grow as the system is expanded and

updated. It can, however, be safely cleared

if space becomes an issue. If you are using

an SSD, you may wish to locate your /var

on an HDD and keep the / and /home

partitions on your SSD to avoid needless

read/writes to the SSD. 8-12 GB on a

52

Installation-Prepare hard drive

desktop system should be sufficient for

/var, depending on how much software

will be installed. Servers tend to have

relatively larger /var filesystems.

/home — [very large]

The /home filesystem is typically where

user data, downloads, and multimedia

reside. On a desktop system, /home is

typically the largest filesystem on the drive

by a large margin. If it becomes necessary

to reinstall Arch, all the data on your

/home partition will be retained if it is

setup on its own partition.

Note: If available, an extra 25% of space added

to each filesystem will provide a cushion for

future expansion and help protect against

fragmentation.

Creating filesystems: General information

Filesystem types

Individual drive partitions can be setup using one

of the many different available filesystems. Each

has its own advantages, disadvantages, and

unique idiosyncrasies. A brief overview of

supported filesystems follows; the links are to

53

Arch Linux Handbook

wikipedia pages that provide much more

information.

1. ext2 Second Extended Filesystem is an

established, mature GNU/Linux filesystem

that is very stable. A drawback is that it

does not have journaling support (see

below) or barriers. Lack of journaling can

result in data loss in the event of a power

failure or system crash. It may also be

inconvenient for root (/) and /home

partitions because file-system checks can

take a long time. An ext2 filesystem can

be converted to ext3.

2. ext3 Third Extended Filesystem is

essentially the ext2 system with journaling

support and write barriers. It is backward

compatible with ext2, well tested, and

extremely stable.

3. ext4 Fourth Extended Filesystem is a newer filesystem that is also compatible

with ext2 and ext3. It provides support for

volumes with sizes up to 1 exabyte (i.e.

1,048,576 terabytes) and files sizes up to

16 terabytes. It increases the 32,000

subdirectory limit in ext3 to 64,000. It also

offers online defragmentation capability.

4. ReiserFS (V3) Hans Reiser's high-

performance journaling FS uses a very

54

Installation-Prepare hard drive

interesting method of data throughput

based on an unconventional and creative

algorithm. ReiserFS is touted as very fast,

especially when dealing with many small

files. ReiserFS is fast at formatting, yet

comparatively slow at mounting. Quite

mature and stable. ReiserFS (V3) is not

being actively developed at this time.

Generally regarded as a good choice for

/var.

5. JFS IBM's Journaled File System was the first filesystem to offer journaling. It

had many years of development in the

IBM AIX® operating system before being

ported to GNU/Linux. JFS makes the

smallest demand on CPU resources of any

GNU/Linux filesystem. It is very fast at

formatting, mounting, and filesystem

checks (fsck). JFS offers very good all-

around performance especially in

conjunction with the deadline I/O

scheduler. It is not as widely supported as

the ext series or ReiserFS, but still very

mature and stable.

Note: The JFS filesystem cannot be

shrunk by disk utilities such as gparted

or parted magic.

6. XFS is another early journaling filesystem

55

Arch Linux Handbook

originally developed by Silicon Graphics

for the IRIX operating system and ported

to GNU/Linux. It provides very fast

throughput on large files and filesystems

and is very fast at formatting and

mounting. Comparative benchmark testing

has shown it to be slower when dealing

with many small files. XFS is very mature

and offers online defragmentation

capability.

Note: The XFS filesystem cannot be

shrunk by disk utilities such as gparted

or parted magic.

7. vfat or Virtual File Allocation Table is technically simple and supported by

virtually all existing operating systems.

This makes it a useful format for solid-

state memory cards and a convenient way

to share data between operating systems.

VFAT supports long file names.

8. Btrfs Also known as "Better FS", Btrfs is a new filesystem with powerful features

similar to Sun/Oracle's excellent ZFS.

These include snapshots, multi-disk

striping and mirroring (software RAID

without mdadm), checksums, incremental

backup, and on-the-fly compression that

can give a significant performance boost

56

Installation-Prepare hard drive

as well as save space. As of January 2011,

Btrfs is considered unstable although it

has been merged into the mainline kernel

with an experimental status. Btrfs appears

to be the future of GNU/Linux filesystems

and is offered as a root filesystem option

in all major distribution installers.

9. nilfs2 New Implementation of a Log-structured File System was developed by

NTT. It records all data in a continuous

log-like format that is only appended to

and never overwritten. It is designed to

reduce seek times and minimize the type

of data loss that occurs after a crash with

conventional Linux filesystems.

10.Swap is the filesystem used for swap partitions.

Journaling

All the above filesystems with the exception of

ext2 use journaling. Journaling provides fault-resilience by logging changes before they are

committed to the filesystem. In the event of a

system crash or power failure, such file systems

are faster to bring back online and less likely to

become corrupted. The logging takes place in a

dedicated area of the filesystem.

Not all journaling techniques are the same. Only

57

Arch Linux Handbook

ext3 and ext4 offer data-mode journaling, which

logs both data and meta-data. Data-mode

journaling comes with a speed penalty and is not

enabled by default. The other filesystems provide

ordered-mode journaling, which only logs meta-

data. While all journaling will return a filesystem

to a valid state after a crash, data-mode journaling

offers the greatest protection against corruption

and data loss. There is a compromise in system

performance, however, because data-mode

journaling does two write operations: first to the

journal and then to the disk. The trade-off

between system speed and data safety should be

considered when choosing the filesystem type.

Option 1: Auto prepare

Auto-Prepare erases the entire drive and divides it

into the following four partitions:

• A /boot partition formatted ext2. The

default size of 100MB can be changed.

• A /swap partition of default size of

256MB (adjustable).

• Separate / and /home partitions with

adjustable sizes and filesystems. Available

filesystems include ext2, ext3, ext4,

reiserfs, xfs, jfs, vfat, nilfs2

(experimental), and btrfs (experimental).

58

Installation-Prepare hard drive

Both / and /home will have the same

filesystem type when using the Auto

Prepare option.

Be warned that Auto-Prepare will completely

format the entire hard drive. Read the warning

presented by the installer very carefully and make

sure the correct device is about to be partitioned.

If you do not wish to use the default configuration

of Auto prepare, you can setup the partitions

manually. This will be necessary if, for example,

you are configuring a dual-boot system with an

existing Windows partition. Manual partitioning

can be accomplished with Option 2 (followed by

Option 3) or by using a live media utility such as

GParted.

Option 2: Manually partition hard drives

Choosing the target disk will open cfdisk for manual partitioning (if you have an SSD drive other choices like gdisk or GNU Parted may be preferable). Its operation can be understood with

an example where four partitions are made on a

160 GB drive for root, var, swap, and home.

Following the guidelines above, the example

system will contain a 15GB root (/) partition, a

10GB /var partition, a 1GB swap partition, and

a /home partition for the remaining disk space. It

59

Arch Linux Handbook

is emphasized again that partitioning is a personal

choice and this example is only for illustration.

Choose New -> 'Primary' and enter the desired

size (15.44 GB in this example) for the root (/)

filesystem. The partition will be put at the

beginning of the disk. Select the Type and

designate it as 83 Linux. The created /

partition will appear as sda1. Thereafter select

"Bootable" to flag root as bootable. (If you have

chosen /boot to be on a separate partition, flag

this partition as bootable instead).

In a similar manner, create a second primary

partition of size 10.256 GB for /var, designating

it as Type 83 Linux. The created /var

partition will appear as sda2.

Next, create a third partition for swap. Select an

appropriate size (~1 GB here) and specify the

Type as 82 (Linux swap / Solaris).

The created swap partition will appear as sda3.

The remaining space is used to create a fourth

partition for the /home directory. Identify it as a

primary partition and set the size. Select the Type

as 83 Linux. The created /home partition will

appear as sda4.

This is how the example will look:

Name Flags Part Type FS Type

60

Installation-Prepare hard drive

[Label] Size (MB)

----------------------------------------

---------------------------------

sda1 Primary Linux

15440 #root

sda2 Primary Linux

10256 #/var

sda3 Primary Linux

swap / Solaris 1024 #swap

sda4 Primary Linux

133000 #/home

Choose Write and type yes. Beware that this

operation may destroy data on your disk. Choose

Quit to leave the partitioner.

Familiarize yourself with the various filesystems

discussed above and then proceed to Option 3.

Note: Since the latest developments of the

Linux kernel which include the libata and PATA

modules, all IDE, SATA and SCSI drives have

adopted the sd x naming scheme. This is

perfectly normal and should not be a concern.

Option 3: Manually configure block devices,

filesystems, and mountpoints

This option requires the presence of existing

partitions (generated in Option 2, for example)

and is implemented as dev, label, or UUID. The 61

Arch Linux Handbook

list of recognized partitions will be shown. Each

partition is identified with a number suffix.

Example: sda1 specifies the first partition of a

drive while sda designates the entire drive.

Format each partition with the desired filesystem

and specify the mountpoints. You can choose a

label and additional options for mkfs.

Note: If you have not created and do not need a

separate /boot partition, you may safely

ignore the warning that it does not exist.

Return to the Main Menu.

Select packages

All software packages available during

installation are from the [core] repository. They are further divided into base (i686|x86_64), and base-devel

(i686|x86_64)

groups. Package

information and brief descriptions are available

through http://www.archlinux.org/packages/

Bootloader

You will be prompted to select either GRUB or

syslinux as a bootloader.

62

Installation-Select packages

Package groups

Now select the package category:

Note: For expedience, all packages in base are selected by default. Use the space-bar to select

and de-select packages.

• base: Software packages from the [core]

repo to provide the minimal base

environment.

• base-devel: Extra tools from [core]

such as make, and automake. Most

beginners should choose to install it, as it

will likely be needed to expand your new

system. The base-devel group will be

required to install software from the Arch

User Repository.

After category selection, you will be presented

with lists of available packages, allowing you to

fine-tune your selections. Use the space bar to

select and un-select. If you are uncertain about

which additional packages to install at this point,

you can skip this step and add them later using

pacman.

Note: If connection to a wireless network is

required, remember to select and install the

wireless_tools package. Some wireless 63

Arch Linux Handbook

interfaces also need ndiswrapper and/or a specific firmware. If you plan to use WPA encryption, you will needwpa_supplicant. The

Wireless Setup wiki page will help you choose the correct packages for your wireless device.

Also strongly consider installing netcfg, which will help you set up your network connection

and profiles after you reboot into your new

system.

After selecting the desired packages, leave the

selection screen and continue to the next step,

Install Packages.

Install packages

Install Packages will install the selected packages

to your new system. If you selected local sources,

package versions from the CD-ROM/USB will be

installed. If you opted for remote sources, the

most currently available packages will be

downloaded from the Internet and installed by

pacman.

Note: In some installers, you will be asked if

you wish to keep the packages in the pacman

cache,

which

is

located

at

/var/cache/pacman/pkg. If you choose

"yes", you will have the flexibility to downgrade

64

Installation-Install packages

packages to previous versions. This is

recommended if there is sufficient drive space

available. The cache will grow over time as the

system is updated, but can be cleared as needed

using pacman

Configure the system

Tip: Closely following and understanding these

steps is of key importance to ensure a properly

configured system.

At this stage of the installation, you will configure

the primary configuration files of your Arch

Linux base system.

You will be presented with a menu including the

main configuration files for your system.

Note: It is very important at this point to edit, or

at least verify by opening, every configuration

file. The installer script relies on your input to

create these files on your installation. A

common error is to skip over these critical steps

of configuration.

65

Arch Linux Handbook

Can the installer handle this more

automatically?

Hiding the process of system configuration is in

direct opposition to The Arch Way. While it is true that recent versions of the kernel and

hardware probing tools offer excellent hardware

support and auto-configuration, Arch presents the

user all pertinent configuration files during

installation for the purposes of transparency and

system resource control. By the time you have

finished modifying these files to your

specifications, you will have learned the simple

method of manual Arch Linux system

configuration and become more familiar with the

base structure, leaving you better prepared to use

and maintain your new installation productively.

/etc/rc.conf

Arch Linux uses the file /etc/rc.conf as the

principal location for system configuration. This

one file contains a wide range of configuration

information such as timezone, keymap, kernel

modules, networking, and startup daemons. It also

contains settings that are sourced by the various

/etc/rc* files.

66

Installation-Configure the system

LOCALIZATION section

HARDWARECLOCK

Specifies whether the hardware clock,

which is synchronized on boot and on

shutdown, stores UTC time, or

localtime. See Set clock.

TIMEZONE

Specify your time zone. (All available

zones are under

/usr/share/zoneinfo/).

KEYMAP

The available keymaps are in

/usr/share/kbd/keymaps.

Please note that this setting is only

valid for your TTYs, not any

graphical window managers or X.

CONSOLEFONT

Available alternate console fonts

reside in

/usr/share/kbd/consolefon

ts/. The default (blank) is safe.

CONSOLEMAP

Defines the console map to load with

the setfont program at boot. Possible

maps are found in

/usr/share/kbd/consoletra

ns, if needed. The default (blank) is

safe.

LOCALE

67

Arch Linux Handbook

This sets your location environment,

which will be used by all i18n-aware

applications and utilities. You can get

a list of the available locales by

running locale -a from the

command line. This default is usually

fine for US English users. If you

experience problems such as alpha-

numeric characters being replaced by

squares you may want to replace

" en_US.utf8"; with " en_US".

Note: See the Locale wiki article for in-depth information.

DAEMON_LOCALE

Set to " yes" to use the daemon locale

with the environmental variable

$LOCALE. Setting to " no" will use

the C locale (default).

USECOLOR

Select " yes" if you have a color

monitor and wish to have colors in

your consoles.

Example for LOCALIZATION:

HARDWARECLOCK="UTC"

TIMEZONE="US/Eastern"

KEYMAP="us"

68

Installation-Configure the system

CONSOLEFONT=

CONSOLEMAP=

LOCALE=en_US.utf8

DAEMON_LOCALE="yes"

USECOLOR="yes"

HARDWARE section

MODULES

If you know a module is missing, it

can be specified here. For example, if

you will be using loopback

filesystems, add " loop".

Note: Normally all needed modules are

automatically loaded by udev, so you will rarely

need to add something here.

Example for HARDWARE:

# Scan hardware and load required

modules at boot

MODULES=()

NETWORKING section

HOSTNAME

Set your hostname to your liking. This

is the name of your computer.

Whatever you put here, also put it in

69

Arch Linux Handbook

/etc/hosts.

Example:

HOSTNAME="arch"

interface

Specify the ethernet interface you

want to be used for connecting to your

local network.

address

If you want to use a static IP for your

computer, specify it here. Leave this

blank for DHCP.

netmask

Optional, defaults to 255.255.255.0. If

you want to use a custom netmask,

specify it here. Leave this blank for

DHCP.

broadcast

Optional. If you want to use a custom

broadcast address, specify it here.

Leave this blank for DHCP.

gateway

If you set a static IP in "address",

enter the IP address of the default

gateway (eg. your modem/router)

here. Leave this blank for DHCP.

NETWORK_PERSIST

70

Installation-Configure the system

Setting this to "yes" will enable

graceful logouts if users are ssh'ed

into the box and the box is being

restarted or shutdown. This is required

if the root device is on NFS.

NETWORKS

This is an optional setting to be

enabled only if using the netcfg

package with optional dialog package.

Enable these netcfg profiles at boot-

up. These are useful if you happen to

need more advanced network features

than the simple network service

supports, such as multiple network

configurations (ie, laptop users).

Example with Static IP:

HOSTNAME="arch"

interface=eth0

address=192.168.1.100

netmask=255.255.255.0

broadcast=192.168.1.255

gateway=192.168.1.1

#NETWORKS=(main)

Example with Dynamic IP (DHCP):

HOSTNAME="arch"

interface=eth0

address=

netmask=

71

Arch Linux Handbook

broadcast=

gateway=

#NETWORKS=(main)

Other notes

When using a static IP, modify

/etc/resolv.conf to specify the DNS

servers of choice. Please see the section below

regarding this file.

Note: Connecting to a wireless network

automatically requires a few more steps and

may require you to set up a network manager

such as netcfg or wicd. Please see the Wireless

Setup wiki page for more information Tip: If using a non-standard MTU size (a.k.a.

jumbo frames) is desired AND the installation

machine hardware supports them, see the Jumbo

Frames wiki article for further configuration.

DAEMONS section

This array simply lists the names of those scripts

contained in /etc/rc.d/ which are to be

started during the boot process, and the order in

which they start. Asynchronous initialization by

backgrounding is also supported and useful for

speeding up boot:

72

Installation-Configure the system

DAEMONS=(network @syslog-ng netfs

@crond)

• If a script name is prefixed with a bang

(!), it is not executed.

• If a script is prefixed with an "at" symbol

(@), it shall be executed in the background;

the startup sequence will not wait for

successful completion of each daemon

before continuing to the next. (Useful for

speeding up system boot). Do not

background daemons that are needed by

other daemons. For example mpd depends

on network, therefore backgrounding

network may cause mpd to break.

• Edit this array whenever new system

services are installed, if starting them

automatically during boot is desired.

Note: This "BSD-style" init, is the Arch way of

handling what other distributions handle with

various symlinks to an /etc/init.d/

directory.

General information

The daemons line need not be changed at this time, but it is useful to explain what daemons are,

as they will be addressed later in this guide.

73

Arch Linux Handbook

A daemon is a program that runs in the background, waiting for events to occur and

offering services. A good example is a web server

that waits for a request to deliver a page (e.g.:

httpd) or an SSH server waiting for a user login

(e.g.: sshd). While these are full-featured

applications, there are also daemons whose work

is not that visible. Examples are a daemon which

writes messages into a log file (e.g. syslog,

metalog), and a daemon which provides a

graphical login (e.g.: gdm, kdm). All these

programs can be added to the daemons line and

will be started when the system boots. Useful

daemons will be presented during this guide.

Tip: All Arch daemon scripts reside under

/etc/rc.d/

/etc/fstab

The fstab (for file systems table) is part of the system configuration listing all available disks

and disk partitions, and indicating how they are to

be initialized or otherwise integrated into the

overall system's filesystem. The /etc/fstab

file is most commonly used by the mount

command. The mount command takes a

filesystem on a device, and adds it to the main

system hierarchy that you see when you use your

74

Installation-Configure the system

system.

mount -a

is called from

/etc/rc.sysinit, about 3/4 of the way

through the boot process, and reads

/etc/fstab to determine which options should

be used when mounting the specified devices

therein. If noauto is appended to a filesystem in

/etc/fstab, mount -a will not mount it at

boot.

An example of /etc/fstab:

# <file system>

<dir> <type> <options>

<dump> <pass>

tmpfs

/tmp tmpfs nodev,nosuid 0

0

UUID=0ddfbb25-9b00-4143-b458-

bc0c45de47a0 / ext4 defaults

0 1

UUID=da6e64c6-f524-4978-971e-

a3f5bd3c2c7b /var ext4 defaults

0 2

UUID=440b5c2d-9926-49ae-80fd-

8d4b129f330b none swap defaults

0 0

UUID=95783956-c4c6-4fe7-9de6-

1883a92c2cc8 /home ext4 defaults

0 2

Note: See the fstab article for more information and performance tweaks such as noatime or

75

Arch Linux Handbook

relatime.

<file system>

Describes the block device or remote

filesystem to be mounted. For regular

mounts, this field will contain a link to a

block device node (as created by mknod

which is called by udev at boot) for the

device to be mounted; for instance,

/dev/cdrom or /dev/sda1.

Note: If your system has more than one

hard drive, the installer will default to

using UUID rather than the sd x naming

scheme, for consistent device mapping.

Utilizing UUID has several advantages and may also be preferred to avoid

issues if hard disks are added to the

system in the future. Due to active

developments in the kernel and also udev,

the ordering in which drivers for storage

controllers are loaded may change

randomly, yielding an unbootable

system/kernel panic. Nearly every

motherboard has several controllers

(onboard SATA, onboard IDE), and due to

the aforementioned development updates,

/dev/sda may become /dev/sdb on

the next reboot. For more information, see

76

Installation-Configure the system

the Persistent block device naming wiki article.

<dir>

Describes the mount point for the

filesystem. For swap partitions, this field

should be specified as none (swap

partitions are not actually mounted).

<type>

Describes the type of the filesystem. The

Linux kernel supports many filesystem

types. (For the filesystems currently

supported by the running kernel, see

/proc/filesystems). An entry swap

denotes a file or partition to be used for

swapping. An entry ignore causes the line

to be ignored. This is useful to show disk

partitions which are currently unused.

<options>

Describes the mount options associated

with the filesystem. It is formatted as a

comma-separated list of options with no

intervening spaces. It contains at least the

type of mount plus any additional options

appropriate to the filesystem type. For

documentation on the available options for

77

Arch Linux Handbook

non-nfs file systems, see mount(8).

<dump>

Used by the dump(8) command to

determine which filesystems are to be

dumped. dump is a backup utility. If the

fifth field is not present, a value of zero is

returned and dump will assume that the

filesystem does not need to be backed up.

Note that dump is not installed by default.

<pass>

Used by the fsck(8) program to

determine the order in which filesystem

checks are done at boot time. The root

filesystem should have the highest priority

with <pass> of 1, and other filesystems

you want to have checked should have a

<pass> of 2. Filesystems with 0 <pass>

will not be checked. Filesystems within a

drive will be checked sequentially, but

filesystems on different drives will be

checked at the same time to utilize

parallelism available in the hardware. If the

sixth field is not present or zero, a value of

zero is returned and fsck will assume that

the filesystem does not need to be checked.

• For more information, see fstab.

78

Installation-Configure the system

/etc/mkinitcpio.conf

Note: Most users will not need to modify this

file at this time, but please read the following

explanatory information.

This file allows further fine-tuning, through

mkinitcpio, of the initial ram filesystem, or initramfs, (also historically referred to as the

initial ramdisk or "initrd") for your system. The

initramfs is a gzipped image that is read by the

kernel during boot. The purpose of the initramfs

is to bootstrap the system to the point where it can

access the root filesystem. This means it has to

load any modules that are required for devices

like IDE, SCSI, or SATA drives (or USB/FW, if

you are booting from a USB/FW drive). Once the

initrramfs loads the proper modules, either

manually or through udev, it passes control to the

kernel and your boot continues. For this reason,

the initramfs only needs to contain the modules

necessary to access the root filesystem. It does not

need to contain every module you would ever

want to use. The majority of common kernel

modules will be loaded later on by udev, during

the init process.

mkinitcpio is the next generation of initramfs

creation. It has many advantages over the old

mkinitrd and mkinitramfs scripts.

79

Arch Linux Handbook

• It uses glibc and busybox to provide a

small and lightweight base for early

userspace.

• It can use udev for hardware autodetection

at runtime, thus preventing numerous

unnecessary modules from being loaded.

• Its hook-based init script is easily

extendable with custom hooks, which can

easily be included in pacman packages

without having to modifiy mkinitcpio

itself.

• It already supports lvm2, dm-crypt for

both legacy and luks volumes, raid,

swsusp and TuxOnIce resuming and

booting from usb mass storage devices.

• Many features can be configured from the

kernel command line without having to

rebuild the image.

• The mkinitcpio script makes it possible to

include the image in a kernel, thus making

a self-contained kernel image is possible.

• Its flexibility makes recompiling a kernel

unnecessary in many cases.

If using RAID or LVM on the root filesystem, the

appropriate HOOKS must be configured. See the

wiki pages for LVM/RAID and Configuring

mkinitcpio for more information. If using a non-US keyboard. add the keymap hook to load your

80

Installation-Configure the system

local keymap during boot. Add the usbinput

hook if using a USB keyboard (otherwise, if boot

fails for some reason you will be asked to enter

root's password for system maintenance but will

be unable to do so). Remember to add the usb

hook when installing arch on an external hard

drive, Compact Flash, or SD card, which is

connected via usb, and it is also a good idea to

add the fsck hook that provides file system

checks during boots e.g.:

HOOKS="base udev autodetect pata scsi

sata usb filesystems keymap usbinput

fsck"

If you need support for booting from USB

devices, FireWire devices, PCMCIA devices,

NFS shares, software RAID arrays, LVM2

volumes, encrypted volumes, or DSDT support,

configure your HOOKS accordingly.

/etc/modprobe.d/modprobe.conf

This file can be used to set special configuration

options for the kernel modules. It is unnecessary

to configure this file in the example. The article

on kernel modules has more information.

81

Arch Linux Handbook

/etc/resolv.conf

Note: If you are using DHCP, you may safely

ignore this file, as by default, it will be

dynamically created and destroyed by the

dhcpcd daemon. You may change this default

behavior if you wish. See the network and

resolv.conf pages in the Arch Linux Wiki for more information.

The resolver is a set of routines in the C library

that provide access to the Internet Domain Name

System (DNS). One of the main functions of DNS

is to translate domain names into IP addresses, to

make the Web a friendlier place. The resolver

configuration file, or /etc/resolv.conf,

contains information that is read by the resolver

routines the first time they are invoked by a

process.

If you use a static IP, set your DNS servers in

/etc/resolv.conf

(nameserver <ip-

address>). You may have as many as you wish.

An example, using OpenDNS:

nameserver 208.67.222.222

nameserver 208.67.220.220

If you are using a router, you may specify your

DNS servers in the router itself, and merely point

82

Installation-Configure the system

to it from your /etc/resolv.conf, using

your router's IP (which is also your gateway from

/etc/rc.conf). Example:

nameserver 192.168.1.1

If using DHCP, you may also specify your DNS

servers in the router, or allow automatic

assignment from your ISP, if your ISP is so

equipped.

/etc/hosts

This file associates IP addresses with hostnames

and aliases. Each host is represented by a single

line.

<IP-address> <hostname> [aliases...]

Add your hostname, coinciding with the one

specified in /etc/rc.conf, as an alias, so that

it looks like this:

127.0.0.1 localhost.localdomain

localhost yourhostname

::1 localhost.localdomain

localhost yourhostname

Note: ::1 is the IPv6 equivalent of 127.0.0.1

Warning: This format, including the

"localhost" and your actual host name, is

83

Arch Linux Handbook

required for program compatibility! So, if you

have named your computer "arch", then that line

above should look like this:

127.0.0.1 localhost.localdomain

localhost arch

Errors in this entry may cause poor network

performance and/or certain programs to open

very slowly, or not work at all. This is a very

common error for beginners.

Note: Recent versions of the Arch Linux

Installer automatically add your hostname to

this file once you edit /etc/rc.conf with

such information. If, for whatever reason, this is

not the case, you may add it yourself with the

given instructions.

If you use a static IP, add another line using the

syntax: <static-IP> <hostname.domainname.org>

<hostname> e.g.:

192.168.1.100 yourhostname.domain.org

yourhostname

Tip: For convenience, you may also use

/etc/hosts aliases for hosts on your

network, and/or on the Web, e.g.:

84

Installation-Configure the system

192.168.1.90 media

192.168.1.88 data

The above example would allow you access a

media and data server on your network by name

and without the need for typing out their

respective IP addresses.

/etc/locale.gen

The /usr/sbin/locale-gen command

reads from /etc/locale.gen to generate

specific locales. They can then be used by glibc

and any other locale-aware program or library for

rendering text, correctly displaying regional

monetary values, time and date formats,

alphabetic idiosyncrasies, and other locale-

specific standards.

By default /etc/locale.gen is an empty file

with commented documentation. Once edited, the

file remains untouched. locale-gen runs on

every glibc upgrade, generating all the locales

specified in /etc/locale.gen.

Choose the locale(s) you need by removing the #

in front of the lines you want, e.g.:

en_US ISO-8859-1

en_US.UTF-8

85

Arch Linux Handbook

The installer will now run the locale-gen script,

which will generate the locales you specified. You

may change your locale in the future by editing

/etc/locale.gen and subsequently running

locale-gen as root.

Note: If you fail to choose your locale, this will

lead to a "The current locale is invalid..." error.

This is perhaps the most common mistake by

new Arch users.

/etc/pacman.conf

pacman

will

attempt

to

read

/etc/pacman.conf each time it is invoked.

This configuration file is divided into sections, or

repositories. Each section defines a package

repository that pacman can use when searching for packages. The exception to this is the

options section, which defines global options.

Enable all desired repositories by removing the #

in front of the 'Include =' and '[repository]' lines.

Note:

• The defaults should work, so modifying

at this point may be unnecessary, but

verification is always recommended.

Further info available in the Official

86

Installation-Configure the system

Repositories wiki article.

• If you are using a 64-bit installation, you

should consider enabling the multilib

repository to allow access to 32-bit

software. All 32-bit software is in the

multilib repository for 64-bit

installations. Enabling multilib is not

necessary for proper functioning, but it

must be enabled to access 32-bit

software.

• When choosing repos, be sure to

uncomment both the repository header

lines in [brackets] as well as the 'Include

=' lines. Failure to do so will result in the

selected repository being omitted! This is

a very common error.

/etc/pacman.d/mirrorlist

Mirror sites are Internet locations where exact

copies of data reside. Multiple mirrors provide

reliability, redundancy, and allow for faster data

transfer depending on geographic location. Closer

sites generally give faster data rates. Choose a

mirror repository for pacman by uncommenting

the desired mirror locations in this file.

Remember that ftp.archlinux.org is throttled,

limiting downloads to 50 kB/s. Read the Mirrors

87

Arch Linux Handbook

wiki page for more details about setting up

pacman mirrors. Note that the mirrors chosen

here will carry over into your installation.

Root password

Finally, set a root password and make sure that

you remember it later. Return to the Main Menu

and continue with Installing Bootloader.

Done

When you select "Done", the system will rebuild

the images and put you back to the Main Menu.

This may take some time.

Install bootloader

Note: If you already have an installed distro that

you intend to keep with a bootloader such as

GRUB or GRUB2, you may choose to skip this

step and instead run update-grub in the

existing distro after installation

Because we have no secondary operating system

in our example, we will need a bootloader. GRUB

(GRand Unified Bootloader) will be used in the

following examples. Alternatively, you may

choose LILO, Syslinux or GRUB2. Please see the related wiki and documentation pages if you

88

Installation-Install bootloader

choose to use a bootloader other than GRUB.

The provided

GRUB

configuration

(/boot/grub/menu.lst) should be

sufficient, but verify its contents to ensure

accuracy (specifically, ensure that the root (/)

partition is specified on line 3, gladly by UUID).

You may want to alter the resolution of the

console by adding a vga=<number> kernel

argument corresponding to your desired virtual

console resolution. (A table of resolutions and the

corresponding numbers is printed in the

menu.lst.)

Explanation:

title

A printed menu selection. "Arch Linux

(Main)" will be printed on the screen as a

menu selection.

root

GRUB' s root; the drive and partition where

the kernel (/boot) resides, according to

system BIOS. (More accurately, where

GRUB's stage2 file resides). NOT

necessarily the root (/) file system, as they

can reside on separate partitions. GRUB's

numbering scheme starts at 0, and uses an

hd x,x format regardless of IDE or SATA,

and enclosed within parentheses. The

89

Arch Linux Handbook

example indicates that /boot is on the first

partition of the first drive, according to the

BIOS, so (hd0,0).

kernel

This line specifies:

• The path and filename of the kernel

relative to GRUB's root. In the

example, /boot is merely a

directory residing on the same

partition as / and vmlinuz-linux is

the kernel filename;

/boot/vmlinuz-linux. If

/boot were on a separate partition,

the path and filename would be

simply /vmlinuz-linux, being

relative to GRUB' s root.

• The root= argument to the kernel

statement specifies the partition

containing the root (/) directory in

the booted system, (more accurately,

the partition containing

/sbin/init). An easy way to

distinguish the 2 appearances of

"root" in

/boot/grub/menu.lst is to

remember that the first root

statement informs GRUB where the

kernel resides, whereas the second

90

Installation-Install bootloader

root= kernel argument tells the

kernel where the root filesystem (/)

resides.

• Kernel options: In our example, ro

mounts the filesystem as read-only

during startup, which is usually a

safe default; you may wish to

change this in case it causes

problems booting. quiet sets the

default kernel log level so that all

messages during boot are suppressed

except serious ones. Depending on

hardware, rootdelay=8 may need to

be added to the kernel options in

order to be able to boot from an

external usb hard drive.

initrd

The path and filename of the initial RAM

filesystem relative to GRUB' s root. Again,

in the example, /boot is merely a

directory residing on the same partition as /

and initramfs-linux.img is the initrd

filename; /boot/initramfs-

linux.img. If /boot were on a separate

partition, the path and filename would be

simply /initramfs-linux.img, being relative

to GRUB' s root.

91

Arch Linux Handbook

Example:

title Arch Linux (Main)

root (hd0,0)

kernel /boot/vmlinuz-linux

root=/dev/sda1 ro quiet

initrd /boot/initramfs-linux.img

Example for /boot on a separate partition:

title Arch Linux (Main)

root (hd0,0)

kernel /vmlinuz-linux root=/dev/sda3 ro

quiet

initrd /initramfs-linux.img

Install the GRUB bootloader to the Master Boot Record (/dev/sda in our example).

Note: Arch Linux installers prior to the

2011.08.19 release included an option to install

the bootloader to either a partition or the MBR.

This option has been removed and so it is no

longer possible to install the bootloader to a

partition using AIF (see FS#25726). If you wish to install the bootloader to a partition boot

record, simply exit AIF without invoking the

"Install bootloader" step and install the

bootloader manually.

92

Installation-Reboot

Reboot

That is it; You have configured and installed your

Arch Linux base system. Exit the install, and

reboot:

# reboot

Tip: Be sure to remove the installation media

and perhaps change the boot preference in your

BIOS; otherwise you may boot back into the

installation!

93

Post-Installation-Post-Installation

POST-INSTALLATION

Congratulations, and welcome to your new

Arch Linux system!

Your new Arch Linux base system is now a

functional GNU/Linux environment ready for

customization. From here, you may build this

elegant set of tools into whatever you wish or

require for your purposes.

Login with the root account. We will configure

pacman and update the system as root.

Note: Virtual consoles 1-6 are available. You

may switch between them with Alt+F1...F6

95

Arch Linux Handbook

Update

Update, Sync, and Upgrade the system with

pacman

Now we will update the system using pacman.

Pacman is the package manager of Arch Linux. It

manages your entire package system and handles

installation, removal, package downgrade

(through cache), custom compiled package

handling, automatic dependency resolution,

remote and local searches and much more.

Pacman will now be used to download software

packages from remote repositories and install

them onto your system.

Note: If you installed via a Netinstall, many, if

not all, of your packages will already be up to

date. However, it is still advisable to run through

this update process.

Get familiar with pacman

Pacman is the Arch user's best friend. It is highly

recommended to study and learn how to use the

pacman tool. Try:

$ man pacman

96

Post-Installation-Update

Tip: If you find the lines of text to be too long

and going all the way across your screen, you

can export the $MANWIDTH environment

variable:

# export MANWIDTH=80

For more information, have a look at the pacman

wiki entry at your own leisure, or check out the

pacman rosetta entry for a comparison to other popular package managers.

Preparation

You will need to temporarily edit the

/etc/pacman.conf file and set SigLevel

to Never, this will disable the signature check of

the packages. And ignore warnings suggesting

you to upgrade pacman.

After completing the installation of the system,

you should read the Pacman-key wiki article, for information on how to enable the verification of

signatures of the packages.

Configure the network (if necessary)

If you properly configured your system, you

should have a working network. Try to ping

97

Arch Linux Handbook

example.com to verify:

$ ping -c 3 example.com

PING example.com (192.0.43.10) 56(84)

bytes of data.

64 bytes from 43-10.any.icann.org

(192.0.43.10): icmp_req=1 ttl=248

time=25.6 ms

64 bytes from 43-10.any.icann.org

(192.0.43.10): icmp_req=2 ttl=248

time=22.9 ms

64 bytes from 43-10.any.icann.org

(192.0.43.10): icmp_req=3 ttl=248

time=23.6 ms

--- example.com ping statistics ---

3 packets transmitted, 3 received, 0%

packet loss, time 2003ms

rtt min/avg/max/mdev =

22.912/24.062/25.632/1.156 ms

If you have successfully established a network

connection, continue with Update, Sync, and

Upgrade the system with pacman.

If three attempts to ping example.com produce an

"unknown host" error, then your network is not

properly configured. Troubleshoot by checking

the following files for integrity and proper

settings:

/etc/rc.conf - Check your HOSTNAME and

98

Post-Installation-Update

NETWORKING section for typos and errors.

/etc/hosts - Check for format errors and

typos.

/etc/resolv.conf - Check this only if you

are using a static IP. If you are using DHCP, this

file will be dynamically created and destroyed by

default.

Tip: Advanced instructions for configuring the

network can be found in the Network wiki article.

Wired LAN

Check your Ethernet with

$ ip addr

All interfaces will be listed. You should see an

entry for eth0, or perhaps eth1. These

examples will use eth0.

Static IP

If required, you can set a new static IP with:

# ip addr add <ip>/<netmask> dev

<interface>

and the default gateway with

# ip route add default via <ip>

99

Arch Linux Handbook

Verify that /etc/resolv.conf contains your

DNS server and add it if it is missing. Check your

network again with

ping -c 3

www.google.com. If everything is working

now, adjust /etc/rc.conf as described above

for static IP.

DHCP

If you have a DHCP server/router in your network

try:

# dhcpcd eth0

If this is working, adjust /etc/rc.conf as

described above, for dynamic IP.

Wireless LAN

Please see Wireless Quickstart For the Live

Environment section earlier in this handbook for details on connecting to a wireless network.

Although you are no longer running off the

installation media, the commands are the same as

long as you installed all related wireless packages

during package selection. Remember, your

wireless device may need firmware in order to

operate. For troubleshooting, check the detailed

Wireless Setup wiki page.

100

Post-Installation-Update

Proxy Server

If you are behind a proxy server, edit

/etc/wgetrc and set http_proxy and

ftp_proxy in it.

Analog Modem, ISDN, and DSL (PPPoE)

See Internet Access for detailed instructions.

/etc/pacman.conf

To make any changes to your repository

selections or pacman options, edit

/etc/pacman.conf.

Repositories are described below; enable all

desired repositories by removing the # in front of

the 'Include =' and '[repository]' lines.

Note: When choosing repos, be sure to

uncomment both the repository header lines in

[brackets] as well as the 'Include =' lines. Failure

to do so will result in the selected repository

being omitted! This is a very common error.

Package Repositories

A software repository is a storage location from which software packages may be retrieved and

installed on a computer. Arch Linux package

101

Arch Linux Handbook

maintainers (developers and Trusted Users)

maintain a number of official repositories

containing software packages for essential and

popular software, readily accessible via pacman.

This article outlines those officially-supported

repositories. See the Official Repositories wiki article for more information including details

about the purpose of each repository.

Most people will want to use [core], [extra] and

[community]. If you want to run 32-bit

applications on Arch x86_64, enable the

[multilib] repository by adding the lines below to

/etc/pacman.conf:

[multilib]

Include = /etc/pacman.d/mirrorlist

AUR

The Arch User Repository (AUR) holds the

[community] and [unsupported] branches. Unlike

the other branches, [unsupported] contains no

binary packages and cannot (by design) be

accessed directly by pacman. This branch is a

collection of PKGBUILD bash scripts written by Arch users to build packages from source using

the Arch Build System. Software in [unsupported]

is generally not available in the other branches.

When an [unsupported] package acquires enough

102

Post-Installation-Update

popular votes, it may be moved to the

[community] binary repository if one of the

Trusted Users is willing to adopt and maintain it there.

Note: There are a number of pacman wrappers

(see the AUR Helpers wiki article) available that provide seamless access to the AUR.

Mirrors

Arch packages are stored on multiple servers

across the world. Selected mirrors are listed in

/etc/pacman.d/mirrorlist, ordered by

priority.

Initially

/etc/pacman.d/mirrorlist contains list

of all known mirrors, some of which should be

enabled to proceed any further.

Note: If your installation medium is old, your

mirrorlist might be outdated, which might lead

to problems when updating Arch Linux with

pacman (see FS#22510). Therefore it is advised to obtain the latest mirror information as

described below.

Choosing up-to-date mirrors

The Arch Linux MirrorStatus page, linked on the Arch Linux home page reports various aspects

103

Arch Linux Handbook

about the mirrors such as network problems with

mirrors, data collection problems, the last time

mirrors have been synced, etc. Mirrorlist

Generator uses this information to automatically

rank mirrors close to your location by how up-to-

date they are. Generated list can be simply

inserted in /etc/pacman.d/mirrorlist.

You obviously can uncomment other mirrors

based on your own guesses (remove the '#' in

front of entry to uncomment it).

Using faster mirrors

To sort mirrors in the mirror list by speed one

may use rankmirrors. rankmirrors is a bash script which will attempt to detect uncommented

mirrors

specified

in

/etc/pacman.d/mirrorlist which are

closest to the installation machine based on

latency. Faster mirrors will dramatically improve

pacman performance, and the overall Arch Linux

experience. This script may be run periodically,

especially if the chosen mirrors provide

inconsistent throughput and/or updates. Note that

rankmirrors does not test for throughput.

Tools such as wget or rsync may be used to

effectively test for mirror throughput after a new

/etc/pacman.d/mirrorlist has been

generated.

104

Post-Installation-Update

cd to the /etc/pacman.d/ directory:

# cd /etc/pacman.d

Backup

the

existing

/etc/pacman.d/mirrorlist:

# cp mirrorlist mirrorlist.backup

Edit

/etc/pacman.d/mirrorlist.backup

and uncomment mirrors for testing with

rankmirrors.

Optionally run the following sed line to

uncomment every mirror:

# sed '/^#\S/ s|#||' -i

/etc/pacman.d/mirrorlist.backup

Run the script against the mirrorlist.backup with

the -n switch and redirect output to a new

/etc/pacman.d/mirrorlist file:

# rankmirrors -n 6 mirrorlist.backup >

mirrorlist

Note: -n 6: will rank the 6 closest mirrors

Tip: For a script that automates the process of

getting and installing a mirrorlist file from

the Pacman Mirrorlist Generator, see Mirrors.

105

Arch Linux Handbook

Refreshing mirror list

Force pacman to refresh all package lists with the

new mirrorlist in place:

# pacman -Syy

Passing two --refresh or -y flags forces

pacman to refresh all package lists even if they

are considered to be up to date. Issuing pacman

-Syy whenever a mirror is changed, is good

practice and will avoid possible headaches.

Note: Some issues have been reported in the

Arch Linux forums regarding network problems

that

prevent

pacman

from

updating/synchronizing repositories (see [3] and

[4]). When installing Arch natively, these issues have been resolved by replacing the default

pacman file downloader with an alternative (see

Improve Pacman Performance for more details).

When installing Arch as a guest OS in

VirtualBox, this issue has also been addressed by using "Host interface" instead of "NAT" in

the machine properties.

Update the System

Warning: System updates should be performed

with care. It is very important to read and

106

Post-Installation-Update

understand this before proceeding.

Often the developers will provide important

information about required configurations and

modifications for known issues. The Arch Linux

user is expected to consult these places before

performing an upgrade:

• Arch news. For examples, as of 16 April,

2012, the following two news items are

required reading:

• https://archlinux.org/news/initscrip

ts-update-manual-intervention-

required/

• https://archlinux.org/news/filesyste

m-upgrade-manual-intervention-

required/

• Announce mailing list.

Sync, refresh, and upgrade your entire new

system with:

# pacman -Syu

or:

# pacman --sync --refresh --sysupgrade

Pacman will now download a fresh copy of the

master package list from the server(s) defined in

/etc/pacman.conf and perform all available

107

Arch Linux Handbook

upgrades. You may be prompted to upgrade

pacman itself at this point. If so, respond by

entering yes, and then reissue the pacman -Syu

command when finished.

Reboot if a kernel upgrade has occurred.

Note: Occasionally, configuration changes may

take place requiring user action during an

update; read pacman's output for any pertinent

information. See the Pacnew and Pacsave Files

wiki article for more details.

Pacman

output

is

saved

in

/var/log/pacman.log.

See the Package Management FAQ wiki article for answers to frequently asked questions

regarding updating and managing your packages.

Ignoring Packages

After executing the command pacman -Syu,

the entire system will be updated. It is possible to

prevent a package from being upgraded. A typical

scenario would be a package for which an

upgrade may prove problematic for the system. In

this case, there are two options; indicate the

package(s) to skip in the pacman command line

using the --ignore switch (pacman -S

--help for details) or permanently indicate the

108

Post-Installation-Update

package(s) to skip in the /etc/pacman.conf

file in the IgnorePkg array. For more information,

please see the pacman wiki entry.

Please note that the power user is expected to

keep the system up to date with pacman -Syu,

rather than selectively upgrading packages. You

may diverge from this typical usage as you wish;

just be warned that there is a greater chance that

things will not work as intended and that it could

break your system. The majority of complaints

happen when selective upgrading, unusual

compilation or improper software installation is

performed. Use of

IgnorePkg

in

/etc/pacman.conf is therefore discouraged,

and should only be used sparingly, if you know

what you are doing.

The Arch rolling release model

Keep in mind that Arch is a rolling release

distribution. This means the user is not required to

reinstall or perform elaborate system rebuilds to

upgrade to the newest version. Issuing pacman

-Syu periodically (and noting the above

warning) keeps the entire system up-to-date and

on the bleeding edge. At the end of this upgrade,

the system will be completely current. Remember

to reboot if a kernel upgrade has occurred.

109

Arch Linux Handbook

Adding a User

Warning: Linux is a multi-user environment.

You should not perform everyday tasks using

the root account, it is very poor practice and

extremely dangerous: the root account should be

used for administrative tasks only.

Add a normal user account instead, using one of

the two following methods, both creating the user

archie as an example:

Interactive method

# adduser

You will be asked to enter some information in an

interactive way:

Login name for new user []: archie

User ID ('UID') [ defaults to next

available ]:

Initial group [ users ]:

Additional groups (comma separated) []:

audio,lp,optical,storage,video,wheel,gam

es,power,scanner

Home directory [ /home/archie ]:

110

Post-Installation-Adding a User

Shell [ /bin/bash ]:

Expiry date (YYYY-MM-DD) []:

As shown in the example, you are advised to

enter values only for the Login name and the

Additional groups, and leave empty all the other

fields.

The list of Additional groups in the example is a

typical choice for a desktop system, hence it is

recommended especially for beginners:

• audio - for tasks involving sound card and

related software

• lp - for managing printing tasks

• optical - for managing tasks pertaining to

the optical drive(s)

• storage - for managing storage devices

• video - for video tasks and hardware

acceleration

• wheel - for using sudo

• games - needed for write permission for

games in the games group

• power - used with power options (e.g.

shutdown with power button)

• scanner - for using a scanner

For additional information about listed and other

groups see the User groups section of the Groups

111

Arch Linux Handbook

wiki article.

Now you will be presented with a preview of your

new account, and the ability to cancel or continue

operations: after pressing Enter the account will

be created, and you will be prompted to enter

additional, optional information for the new user

(e.g. the full name). After that, you will be asked

to enter the password for your account.

Non-interactive method

# useradd -m -g users -G

audio,lp,optical,storage,video,wheel,gam

es,power,scanner -s /bin/bash archie

You will have to set a password using passwd.

To enter additional information you can use the

chfn command.

Deleting the user account

In the event of error, or if you wish to delete this

user account in favor of a different name or for

any other reason, use userdel:

# userdel -r [username]

The -r option will remove the user's home

directory and its content, along with the the user's

mail spool.

112

Post-Installation-Adding a User

More information

Read Users and Groups for further information. If you want to change the name of your user or any

existing user, consult the Change username page.

You may also check the man pages for

usermod(8) and gpasswd(8).

113

Extra-Extra

EXTRA

You should now have a completely functional

Arch system which will act as a suitable base for

you to build upon based on your needs. However,

most people are interested in a desktop system,

complete with sound and graphics. This part of

the guide will provide a brief overview of the

procedure to acquire these extras.

Sudo

Install Sudo:

# pacman -S sudo

To add a user as a sudo user (a "sudoer"), the

visudo command must be run as root.

By default, the visudo command uses the editor

vi. If you do not know how to use vi, you may set 115

Arch Linux Handbook

the EDITOR environment variable to the editor of

your choice, such as in this example with the

editor "nano":

# EDITOR=nano visudo

Note: Please note that you are setting the

variable and starting visudo on the same line at

the same time. This will not work properly as

two separated commands.

If you are comfortable using vi, issue the visudo

command without the EDITOR=nano variable:

# visudo

This will open the file /etc/sudoers in a

special session of vi. visudo copies the file to be

edited to a temporary file, edits it with an editor,

(vi by default), and subsequently runs a sanity

check. If it passes, the temporary file overwrites

the original with the correct permissions.

Warning: Do not edit /etc/sudoers

directly with an editor; errors in syntax can

cause annoyances (like rendering the root

account unusable). You must use the visudo

command to edit /etc/sudoers.

In the previous section we added your user to the

"wheel" group. To give users in the wheel group

116

Extra-Sudo

full root privileges when they precede a command

with "sudo", uncomment the following line:

%wheel ALL=(ALL) ALL

Now you can give any user access to the sudo

command by simply adding them to the wheel

group.

For more information, such as sudoer <TAB>

completion,

see

Sudo#Enabling_tab-

completion_in_bash.

Sound

If you want sound, visit the Advanced Linux

Sound Architecture viki article for instructions.

Alternatively, proceed to the next section first, and set up sound later.

Note: ALSA usually works out-of-the-box, it

just needs to be unmuted.

The Advanced Linux Sound Architecture (ALSA) is included with the kernel and it is recommended

to try it first. However, if it does not work or you

are not satisfied with the quality, the Open Sound

System is a viable alternative. OSSv4 has been released under a free license and is generally

considered a significant improvement over the

older OSSv3 which was replaced by ALSA.

117

Arch Linux Handbook

Instructions can be found in the OSS wiki article.

If you have advanced audio requirements, take a

look at Sound for an overview of various articles.

Graphical User Interface

Install X

Note: If you are installing Arch as a Virtualbox

guest, you need a different way to complete X

installation. See Arch Linux VirtualBox Guest,

then jump to the configuration part below.

The X Window System (commonly X11, or X) is a networking and display protocol which provides

windowing on bitmap displays. It provides the

standard toolkit and protocol to build graphical

user interfaces (GUIs).

Now we will install the baseXorg packages using pacman.

Install the base packages:

# pacman -S xorg-server xorg-xinit xorg-

server-utils

Install mesa for 3D support:

# pacman -S mesa

118

Extra-Graphical User Interface

The 3D utilities glxgears and glxinfo are included in the mesa-demos package. Install if needed:

# pacman -S mesa-demos

Install video driver

Next, you should install a driver for your graphics

card.

You will need knowledge of which video chipset

your machine has. If you do not know, use the

/usr/sbin/lspci program:

$ lspci | grep VGA

Note: The vesa driver is the most generic, and

should work with almost any modern video

chipset. If you cannot find a suitable driver for

your video chipset, vesa should work with any

video card, but it offers only unaccelerated 2D

performance.

For a complete list of all open-source video

drivers, search the package database:

$ pacman -Ss xf86-video | less

Note: Proprietary drivers for NVIDIA and ATI

are covered in the next sections. If you plan on

doing heavy 3D processing such as gaming,

119

Arch Linux Handbook

consider using these.

Use pacman to install the appropriate video driver

for your video card/onboard video. Example for

the Savage driver:

# pacman -S xf86-video-savage

Tip: For some Intel graphics cards,

configuration may be necessary to get proper 2D

or 3D performance, see Intel for more information.

NVIDIA Graphics Cards

NVIDIA users have three options for drivers (in

addition to the vesa driver):

• The open-source nouveau driver, which

offers fast 2d acceleration and basic 3d

support which is good enough for basic

compositing (note: does not fully support

powersaving yet).

• The open-source (but obfuscated) nv

driver, which is very slow and only has 2d

support.

• The proprietary nvidia drivers, which offer

good 3d performance and powersaving.

Even if you plan on using the proprietary

drivers, it is recommended to start with

120

Extra-Graphical User Interface

nouveau and then switch to the binary

driver after you have X set up and

working. Nouveau often works out-of-the-

box, while nvidia will require

configuration and likely some

troubleshooting. See NVIDIA for more information.

The open-source nouveau driver should be good

enough for most users and is recommended:

# pacman -S xf86-video-nouveau

For experimental 3D support:

# pacman -S nouveau-dri

Tip: For advanced instructions, see Nouveau.

ATI Graphics Cards

ATI owners have two options for drivers (in

addition to the vesa driver):

• The open source radeon driver provided

by the xf86-video-ati package. See the radeon feature matrix for details.

• The proprietary fglrx driver provided by

the  catalyst package located in the

AUR. It supports only newer devices (HD2xxx and newer). It was once a

121

Arch Linux Handbook

package offered by Arch in the extra

repository, but as of March 2009, official

support has been dropped because of

dissatisfaction with the quality and speed

of development of the proprietary driver.

See the ATI Catalyst wiki article for more information.

The open-source driver is the recommended

choice. Install the radeon ATI Driver:

# pacman -S xf86-video-ati

Tip: For advanced instructions, see ATI.

SiS Graphics Cards

SiS cards are not officially supported on Linux.

Despite this fact 3 more or less outdated drivers

can be installed from the official repositories:

# pacman -S xf86-video-sis

or

# pacman -S xf86-video-sisusb

or

# pacman -S xf86-video-sisimedia

If neither of them works for you, searching in the

122

Extra-Graphical User Interface

AUR and compiling a driver (with possible downgrading of xorg-server) is the only option.

Tip:

• You can learn more about current state of

sis

drivers

at

http://dri.freedesktop.org/wiki/SiS.

• For advanced instructions, see SiS.

Install input drivers

Udev should be capable of detecting your

hardware without problems and evdev (xf86-

input-evdev) is the modern, hotplugging input driver for almost all devices so in most

cases, installing input drivers is not needed. At

this point, evdev has already been installed as a

dependency of Xorg.

If evdev does not support your device, install the

needed driver from the xorg-input-drivers group.

For a complete list of available input drivers,

invoke a pacman search:

# pacman -Ss xf86-input | less

Note: You only need xf86-input-

123

Arch Linux Handbook

keyboard or xf86-input-mouse if you plan on disabling hotplugging, otherwise, evdev

will act as the input driver.

Laptop users (or users with a touchscreen) will

also need the synaptics package to allow X to

configure the touchpad/touchscreen:

# pacman -S xf86-input-synaptics

Tip: For instructions on fine tuning or

troubleshooting touchpad settings, visit the

Touchpad Synaptics wiki article.

Configure X (Optional)

Warning: Proprietary drivers usually require a

reboot after installation along with

configuration. See NVIDIA or ATI Catalyst for details.

X Server features auto-configuration and

therefore can function without an xorg.conf.

If you still wish to manually configure X Server,

please see the Xorg wiki page.

Non-US keyboard

If you do not use a standard US keyboard, you

need to set the keyboard layout in

124

Extra-Graphical User Interface

/etc/X11/xorg.conf.d/10-

evdev.conf:

Section "InputClass"

Identifier "evdev keyboard catchall"

MatchIsKeyboard "on"

MatchDevicePath "/dev/input/event*"

Driver "evdev"

Option "XkbLayout" "be"

EndSection

If, for example, you wish to use a variant of the

US keyboard, add the following into the same

section from the previous example:

Option "XkbLayout" "us"

Option "XkbVariant" "dvorak"

Note: The XkbLayout key may differ from the

keymap code you used with the km or loadkeys

command. A list of many keyboard layouts and

variants

can

be

found

in

/usr/share/X11/xkb/rules/base.ls

t (see text after line beginning with !

layout). For instance the layout: gb

corresponds to "English (UK)".

Testing X

This section will explain how to start a very basic

graphical environment in order to test X. This

125

Arch Linux Handbook

uses the simple default X window manager, twm.

Install the default test environment:

# pacman -S xorg-twm xorg-xclock xterm

The default X environment is rather bare. This

section below will deal with installing a desktop environment or window manager of your choice

to supplement X.

If you installed Xorg before creating your regular

user, there will be an empty .xinitrc file in

your $HOME that you need to either delete or

edit in order to start a graphical environment.

Simply deleting it will cause X to run with the

default environment (twm, xclock, xterm).

$ rm ~/.xinitrc

Message bus

Note: dbus is likely required for many of your applications to work properly, if you know you

do not need it, skip this section.

Install dbus:

# pacman -S dbus

Start the dbus daemon:

# rc.d start dbus

126

Extra-Graphical User Interface

Note: /usr/sbin/rc.d is an Arch-peculiar

command which acts as a shortcut for executing

daemon actions in place of using the full

/etc/rc.d/ daemon path commonly used in

other distributions.

Add dbus to the DAEMONS array in

/etc/rc.conf so it starts automatically on

boot:

DAEMONS=(... dbus ...)

Start X

Note:

The Ctrl-Alt-Backspace shortcut

traditionally used to kill X has been deprecated

and will not work to exit out of this test. You

can enable Ctrl-Alt-Backspace by

editing xorg.conf.

Both the following commands can be found in the

xorg-xinit package if you have troubles running them.

Finally, start Xorg:

$ startx

or:

$ xinit -- /usr/bin/X -nolisten tcp

127

Arch Linux Handbook

A few movable windows should show up, and

your mouse should work. Once you are satisfied

that X installation was a success, you may exit

out of X by issuing the exit command into the

prompts until you return to the console.

If the screen goes black, you may still attempt to

switch to a different virtual console (CTRL-

Alt-F2, for example), and login blindly as root,

followed by Enter, followed by root's password

followed by Enter.

You can attempt to kill the X server with

/usr/bin/pkill (note the capital letter X):

# pkill X

If pkill does not work, reboot blindly with:

# reboot

In case of errors

If a problem occurs, look for errors in

/var/log/Xorg.0.log. Be on the lookout

for any lines beginning with (EE) which

represent errors, and also (WW) which are

warnings that could indicate other issues.

$ grep EE /var/log/Xorg.0.log

Errors may also be searched for in the console

128

Extra-Graphical User Interface

output of the virtual console from which X was

started.

See the Xorg article for detailed instructions and troubleshooting.

Need Help?

If you are still having trouble after consulting the

Xorg article and need assistance via the Arch forums, be sure to install and use wgetpaste:

# pacman -S wgetpaste

Use wgetpaste and provide links for the

following files when asking for help in your

forum post:

• ~/.xinitrc

• /etc/X11/xorg.conf

• /var/log/Xorg.0.log

• /var/log/Xorg.0.log.old

Use it like so:

$ wgetpaste </path/to/file>

Post the corresponding links given within your

forum post. Be sure to provide appropriate

hardware and driver information as well.

Note: It is very important to provide detail when

129

Arch Linux Handbook

troubleshooting X. Please provide all pertinent

information as detailed above when asking for

assistance on the Arch forums.

Install Fonts

At this point, you may wish to save time by

installing visually pleasing, true type fonts, before

installing a desktop environment/window

manager. DejaVu is a set of high quality, general-

purpose fonts.

Install with:

# pacman -S ttf-dejavu

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

instructions.

• Steps to install Microsoft fonts are

detailed in the MS Fonts article.

Choose and install a graphical interface

The X Window System provides the basic

framework for building a graphical user interface

(GUI).

Note: Choosing your DE or WM is a very

130

Extra-Graphical User Interface

subjective and personal decision. Choose the

best environment for your needs.

Window Manager (WM)

Controls the placement and appearance of

application windows in conjunction with

the X Window System. See Window

managers for more information.

Desktop Environment (DE)

Works atop and in conjunction with X, to

provide a completely functional and

dynamic GUI. A DE typically provides a

window manager, icons, applets, windows,

toolbars, folders, wallpapers, a suite of

applications and abilities like drag and drop.

See Desktop environments for more information.

Note: You can build your own DE by using a

WM and the applications of your choice.

After installing a graphical interface, you may

wish to continue with General Recommendations

for post-installation instructions.

131

Arch Linux Handbook

Methods for starting your Graphical

Environment

Manually

You might prefer to start X manually from your

terminal rather than booting straight into the

desktop. For DE-specific commands, please see

the wiki page corrosponding to your DE for more

information. For more generic X commands,

please see the relevant section on the Xorg page.

Automatically

You might prefer to have the desktop start

automatically during boot instead of starting X

manually. See the Display Manager wiki article for instructions on using a login manager or Start

X at Boot for two lightweight methods that do not rely on a display manager.

132

Table of Contents

Book Design by Dusty Phillips

Table Of Contents............................................1

Forward............................................................7

Preface............................................................11

License......................................................12

About this guide........................................14

Preparation.....................................................15

Check the integrity of the downloaded

CD installer...........................................17

*nix method.....................................18

Microsoft Windows method............19

Install over the network........................20

Boot Arch Linux installer..........................22

Troubleshooting boot problems.......23

Changing the keymap...........................24

Installation.....................................................27

Select an installation source......................28

Setup network.......................................29

Set up ADSL bridging in the live

Set editor...................................................40

Set clock....................................................41

Setting time in a Windows dual boot

Prepare hard drive.....................................43

Partitioning hard disks: General

Swap partition..................................46

Selecting a partitioning scheme.......47

How big should my partitions be?...52

Creating filesystems: General

Journaling........................................57

Option 1: Auto prepare.........................58

Option 2: Manually partition hard drives

Option 3: Manually configure block

Select packages.........................................62

Package groups.....................................63

Install packages.........................................64

Configure the system................................65

Can the installer handle this more

LOCALIZATION section................67

HARDWARE section......................69

DAEMONS section.........................72

General information....................73

/etc/fstab...............................................74

/etc/mkinitcpio.conf..............................79

/etc/modprobe.d/modprobe.conf..........81

/etc/resolv.conf.....................................82

/etc/hosts...............................................83

/etc/locale.gen.......................................85

/etc/pacman.conf...................................86

/etc/pacman.d/mirrorlist.......................87

Root password......................................88

Reboot.......................................................93