How to Install Arch Linux

Arch Linux is among the most popular Linux distributions out there. It is a perfect system for experts and the DIY type. So, if you like to do things your way, then Arch might be the distribution for you.

Developed and maintained by a community of dedicated nerds, Arch Linux offers you complete freedom. This even starts from the installation, as you are about to see.

It installs only a minimal package and lets you select what else you want. You can then install only the services and programs you need. This keeps your system lean and able to install on the widest range of machines. Arch also lets you stay ahead with the latest software releases, all the while, getting a deeper understanding of Linux.

If you are ready to dive into Arch, then this step by step guide will lead you through the steps. And you should get your system up and running in no time at all.

Arch Linux Installation Steps

Follow these steps to install Arch Linux:

1. Before you start – warning

First things first.

Before you start, please note that Arch Linux is unlike many other Linux distributions which come with a user-friendly installer and ready to use environment.

Arch Linux is not for babies. It is for computer experts and those who wish to become one. Its installation system is not user-friendly, it is nerd-friendly. There are no helpful hints along the way and you do not even get a graphical installer, not even ncurses-based.

On the brighter side, Arch Linux offers you the freedom that Linux represents in the computing world. You can install what you want and how you want it. And if you break the system, the fault is all yours.

You can also install it alongside your Windows operating system if you like. Or simply wipe off everything on the box and install Arch.

You will need at least, a USB stick with 1GB of space, a Live USB creator tool, and a second USB stick with GParted-live, if you want an easier time partitioning your hard disk. You also need an internet connection.

2. Download the Arch ISO file

The first step is to download the Arch ISO file. To do this, head over to https://www.archlinux.org/download/ and select which option best suits you.

3. Create a live USB drive

Rufus.ie is an easy-to-use little program for making Live USB discs. Download it, then run it, and insert your USB drive. Select the drive, select the downloaded ISO file, and click start. Remember to wait for it to finish before removing the stick and closing the program.

If you want an easier installation of Arch Linux and you have a second USB stick, you can download GParted-live and make a second Live CD from it.

Gparted is a graphical disk management program from GNOME and it is very user-friendly. Gparted-live is a bootable version of it that lets you partition and format any computer’s hard-disk from boot-up. Sure, it removes the fun of partitioning with fdisk, but it is your choice.

4. Check UEFI secure boot

Computers either come with a BIOS or UEFI start-up system. The key to enter this settings page is usually displayed when a computer starts up and can be F12, F1, F2, or F10, depending on your system.

If you have a BIOS system, then all you need is to make sure the ‘boot sequence’ allows USB to boot before the hard-disk. Just check for ‘Boot Option’ or Boot Setup’, select, save, and exit.

For UEFI computers, you will additionally need to disable ‘Secure Boot’, as this is the only way that the system will boot from a USB disc. ‘Secure Boot’ is a security system against root-kits, but we don’t need it here.

5. Boot the live USB

Restart your computer with the USB drive plugged in and you should land in a shell prompt. This is the installation environment and there’s no automatic system. So, you will have to enter all the commands and their options by hand.

Your first step should be setting up your system’s keyboard language if it is different from English (US), the default setting. You would otherwise find it difficult to issue commands effectively if you don’t. You can check for available keyboard layouts with the following command:

ls /usr/share/kbd/keymaps/**/*.map.gz

and then select, for example, a French layout with the following:

loadkeys fr-latin1

6. Partition and format your disk

The first part of an operating-system installation is to partition and format your hard-disk. The hard-disk or hard drive is your computer’s storage space, where you keep all the system files and additionally have extra space to save your files.

Partitioning is the process of dividing a single hard-disk into multiple sections. It is often helpful for installing multiple systems and for preventing a total system crash if a smaller partition was to fail.

Formatting, on the other hand, is the creation of a file system on a disk partition. Windows uses Fat32 and NTFS for instance, while Linux uses ext3 and ext4.

If you created the GParted-live stick, then you will first have to boot it before booting the Arch stick. All you need is to create enough space on the disk by shrinking your old (eg Windows) partition. You can go for 10GB or more, depending on how much space you have.

a) For those without GParted, this is where you need to call fdisk. Please note that fdisk is a very serious tool, so you need to read its guide very well before using it. Following are sample commands to wipe everything on a disk and make it ready for a Linux installation:

fdisk -l #list all the disks on the system

fdisk /dev/sda              #select disk sda for partitioning

Remember to change “sda” to whatever the fdisk -l command listed. Once you select the disk, fdisk will present you with options. They include:

n – Create a new partition

p – Print the partition table

w – Write the new partition and exit

m – Print help

After partitioning, each new partition will include a number, such as /dev/sda1 for the first and /dev/sda2 for the second partitions.

b) In the end you need two or three partitions, depending on your system:

i. You need a root partition to install the operating system. (eg /dev/sda1)

ii. You also need a swap partition to lessen the load on the system’s RAM. (eg /dev/sda2)

iii. You may need an EFI partition if you have a UEFI machine. Use 200MB or more. (eg /dev/sda3)

c) When you are done with the partitioning, it is time to format the partitions to make them ready for use. Enter the following commands:

mkfs.ext4 /dev/sda1

mkswap /dev/sda2

For UEFI machines, create a FAT32 system on the third partition with:

mkfs.fat -F32 /dev/sda3

d) Next, you need to mount the file systems and make them available to Arch for the installation process. Mount them with the following commands:

mount /dev/sda1 /mnt

swapon /dev/sda2

For UEFI machines, add:

mount /dev/sda3 /boot/efi

7. Connect To the Internet

Wired (Ethernet) connections should work out of the box, just plug in the cable. But you can also use WiFi if that is what you have available. To configure WiFi, enter the following command:

wifi-menu

Then, verify that you have internet with a ping, e.g

ping archlinux.org

Once you have internet available, you can set the system time with:

timedatectl set-ntp true

8. Install the Arch base

You must download Arch packages during the installation and the system provides many mirror servers for this. They are defined in /etc/pacman.d/mirrorlist. To avoid slow servers, you can simply go through the list and move the entries from your country or those that are closest to you, to the top.

Now, install Arch with:

pacstrap /mnt base linux linux-firmware nano vim

Note the two editors nano and vim are included. You are free to include whichever basic tools you need, as the base installation comes with nothing else.

9. Save your file structure

Next, you need to create an /etc/fstab file, so the system knows how to handle the different partitions when it boots next time:

genfstab -U /mnt >> /mnt/etc/fstab

10. Setup your Root Account

Now you need to log into the newly installed system and configure it. You do that with:

arch-chroot /mnt                                 #login as root

ln -sf /usr/share/zoneinfo/[Region]/[City] /etc/localtime #change region & city to yours

hwclock –systohc #adjust your system time

echo HOST > /etc/hostname   #change HOST to your host name

touch /etc/hosts #create a hosts file

Also add the following lines to /etc/hosts, replacing hostname and localdomain with yours, and 127.0.1.1 with your permanent IP address, if you have.

127.0.0.1 localhost

::1 localhost

127.0.1.1 hostname.localdomain hostname

If you changed your keyboard layout, make it permanent by editing /etc/vconsole.conf like this:

KEYMAP=fr-latin1

Setup localization with the following commands:

locale-gen

echo LANG=en_US.UTF-8 > /etc/locale.conf

export LANG=en_US.UTF-8

Remember to change ‘US’ with your language’s proper abbreviation. And finally, change your root password with:

passwd

11. Install a Boot-loader

Your system is now set up, but it will not boot next time because it lacks a boot-loader. So that’s what you will install using the following commands:

For UEFI machines, you need to mount the EFI partition before moving on.

mount /dev/sda3 /boot/efi

pacman -S grub #download and install grub

grub-mkconfig -o /boot/grub/grub.cfg #generate configuration files

If you are installing on a UEFI machine, then use:

pacman -S grub efibootmgr

grub-install –target=x86_64-efi –efi-directory=/boot/efi –bootloader-id=GRUB

12. Exit and Reboot

The installation is now complete and you can exit the chroot environment by typing exit, then restart your computer by typing reboot.

Conclusion

As you have seen, this is not your usual operating system installation with a shiny wizard to guide you along the way.

This is for those who know what they are doing, and this is just the start of your journey.

You will still need to install and configure many other packages, such as display and window managers, file managers, as well as other services you may need.

Nnamdi Okeke

Nnamdi Okeke is a computer enthusiast who loves to read a wide range of books. He has a preference for Linux over Windows/Mac and has been using Ubuntu since its early days. You can catch him on twitter via @bongotrax

Leave a Comment