Professional Documents
Culture Documents
5.2 APPENDIX
Introduction
What is Arch Linux?
Arch Linux is an independently developed i686 and x86_64 optimized Linux
distribution that was originally based on ideas from CRUX.
Development is focused on a balance of simplicity, elegance, code-correctness
and bleeding edge software.
Its lightweight and simple design makes it easy to extend and mold into whatever
kind of system you're building.
License
Arch Linux and scripts are copyright
and are licensed under the GNU General Public License (GPL).
Pre-Installation
Architectures
Arch Linux is optimized for i686 and x86_64 processors and therefore will not
run on any lower or incompatible generations of x86 CPUs (i386, i486 or i586). A
Pentium Pro, Pentium II or AMD Athlon (K7) processor or higher is required.
(technically, cpu's without the cmov instruction such as AMD K6 and via C3 are
also i686, but we use gcc and it uses cmov instructions) Before installing Arch
Linux, you should decide which installation method you would like to use.
Available images
Arch Linux provides isofiles which can be written to CD-roms or to disks and usb
sticks
The Isolinux bootloader is used. There are two variants of each installation
3 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
The "net" images contain no packages at all, and will use the network to
install packages.
These images are preferred since you will end up with an up- to-date system
and they are best suited for people with fast internet connections.
You can instruct the installer to obtain the packages via the internet (or any
network) using either of these images, and all images can also be used as fully
functioning recovery environments.
The images run like any regular installed Arch Linux system.
In fact, they're exactly the same, just installed to a CD or USB image instead of a
hard disk.
They include the entire "base" package set, as well as various networking
utilities and drivers and have the aif package installed.
If there's something else you happen to need at runtime, just get your Internet
connection up and install it using pacman.
A short pacman command reference is available at the end of this document.
All images are available in a i686, x86_64 or dual variant. The latter contains
both and lets you choose an architecture at boot.
4 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
Download iso/<release>/sha1sums.txt
5 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
archlinux-XXX.iso: OK
Burn the ISO image to a CD-R or CD-RW using any software of your choice,
or if using a USB mass storage device, such as a thumb drive, using dd or
similar raw-write software:
dd if=archlinux-XXX.iso of=/dev/sdX
Make sure your BIOS is set in a way to allow booting from your CD-ROM or USB
device.
Reboot your computer with the Arch Linux Installation CD in the drive or the
USB stick plugged in the port. Once the installation medium has started booting
you will see the Arch Linux logo and a grub menu waiting for your selection.
Most likely you can just hit enter at this point.
If Grub hangs, you're one of the unlucky few whose CD-rom drive doesn't work
with grub and you should try the isolinux image.
Post-boot
At the end of the boot procedure, you should be at a login prompt with some
simple instructions at the top of the screen.
You should login as root. At this point you can optionally perform manual
preparations and commence the actual installation
6 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
There is also an arch login which can be usefull if you want to do things as
non-privileged user.
Most people don't need this.
You will find that everything you need to perform this installation (a copy of this
guide, aif README, shortcuts to common aif procedures) can be found in /arch
You can find more info on the wiki Community contributed documentation
(http://wiki.archlinux.org/index.php/Archiso-as-pxe-server)
Client
Configure your system to try network booting (pxe) first. On most systems this
happen by default. You will get an IP from the server and load all needed files
over the network automatically. Once booted, you can proceed as normal.
After the welcome message and disclaimer you will be presented with the main
installation menu. You can use UP and DOWN arrow to navigate menus. Use TAB
to switch between buttons and ENTER to select. At any point during the install
process, you can switch to your 7th virtual console (ALT-F7) to view the output
from the commands the setup is running. Use (ALT-F1) to get back to your first
console where the installer is running, and any F-key in between if you need to
7 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
Select Source
As a first step you must choose the method you want to install Arch Linux. If you
have a fast Internet connection, you might prefer the NET installation to ensure
you get the latest packages instead of using the potentially outdated CD or USB
image contents. If you're using a NET image you don't have much choice ;-).
When choosing a CD-ROM or OTHER SOURCE install you will only be able to
install packages contained on the CD, which may be quite old, or packages
stored on a medium you were able to mount (DVD, USB stick or similar)
somewhere in the filesystem tree manually. Of course it has the advantage that
you won't need an Internet connection, and is therefore the recommended choice
for dialup users or those unable or unwilling to download the entire package set.
NET (FTP/HTTP)
Setup Network
The first entry Setup Network will allow you to install and configure your
network device. If you are using a wireless device you will still need to use the
usual utilities to configure it manually, in which case this part of the installer
isn't much use to you. A list of all currently available network devices is
presented to you. If no ethernet device is available yet, or the one you wish to
use is missing, either hit OK and go on to probe for it, or switch to another
console and load the module manually. If you still can't configure your network
card, make sure it's physically been properly installed, and that it is supported
by the Linux kernel.
When the correct module is loaded, and your desired network card is listed, you
should select the ethernet device you want to configure and you will be given the
option to configure your network with DHCP. If your network uses DHCP, hit YES
and let the installer do the rest. If you select NO, you will be asked to enter the
networking information manually. Either way, your network should be
successfully configured, and you may check connectivity using standard tools
like ping on another console.
Choose Mirror
Choose Mirror will allow you to choose the preferred mirror to download the
packages that will be installed in your Arch Linux system. You should choose a
mirror situated near where you live, in order to achieve faster download speed.
8 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
At some later point of the installation, you will be given the option to use the
mirror you choose at this step, as the default mirror to download packages from.
These menu entries are only available when choosing FTP Installation, for rather
obvious reasons. After successful preparation, choose Return to Main Menu.
Set Clock
Set Clock will allow you to set up your system clock and date. First you have to
say if your hardwareclock is (or should be) in UTC or localtime. UTC is preferred,
but if you have an OS installed which cannot handle UTC BIOS times correctly
-like Windows- you'll have to choose localtime. Next the setup will want you to
select your continent/country (timezone), and allow you to set the date and time
(for which you can also use NTP (http://www.ntp.org/) if your network is up)
Prepare Hard Drive will lead you into a submenu offering two alternatives of
preparing your target drive(s) for installation, and a means to undo changes if
you want to retry.
Notes:
AIF can help you set up new dm_crypt and lvm volumes, but not (yet)
softraid.
AIF currently doesn't help you creating volumegroups that span multiple
physical volumes. (if you need this -unlikely- : use vgcreate)
AIF supports reusing filesystems, but only if it can find the blockdevice. If
you want to reuse a filesystem that is on top of lvm/dm_crypt/softraid, you'll
need to bring up the volumes yourself.
9 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
Auto-Prepare
Auto-Prepare will automatically partition a hard drive of your choice into a /boot,
swap, a root partition, and a /home and then create filesystems on all four. These
partitions will also be automatically mounted in the proper place. To be exact,
this option will create:
You will be prompted to modify the sizes to your requirements, but /home will
always use the remaining disk space. You can customize the used filesystem for
/boot and for both of root and /home at once.
Here you can select the disk(s) you want to partition, and you'll be dropped into
the cfdisk program where you can freely modify the partitioning information until
you [Write] and [Quit]. You will need at least a root partition to continue the
installation.
In this menu all recognized partitions are listed. On top of these you can create
new filesystems. You should be aware of three things:
All of this is just a model, everything will only be set up after you confirm.
Not all blockdevices support all filesystems (Eg you cannot put an LVM
volumegroup on something other then a LVM physical volume). The installer
will automatically filter the list of possible filesystems and even select the
one automatically for you if there's only one option.
Some filesystems will cause new blockdevices to be created. This is the case
for dm_crypt and lvm volumes. You will see them appear in the model and
you can use them to put another filesystem on top of it.
When asked for (optional) options to mkfs tools, pass arguments which will
literally be added when calling mkfs. For example, to disable the journal on
ext filesystems:
don't do: ^has_journal
but rather: -O ^has_journal
When filesystems setup is complete, you can select 'Done'. At this point a check
10 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
will be run which will tell you any critical errors (such as no root filesystem)
and/or give you some warnings which you may ignore (like no swap). If anything
is found, you can go back to fix these issues, or continue at which point
everything will be setup the way you asked.
For example, if you want a setup that uses LVM on top of dm_crypt, you would:
make sure that you have a 2 partitions: a small one for the unencrypted boot
(about 100M) and one for the rest of the (encrypted) system. (do this in
"Manually partition hard drives")
on your /dev/sdX1, make an ext2 filesystem with mountpoint /boot
on your /dev/sdX2, make a dm_crypt volume, with label sdX2crypt (or
whatever you want)
/dev/mapper/sdX2crypt will appear. Put a LVM physical volume on this
/dev/mapper/sdX2crypt+ appears. This is the representation of the physical
volume. Put a volumegroup on this, with label cryptpool (or whatever you
want)
/dev/mapper/cryptpool appears. On this volumegroup you are able to put
multiple logical volumes. Make 2:
one with size 5G: label this cryptroot
one with size 10G: label this crypthome
2 new volumes appear:
/dev/mapper/cryptpool-cryptroot: on this blockdevice, you can put your
root filesystem, with mountpoint /.
/dev/mapper/cryptpool-crypthome is the blockdevice on which you can
put the filesystem with mountpoint /home.
If you want swapspace, make a logical volume for swap and put a swap
volume on it.
That's it! If you select 'done' it should process the model and create your
disk setup the way you specified. The cool part is that you can pick
relatively small values for your volumes to start with, and if you need more
space later you can grow the logical volume and the filesystem on top of it.
Rollbacks
The rollback function will do everything necessary to "undo" changes you made
in the 'Manually configure block devices, filesystems and mountpoints' or
'Autoprepare' step, to allow you completely redo your setup.
It will:
It will not:
11 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
The reason for this is simple: only things that might disturb subsequent hard disk
preparations need to be undone.
Select Packages
Select Packages will let you select the packages you wish to install from the CD,
USB or your NET mirror. You have the opportunity to specify whole package
groups from which you'd generally like to install packages, then fine-tune your
coarse selection by (de)selecting individual packages from the groups you have
chosen using the space bar. It is recommended that you install all the "base"
packages, but not anything else at this point. The only exception to this rule is
installing any packages you need for setting up Internet connectivity.
Once you're done selecting the packages you need, leave the selection screen
and continue to the next step.
Install Packages
Install Packages will now install the base system and any other packages you
selected with resolved dependencies onto your harddisk.
Configure System
Configuration Files
These are the core configuration files for Arch Linux. If you need help
configuring a specific service, please read the appropriate manpage or refer to
any online documentation you need. In many cases, the Arch Linux Wiki
(http://wiki.archlinux.org/) and forums (http://bbs.archlinux.org/) are a rich
source for help as well.
/etc/rc.conf
12 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
/etc/fstab (http://wiki.archlinux.org/index.php/Fstab)
/etc/mkinitcpio.conf
/etc/modprobe.d/modprobe.conf
/etc/resolv.conf
/etc/hosts
/etc/hosts.deny
/etc/hosts.allow
/etc/locale.gen
/etc/pacman.d/mirrorlist
/etc/pacman.conf
/etc/rc.conf
This is the main configuration file for Arch Linux. It allows you to set your
keyboard, timezone, hostname, network, daemons to run and modules to load at
bootup, profiles, and more.
LOCALE: This sets your system language, which will be used by all i18n- friendly
applications and utilities. See locale.gen below for available options. This
setting's default is fine for US English users.
TIMEZONE: Specifies your time zone. Possible time zones are the relative path
to a zoneinfo file starting from the directory /usr/share/zoneinfo. For example, a
German timezone would be Europe/Berlin, which refers to the file /usr/share
/zoneinfo/Europe/Berlin. If you don't know the exact name of your timezone file,
worry about it later.
KEYMAP: Defines the keymap to load with the loadkeys program on bootup.
Possible keymaps are found in /usr/share/kbd/keymaps. Please note that this
setting is only valid for your TTYs, not any graphical window managers or X!
Again, the default is fine for US users.
CONSOLEFONT: Defines the console font to load with the setfont program on
bootup. Possible fonts are found in /usr/share/kbd/consolefonts.
CONSOLEMAP: Defines the console map to load with the setfont program on
13 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
MODULES: In this array you can list the names of modules you want to load
during bootup without the need to bind them to a hardware device as in the
modprobe.conf. Simply add the name of the module here, and put any options
into modprobe.conf if need be. Prepending a module with a bang ('!') will
blacklist the module, and not allow it to be loaded.
USELVM: Set to "yes" to run a vgchange during sysinit, thus activating any LVM
groups
HOSTNAME: Set this to the hostname of the machine, without the domain part.
This is totally your choice, as long as you stick to letters, digits and a few
common special characters like the dash.
INTERFACES: Here you define the settings for your networking interfaces. The
default lines and the included comments explain the setup well enough. If you
use DHCP, 'eth0="dhcp"' should work for you. If you do not use DHCP just keep
in mind that the value of the variable (whose name must be equal to the name of
the device which is supposed to be configured) equals the line which would be
appended to the ifconfig command if you were to configure the device manually
in the shell.
ROUTES: You can define your own static network routes with arbitrary names
here. Look at the example for a default gateway to get the idea. Basically the
quoted part is identical to what you'd pass to a manual route add command,
therefore reading man route is recommended or simply leave this alone.
DAEMONS: This array simply lists the names of those scripts contained in
14 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
/etc/rc.d/ which are supposed to be started during the boot process. If a script
name is prefixed with a bang (!), it is not executed. If a script is prefixed with an
"at" symbol (@), then it will be executed in the background, ie. the startup
sequence will not wait for successful completion before continuing. Usually you
do not need to change the defaults to get a running system, but you are going to
edit this array whenever you install system services like sshd, and want to start
these automatically during bootup.
/etc/fstab (http://wiki.archlinux.org/index.php/Fstab)
Filesystem settings and mountpoints are configured here. The installer should
have created the necessary entries. Ensure they are accurate and correct.
/etc/mkinitcpio.conf
This file allows you to fine-tune the initial ramdisk for your system. The ramdisk is
a gzipped image that is read by the kernel during bootup. Its purpose 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 to "see" things like IDE, SCSI,
or SATA drives (or USB/FW, if you are booting off a USB/FW drive). Once the
ramdisk loads the proper modules, either manually or through udev, it passes
control to the Arch system and your bootup continues. For this reason, the
ramdisk 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 your everyday modules will be loaded later on by udev, during
the init process.
If you're using RAID on your root filesystem, the RAID settings near the bottom
must be configured. See the wiki pages for RAID and mkinitcpio for more info. If
you're using a non-US keyboard, you should also add the 'keymap' hook, as well
as the 'usbinput' hook if you are using a USB keyboard.
/etc/modprobe.d/modprobe.conf
This tells the kernel which modules to load for system devices, and what options
to set. For example, to have the kernel load the Realtek 8139 ethernet module
when it starts the network (ie. tries to setup eth0), use this line:
15 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
/etc/resolv.conf
Use this file to manually setup your preferred nameserver(s). It should basically
look like this:
search domain.tld
nameserver 192.168.0.1
nameserver 192.168.0.2
Replace domain.tld and the ip addresses with your settings. The so-called search
domain specifies the default domain that is appended to unqualified hostnames
automatically. By setting this, a ping myhost will effectively become a ping
myhost.domain.tld with the above values. These settings usually aren't mighty
important, though, and most people should leave them alone for now. If you use
DHCP, this file will be replaced with the correct values automatically when
networking is started, meaning you can and should happily ignore this file.
/etc/hosts
/etc/hosts.deny
This file denies network services access. By default all network services are
denied.
/etc/hosts.allow
This file allows network services access. Enter the services you want to allow
here. eg. to allow all machines to connect via ssh:
16 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
/etc/locale.gen
This file contains a list of all supported locales and charsets available to you.
When choosing a LOCALE in your /etc/rc.conf or when starting a program, it is
required to uncomment the respective locale in this file, to make a "compiled"
version available to the system, and run the locale-gen command as root to
generate all uncommented locales and put them in their place afterwards. You
should uncomment all locales you intend to use.
During the installation process, you do not need to run locale-gen manually, this
will be taken care of automatically after saving your changes to this file. By
default, all locales are enabled that would make sense by rc.conf's LOCALE=
setting. To make your system work smoothly, you should edit this file and
uncomment at least the one locale you're using in your rc.conf.
/etc/pacman.d/mirrorlist
This file contains a list of mirrors from which pacman will download packages for
the official Arch Linux repositories. The mirrors are tried in the order in which
they are listed. The $repo macro is automatically expanded by pacman
depending on the repository (core, extra, community or testing).
If you are performing an FTP installation, the mirror you used to download the
packages from will be added on top of the mirror list, in order to be used as the
default mirror in your new Arch Linux system.
/etc/pacman.conf
Here you can customize pacman settings such as which repositories to use.
At this step, you must set the root password for your system. Choose this
password carefully, preferably as a mixture of alphanumeric and special
characters, since this password allows you to modify critical parts of your system.
When you are done editing the configuration files choose Return to return to the
main menu. The setup will regenerate the initial ramdisk to enable the changes
you made in mkinitcpio.conf.
Install Bootloader
Install Bootloader will install a bootloader on your hard drive, either GRUB or
NONE in case you have a bootloader already installed and want to use that one
17 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
instead. If you choose to install GRUB, the setup script will want you to examine
the appropriate configuration file to confirm the proper settings.
/boot/grub/menu.lst
You should check and modify this file to accommodate your boot setup if you
want to use GRUB, otherwise you will have to modify your existing bootloader's
configuration file. The installer will have pre-populated this file using UUID
entries which you may have to change in the same cases you'd need to change
them in your fstab.
Exit Install
Exit the Installer, remove the media you used for the installation, type reboot at
the command line and cross your fingers!
Note that these files are plain bash files, so if you want to define for example
SYNC_URL it must be singlequoted to prevent bash expanding $repo
Config files will be sourced by the bash shell, so they need to be valid bash code.
PARTITIONS: Allows you to define partitions for your hard disk, separated by
18 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
spaces.
BLOCKDATA: In this multi-line variable you can describe for each partition
you'll have how it should be used. Study the examples to see how it works.
Customizing Installations
You can also customize your installation experience by writing new procedures
(possibly inheriting from current procedures) or config files for procedures that
support it (eg automatic). You have all the aif libraries at your disposal and you
can create new libraries. (see /usr/lib/aif) This is a moving target, so consult the
AIF readme for more information.
You'll notice that in the early userspace (the part that comes after the
bootloader) the hooks (as defined in mkinitcpio.conf) needed to get your root
filesystem are run.
If you have lvm, it will run the lvm hook. If you use encryption, it will run the
keymap and encrypt hooks so you can enter your password to decrypt the
volume.
Once the system is booted, login as root. By default the password is empty but in
the interactive procedure you can change it.
More information
Package Management
Pacman is the package manager which tracks all the software installed on your
system. It has simple dependency support and uses the standard gzipped tar
archive format for all packages. Some common tasks you might need to use
during installation, are explained below with their respective commands. For an
extensive explanation of pacman's options, read man pacman or consult the Arch
Linux Wiki (http://wiki.archlinux.org/index.php/Pacman) .
19 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
Typical tasks:
# pacman -Sy
This will retrieve a fresh master package list from the repositories defined in the
/etc/pacman.conf file and decompress it into the database area.
Search each package in the sync databases for names or descriptions that match
regexp.
Displays information from the repository database on package foo (size, build
date, dependencies, conflicts, etc.)
# pacman -S foo
Retrieve and install package foo, complete with all dependencies it requires.
Before using any sync option, make sure you refreshed the package list.
# pacman --query
# pacman -Q
20 de 21 16/11/10 01:20
Official Arch Linux Install Guide - ArchWiki https://wiki.archlinux.org/index.php/Official_Arch_...
# pacman -Q foo
This command will display the name and version of the foo package if it is
installed, nothing otherwise.
Displays information on the installed package foo (size, install date, build date,
dependencies, conflicts, etc.)
This query displays the name and version of the package which contains the file
referenced by its full path as a parameter.
APPENDIX
See Official Arch Linux Install Guide Appendix (http://wiki.archlinux.org
/index.php/Official_Arch_Linux_Install_Guide_Appendix) for some related
unofficial documentation, new users may find useful.
21 de 21 16/11/10 01:20