Installation Guide

From ParabolaWiki
(Redirected from Installation guide)
Jump to: navigation, search

This page assumes a high-level of experience with GNU/Linux systems and utilities, especially the command line. If you'd like a more detailed, step-by-step guide through the installation process, see the Beginners' Guide. Before beginning, we recommend you view the Arch Linux FAQ, and employ the man command to read the man page of any command they are not familiar with. The Parabola wiki, as well as the Arch Linux wiki, should be the primary source of information and your first resource during trouble-shooting.

Note: The install procedure varies in several ways, depending on the init system that you choose. If you have no preference, SystemD is the recommended option. Throughout this guide, pay speciial attention to sections which distinguish between SystemD and OpenRC systems.

1 Download

Download a Parabola GNU/Linux-libre ISO from the download page. These are provided with your choice of systemd or OpenRC as the default init system.

  • The 'dual' ISOs can be booted into either an i686 or x86_64 live system. The 'net-install' ISOs will boot into a live system but will require an active connection to the internet for installation. The 'complete' ISOs will boot into a live system as well, but are capable of installing a full Parabola system with or without a connection to the internet.
  • ISO images are signed and it is highly recommend to verify their signature before use. On Parabola GNU/Linux-libre, this can be done by using pacman-key -v <iso-file>.sig. On other systems: gpg --verify <iso-file>.sig. You may have to import the key from a keyserver with gpg --recv-keys <0x key ID>.
  • The ISO image can be burned onto a CD, written onto a USB memory stick, booted directly by a virtual machine, or booted directly from GRUB. It is intended for new installations only or to be used as a recovery system; an existing Parabola GNU/Linux-libre system can always be updated with pacman -Syu.
  • Checksums are provided for each edition in the accompanying SHA512SUMS and WHIRLPOOLSUMS files. They can be verified with: sha512sum -c SHA512SUMS and whirlpool-hash -c WHIRLPOOLSUMS.

2 Blind and visually impaired users

There is a ISO called TalkingParabola that is a derivative install CD based on TalkingArch and a respin of the Parabola ISO modified to include speech and braille output.

3 Creating the install media

3.1 Writing a Parabola ISO image to a CD/DVD

The Parabola Live ISOs can be burned to a CD or DVD most simply using a graphical tool such as 'brasero', 'k3b', or 'xfburn'. The 'cdrecord' utility can be used to burn a CD or DVD from the comand line.

3.2 Writing a Parabola ISO image to a USB drive

Warning: The following command will erase everything that is currently on the USB drive.
# dd if=[iso file] of=[usb device file] bs=1M && sync

[iso file] is the path to the ISO image file.

[usb device file] is the path to the USB device file. dmesg or lsblk --fs can be used to learn this path. It is often similar to device filenames of storage devices like hard drives and SSDs, e.g. /dev/sdb

Warning: It is very important to use the correct value for [usb device file] to avoid overwriting other storage devices.

4 Installation

4.1 Keyboard layout

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

4.1.1 Braille Support

TalkingParabola includes brltty, for those who own braille displays. The brltty package available on the TalkingParabola CD was compiled with as few dependencies as possible. If you wish to use braille, you will need to supply the brltty parameter at the boot prompt. Alternatively, you can start brltty from the shell, after the system has booted.

The brltty boot-time parameter consists of three comma-separated fields: driver, device, and table. The first is the driver for your display, the second is the name of the device file, and the third is a relative path to a translation table. You can use "auto" to specify that the driver should be automatically detected. You can read the brltty documentation for a fuller explanation of the program.

For example, suppose that you have a device connected to /dev/ttyS0, the first serial port. You wish to use the US English text table, and the driver should be automatically detected. Here is what you should type at the boot prompt:

arch32 brltty=auto,ttyS0,en_US

Once brltty is running, you may wish to disable speech. You can do so via the PrintScreen key, also known as SysRq. On my QWERTY keyboard, that key is located directly above the Insert key, between F12 and ScrollLock.

4.2 Partition disks

See partitioning for details.

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

4.3 Format the partitions

See File systems for details.

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

4.4 Mount the partitions

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

4.5 Connect to the Internet

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

4.5.1 Wireless

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

4.6 Verification of package signatures

Warning: Check that the date is correct at this point, otherwise gpg key files' timestamps will be in the future and keyrings installation won't work

New packager keys are necessary by default to install Parabola from current ISOs. Because changes in existing keys might happen since the ISO release, it is often necessary to update the keys before attempting an install.

# pacman -Sy archlinux-keyring archlinuxarm-keyring parabola-keyring
# pacman -U

4.6.1 Errors and solutions during verification process

  • If you face GPG errors during the install process, you may need to repeat these steps a second time. If the first step fails, attempt to continue with the others.
  • If you get an error related to dirmngr, you can get rid of it with:
# mkdir /root/.gnupg && chmod go-rx /root/.gnupg && touch /root/.gnupg/dirmngr_ldapservers.conf

(running the previous command might also be needed in the newly installed system.)

  • It may be also possible that the system clock is behind and the keys are incorrectly marked invalid. To solve this, manually set the correct current time.
# date MMDDhhmm[[CC]YY][.ss]


  • MM is the month
  • DD is the day
  • hh is the hour
  • mm is the minutes
  • CC is the century
  • YY is the year
  • .ss is the seconds (they can be omitted, but please remember to also remove the leading dot in that case)

For instance if the current time is 32 seconds and 44 minutes past 18 (6 pm) on the 13th November 2013 then the command would be:

# date 111318442013.32

4.7 Install the base system

4.7.1 Systemd

This section describes the bare minimum requirements for every Parabola systemd system.

Install the Parabola systemd base system using pacstrap:

# pacstrap /mnt base

4.7.2 OpenRC

Note: If you are not installing from one of the OpenRC LiveISOs, ensure that pacman is subscribed to the nonsystemd package repo before beginning the install process.

This section describes the bare minimum requirements for every Parabola OpenRC system. There are additional requirements that apply when installing a graphical desktop. Those are noted in a later section.

Install the Parabola OpenRC base system using pacstrap:

# pacstrap /mnt base-openrc systemd-libs-dummy

Beneath the OpenRC service manager, there needs to be a separate /sbin/init program, often called: the PID-1 provider. The 'base-openrc' package group as installed above, contains 'openrc-init'; which is fully adequate. There are other compatible init programs however, that provide the openrc-pid1 pseudo-package if you have a preference. You can get an up-to-date list of providers by running expac -S '%n %P ' | sed -n '/ openrc-pid1[= ]/s/ .*//p'. Currently the options are:

After installing an openrc-pid1 provider, OpenRC should boot by default instead of systemd. Note that it will boot to a command line, as the service for a graphical display manager has not yet been installed.

You also have a choice of udev implementations to set up hardware devices; but as with the init program, a prefectly adequate one ('eudev') is installed already with the 'base-openrc' package group. You can get an up-to-date list of choices by running expac -S '%n %P ' | sed -n '/ udev[= ]/s/ .*//p'. Currently the options are:

  • eudev (the base-openrc default): Gentoo's fork of udev
  • systemd-udev: The traditional udev implementation
  • notsystemd-udev: The traditional udev implementation, but compiled differently

On installing any *-openrc package, one may get messages like:

run 'rc-update add cronie default'
run 'rc-update add dbus default'

4.7.3 Notes and other packages

  • Before installing, you may want to edit /etc/pacman.d/mirrorlist such that your preferred mirror is first. This copy of the mirrorlist will be installed on your new system by pacstrap as well, so it's worth getting it right.
  • If you face GPG errors when running # pacstrap, mind the advice in the signature verification section.
  • If you have a btrfs root, you probably want to install also btrfs-progs.
    • For f2fs, install f2fs-tools

4.8 Service management

For maintaining your Parabola GNU/Linux-libre installation, it is a good idea to learn the basics about your service manager.

4.8.1 Systemd

Interaction with systemd is done through the systemctl command. Read a:systemd#Basic systemctl usage for more information.

4.8.2 OpenrRC

Interaction with OpenrRC is done through the rc-update, rc-service, and rc-status commands.

Newly installed services will need to be added to specific runlevels. The 'default' runlevel is the only one that most users will need. For example, during the initial install, you need to activate the 'dbus' (system message bus) service. During the initial install, you will need to to "chroot" into the target system first, in order to accomplish this. That will normally not be necessary, once the system is installed and running.

  • "chroot" into the target system:
# arch-chroot /mnt
  • activate the 'dbus' service:
# rc-update add dbus default
  • exit the chroot:
# exit

The dbus service is now added to the default runelevel and would automatically be started at boot.

cronie (for cron) is another example of a common services that can be enabled.

4.9 Graphical Desktop Environments

4.9.1 Systemd

There are no special requirements during the initial install for using a graphical desktop with a Parabola systemd system.

4.9.2 OpenrRC

This section describes the bare minimum requirements for using a graphical desktop with a Parabola OpenRC system.

The openrc-desktop package group can be used to install essential software needed for desktop environments.

# pacstrap /mnt openrc-desktop systemd-dummy

Also you need to install polkit-elogind to gain enough desktop privileges for operations like shutdown, mounting usb device:

# pacstrap /mnt polkit-elogind

Next you need to enable the 'elogind' service. Again, during the initial install, you will need to to "chroot" into the target system first, in order to accomplish this. That will normally not be necessary, once the system is installed and running.

  • "chroot" into the target system:
# arch-chroot /mnt
  • activate the 'dbus' service:
# rc-update add elogind default
  • exit the chroot:
# exit

Note that no display manager, window manager, nor desktop environment has been installed yet while following this guide. There are many to choose from; but that is beyond the scope of this guide.

4.10 Install and configure a bootloader

4.10.1 GRUB 2

  • For BIOS and EFI:
# pacstrap /mnt grub

4.10.2 Syslinux

# pacstrap /mnt syslinux

4.11 Install wireless tools

If your wireless network is WPA protected, you'll need wpa_supplicant to connect to it:

# pacstrap /mnt wpa_supplicant

If you're using wifi-menu to connect, you'll also need the dialog package:

# pacstrap /mnt dialog

4.12 Configure the system

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

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

Next we chroot into our newly installed system:

# arch-chroot /mnt

4.12.1 Set host and hostname

  • Write your hostname to /etc/conf.d/hostname when using OpenRC:

When using systemd, you should add it to /etc/hostname:


And add matching entries to /etc/hosts:

/etc/hosts	localhost
::1		localhost	myhostname.localdomain	myhostname

If the system has a permanent IP address, it should be used instead of

Your computer's hostname can be anything that you like, consisting of letters a-z, digits 0-9, and hyphens '-'.

4.12.2 Set timezone and locales

  • Symlink /etc/localtime to /usr/share/zoneinfo/Zone/SubZone. Replace Zone and Subzone to your liking. For example:
# ln -sf /usr/share/zoneinfo/Europe/Athens /etc/localtime
  • Set locale preferences in /etc/locale.conf
  • Add console keymap and font preferences in /etc/vconsole.conf when using systemd, or in /etc/conf.d/keymaps and /etc/conf.d/consolefont when using OpenRC.
  • Uncomment the selected locale in /etc/locale.gen and generate it with locale-gen

4.12.3 Generate boot disk

  • Configure /etc/mkinitcpio.conf as needed (see mkinitcpio) and create an initial RAM disk with:
# mkinitcpio -p linux-libre

4.12.4 GRUB configuration

  • If you want to install GRUB for the (U)EFI mode, you will need to make sure that:
    • The computer booted in (U)EFI mode (if /sys/firmware/efi exist, then it booted in (U)EFI mode)
    • The efivars module is loaded. (modprobe efivars will load it)
  • To configure the bootloader, you have to install it and generate the file grub.cfg:
# grub-install /dev/sdX
# grub-mkconfig -o /boot/grub/grub.cfg

4.12.5 Configure pacman

Edit /etc/pacman.conf and configure pacman's options, also enabling the repositories you need.

Note: OpenRC

If you are running OpenRC rather than systemd, make sure to add the nonsystemd repo.

See Pacman and Official Repositories for details.

Also consider using Pacman2pacman, a peer to peer package system, in order to reduce load on official Parabola servers.

4.12.6 Configure speech support (for blind and visually impaired users)

If you are using TalkingParabola and need start speech support when you boot the system, you will need to do:

# systemctl enable espeakup.service
  • Save the state of the sound card, so that it will be retrieved on reboot:
# alsactl store

4.12.7 Set users and passwords

  • Set a root password with passwd
  • Add a normal user. See User management for advanced examples.
# USERNAME='your-username-here'
# useradd -m $USERNAME
# passwd $USERNAME

4.12.8 Last steps

4.13 Unmount and reboot

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

# umount /mnt/{boot,home,}

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

4.14 Update the system

At this point you should update your system. See Upgrading packages for instructions.

5 Conclusion

Your new Parabola GNU/Linux-libre base system is now a functional GNU/Linux environment.

You can now continue here.

6 Acknowledgement

This wiki article is based on ArchWiki. We may have removed non-FSDG bits from it.

7 See also