1. Home
  2. Linux
  3. How to install arch linux

How To Install Arch Linux

When it comes to Linux distributions, Arch Linux is considered one of the difficult ones. This is mainly because it’s hard to install. Most installation instructions complicate the process. The distribution itself is meant to be used by those who are comfortable using a Linux system. It’s basically a distribution for power users and that leaves a good chunk of users without options. We’ve simplified the steps you need to follow to install Arch Linux. You must know the basics of a Linux system and know what partitioning etc, is in order to use it. If you’ve never run Linux in any form, this still isn’t something for you to try out.

What You Need

Before you get started, you need the following things;

  • A USB drive with at least 512MB space
  • The Etcher app: Download and install it on your system
  • The Arch Linux Distribution: Download
  • Look up how to boot into the BIOS on the system you will install Arch Linux on

Making the USB disk

Insert the USB drive and run the Etcher app. Select the Arch Linux ISO you just downloaded. Etcher will automatically detect the USB connected to your system (assuming you have only one connected). If you have several USBs connected to your system and Etcher has selected the wrong one, click ‘Change’ under the drive and select the correct drive.

Click ‘Flash’. You might be prompted to enter your admin password. Be patient! It may take a bit of time, depending on your system to complete.

Change Boot Order

You need to boot into Arch Linux from the drive you just created. Before you can do that, you need to make sure your system boots from a USB. Systems, by default, boot from the hard drive or an optical drive. To change the boot order, turn on your system and go to the BIOS settings.

There should be a tab called ‘System Configuration’. This tab will have a boot order or boot sequence option. Change the boot device order so that the first device listed is USB drives.

Booting

Before you boot into Arch Linux, it’s a good idea to first connect to your network router via an Ethernet cable. You can stick to connecting to it via WiFi but that will add an extra step after the boot process.

Connect the USB drive and turn your system on.  Wait while Arch Linux boots. You will see a series of commands wizz by on your screen. Don’t interrupt it.

When it’s booted, you will see root@archiso ~ # at the top of the command line interface. You’re now ready to create partitions and, connect to your WiFi if you want. It will automatically detect your Ethernet cable and connect to the internet. If you prefer WiFi read the next section to learn how to connect to it.

Connect WiFi

Enter the following command;

wifi-menu -o 

Select the WiFi network you want to connect to from the list of available networks. Modify the name so that it is the same as the network’s name. Enter your password, and Arch Linux will connect to the network.

Partitioning

Partitioning can seem daunting, though it really isn’t as big of a deal as it might seem. All that is required is a little know-how.

To start off, enter the following command into the console. This will display all known hard drives and partitions on the system. Determine what hard drive you wish to install to, and take note of what block device it is.

lsblk

For example: The first hard drive detected on the system is usually /dev/sda. Hard drive two would be /dev/sdb, and so on.

You need the Parted tool in order to create partitions. To start using the tool, run the following command.

parted /dev/sda

You will see the following at the top of the command line, indicating you have successfully switched to the Parted Tool.

GNU Parted 3.2

Using /dev/sda

MBR/BIOS

 

The BIOS version of Arch Linux needs no special partitions for booting. When you install this version of Arch Linux, all that is required is the root partition, and a swap partition.

In parted, start off by creating the partition table.

mklabel msdos

Mklabel deletes all partitions on the drive that has been opened with parted (in this tutorial example, it is /dev/sda), and gives it the MBR/BIOS partition table.

Next, the root partition needs to be created. To do this, you must understand how mkpart works.

For example: the drive that Arch Linux is being installed on to is  8 gigabytes in total. For the MBR/BIOS setup, two partitions are needed. Root and swap. A swap partition should be at least 2 GBs in size. This means that the root partition should be 6 GB.

mkpart primary ext4 1MiB 6GiB

Then, set the root partition into boot mode, with:

set 1 boot on

Finally, create the swap partition.

mkpart primary linux-swap 6GiB 100%

Lastly, exit parted.

quit

GPT/EFI

The process for partitioning in GPT/EFI is very similar to the MBR/BIOS mode. First, start off by opening parted.

parted /dev/sda

Then, create a partition table.

mklabel gpt

Next, make the EFI boot partition. This must be separate from the rest of the system.

mkpart ESP fat32 1MiB 513MiB

The second partition (or /dev/sda2) is the root partition. This is where all of the core Arch Linux system will live. Make it with this command.

mkpart primary ext4 513MiB 6GiB

Lastly, make the swap partition. Swap, though not talked about a lot is useful, especially when programs overflow physical ram.

mkpart primary linux-swap 6GiB 100%

Finished? Exit parted with this command.

quit

Mounting File Systems

After all that work in parted, the Arch Linux installer has a partition table to work with. From here, partitions need to be formatted, and mounted to the correct areas to prepare for installation.

MBR/BIOS

Format your root partition with the mkfs tool to the Ext4 file system.

mkfs.ext4 -F /dev/sda1

Next, mount it,

mount /dev/sda1 /mnt

And turn on swap.

mkswap /dev/sda2

swapon /dev/sda2

GPT/EFI

Format your boot partition as Fat32. Then mount both the home and root directories to the correct locations (in this case, /mnt and /mnt/home).  Additionally, create and turn on swap.

mkfs.fat -F32 /dev/sda1

mkfs.ext4 -F /dev/sda2

mount /dev/sda2 /mnt

mkdir /mnt/boot

mount /dev/sda1 /mnt/boot

mkswap /dev/sda3

swapon /dev/sda3

Installing The Core System

Everything is configured. Start the installation process with the pacstrap command. Keep in mind that this process may take some time.

pacstrap -i /mnt base base-devel

When pacstrap finishes, generate an Fstab. This is a file-system tab. This file keeps in mind all of the uuids, and filesystem mount points.

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

To start configuring the new installation, enter the Arch Chroot.

arch-chroot /mnt

Configuring The System

Start out by setting the locale. For those that don’t know, a locale determines your language. Using the nano text editor, find your locale, and remove the # from it. Then, use CTRL + O to save it.

nano /etc/locale.gen

Generate the locale on the new system, and set it as default.

locale-gen

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

export LANG=en_US.UTF-8

MBR/BIOS

The next step in configuration is to install the Grub bootloader.

pacman -S grub
grub-install --recheck --target=i386-pc /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

GPT/EFI

pacman -S grub efibootmgr

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg

Using the Nano text editor, edit the pacman.conf file. Scroll down, and remove all # symbols from in front of [multilib] (and the lines underneath it), then press CTRL + O to save the edit. Doing this ensures that you will be able to install 32 bit software on 64 bit systems.

nano /etc/pacman.conf

After the edit, re-sync Pacman with:

pacman -Syy

Install sudo to the system.

pacman -S sudo

Again, a file needs to be modified. using the Nano text editor, edit the sudoer file. Find %wheel ALL=(ALL) ALL, remove the # sign, and press CTRL + O to save the edit.

EDITOR=nano visudo

Create a new user for the newly installed Arch Linux system.

useradd -m -g users -G wheel,storage,power -s /bin/bash owner

Then, set the new username password.

passwd owner

Finally, set the new root password.

passwd

Picking a Desktop Environment

We’re at the last step of the process. Everything required for Arch Linux to function properly is in place — except for a desktop environment. A desktop environment, or “GUI interface” is very important. Without it, Arch Linux is a lot less user friendly. Let’s install one!

Start off by installing the Xorg system. This is important, and is the foundation of any desktop:

pacman -S xorg-server xorg-server-utils xorg-xinit mesa xf86-input-synaptics

Next, choose from one of the following in this list. Each item listed here is a desktop environment that can be used on the Arch Linux system. Select the one that you’d like to install by entering the commands listed.

Gnome Shell:

pacman -S gnome gnome-extra gdm networkmanager network-manager-applet
systemctl enable gdm

systemctl enable NetworkManager

KDE Plasma:

pacman -S plasma dolphin kwrite dolphin-plugins sddm networkmanager network-manager-applet
systemctl enable sddm 

systemctl enable NetworkManager

LXDE:

pacman -S lxde lxdm networkmanager network-manager-applet
systemctl enable lxdm 

systemctl enable NetworkManager

LXQT:

pacman -S lxqt sddm networkmanager network-manager-applet
systemctl enable sddm
systemctl enable NetworkManager

Cinnamon:

pacman -S cinnamon gdm networkmanager network-manager-applet
systemctl enable gdm
systemctl enable NetworkManager

Budgie:

pacman -S budgie-desktop gnome-extra gnome gdm networkmanager network-manager-applet
systemctl enable gdm
systemctl enable NetworkManager

XFCE4:

pacman -S xfce4 xfce4-goodies lxdm networkmanager network-manager-applet
systemctl enable lxdm
systemctl enable NetworkManager

Mate:

pacman -S mate mate-extra lxdm networkmanager network-manager-applet
systemctl enable lxdm
systemctl enable NetworkManager

Graphics Drivers

Intel:

pacman -S xf86-video-intel intel-dri lib32-intel-dri libva-intel-driver libva


Nvidia (New GPUS):

pacman -S nvidia nvidia-libgl lib32-nvidia-libgl nvidia-settings

Note: by installing this driver, you may be asked to remove Mesa, as they conflict with the Nvidia drivers. Do so.

Nvidia (Old):

pacman -S xf86-video-nouveau

Amd:

pacman -S xf86-video-ati mesa-libgl lib32-mesa-libgl mesa-vdpau lib32-mesa-vdpau

After all of these steps, it is safe to reboot the PC, remove the Arch live disk and turn on the newly created Arch Linux system

1 Comment

  1. Really good guide, but when installing the xorg packages, ‘xorg-server-utils’ has been replaced with ‘xorg-apps’.