Home / Linux / How to Install Arch Linux on a PC

How to Install Arch Linux on a PC

Arch Linux logo on a dark background
Rupesh Pathak/Shutterstock.com

Arch Linux is well-known for its complex command-based installation. But once you get familiar with the ins and outs of the process, you can install Arch on any computer without fear of the terminal. We’ll help you get there.

Note: The Arch Linux ISO includes a script called archinstall meant to help you through the process. As of this writing, the script is still experimental, however, and prone to errors in our testing. This guide will instead cover the standard installation method.

Download the Arch Linux ISO

The first step is to get the Arch Linux installation image from a suitable mirror. To do that, visit the Arch Linux Download page, and depending on how you wish to download the ISO, select the appropriate option. The available options include direct download, torrent, virtual machine image, “Netboot” install for wired connections, and more.

arch linux direct downloads page

To keep it simple, we’ll be doing a direct download. Scroll down to the list of available mirrors and choose one. Selecting a server closer to your geographical location will ensure that you get a fast and stable download speed. Verify the checksums of the ISO to confirm the downloaded file is genuine and secure.

How to Create Bootable USB Drives and SD Cards For Every Operating System

RELATEDHow to Create Bootable USB Drives and SD Cards For Every Operating System

The next steps include creating a bootable USB drive, restarting your computer, and booting from the newly-created installation media instead of the hard disk. The Arch Linux boot interface will load and you’ll be asked to choose from the various options displayed.

Select the default highlighted option by hitting “Enter.” After the system has successfully loaded files necessary for the installation, you’ll see the “root@archiso” prompt.

Preliminary Steps

Moving on, you need to have an active internet connection for the installation to complete. The Arch installer states that Ethernet and DHCP connections should work automatically. However, users on a wireless network will have to set up a connection manually.

Just to be sure, check if you are connected to a network by typing ping google.com. If the output looks something like this, then you can skip ahead to the next section.

check network on Arch Linux with ping

However, if the “Temporary failure in name resolution” error pops up, you need to establish an internet connection using the iwctl command.

First, launch the utility interactively by typing iwctl in the terminal. Then, check the name of your wireless interface by issuing the device list command. Generally, the name of the wireless interface will start with a “w”,  such as wlan0 or wlp2s0.

Next, run the following commands to scan for your SSID and connect to it. Replace [device] and [SSID] in the commands with your wireless interface and Wi-Fi name respectively.

iwctl station [device] get-networks
iwctl station [device] connect [SSID]

The system will then ask you for the Wi-Fi password if you have one set up. Type it in and press “Enter” to continue. Run ping google.com again to verify the connection.

Enable network time synchronization using timedatectl by running the following command:

timedatectl set-ntp true

Install the Arch Linux System

With your PC connected to the internet, you’re ready to begin. The Arch installation process at its core is similar to installing any other Linux distro. So what’s the catch?

Command Lines: Why Do People Still Bother With Them?

RELATEDCommand Lines: Why Do People Still Bother With Them?

While other distros provide a graphical user interface to configure and set up the OS, Arch Linux comes with only a command-line interface. Any instructions, commands, or configurations need to be done through the shell.

Creating the Necessary Partitions

To install Arch, you’ll need to create three partitions, namely EFI, root, and swap. List the available storage devices on your system using fdisk -l. Most of the time, the HDD would be listed as /dev/sda and SSDs will be listed as /dev/nvme0n1 .

Run fdisk  by typing fdisk /dev/sda or fdisk /dev/nvme0n1, depending on whether you’re installing the OS on an HDD or SSD. Then, type g and hit “Enter” to create a new GPT partition table.

RELATED: How to Use Fdisk to Manage Partitions on Linux

Type n to create a new EFI partition and choose the partition type primary . Hit “Enter” twice to proceed with the default partition number and first sector value.

For the partition size, you can either enter the sector number manually or specify the size you want the partition to have. Since you don’t want to waste disk space on EFI partitions, any number between 500M and 1G would work. Type +550M and press “Enter” to continue.

You are free to replace 550M in the aforementioned command with the size you want for the partition.

create partitions with fdisk

Similarly, create a swap partition with +2G as the last sector value. Finally, create a root partition and allocate all the remaining sectors to it by simply continuing with the default configurations.

RELATED: How Big Should Your Page File or Swap Partition Be?

By default, all the partitions will have the “Linux Filesystem” type. To change this, type t and hit “Enter” to proceed. Select the EFI partition by entering 1 . Then, type ef to change the filesystem to EFI System type.

Similarly, select the swap partition (partition number 2) and type 82 to convert the partition type to Linux swap. The root partition should be of Linux filesystem type, so we don’t need to change it.

Type w and hit “Enter” to write the changes to the disk.

RELATED: How to Choose a Partition Scheme for Your Linux PC

Formatting the Partitions

Now you need to format the partitions using the mkfs command. Format the /dev/sda1 (EFI) partition to FAT32 by typing:

mkfs.fat -F32 /dev/sda1

Again, run the following command to format the /dev/sda3 (root) partition to ext4:

mkfs.ext4 /dev/sda3

Issue the following commands one by one to format and enable the swap partition:

mkswap /dev/sda2
swapon /dev/sda2

Warning: For those who are dual-booting Linux with Windows, make sure you have the correct partitions set up. Pay extra attention when you’re formatting partitions or creating new ones, as a mistake here can render your Windows system useless.

Installing and Configuring the System

To be able to install Arch on your disk, you need to mount the created partitions to appropriate directories. Mount the root partition ( /dev/sda3 ) to the /mnt directory.

mount /dev/sda3 /mnt

The next step is installing the base Linux packages to the mounted root partition.

pacstrap /mnt base linux linux-firmware

This will take some time depending on your network connection. Once done, generate a file system table using the genfstab command.

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

The Arch Linux system is up and running on the /mnt directory. You can change root to access the system by typing:

arch-chroot /mnt

The change in the bash prompt denotes that you’ve now logged in to the newly installed Arch Linux system. Before you can proceed further, you’ll have to configure some settings and install the necessary packages for the system to work properly.

Set the local timezone by creating a symlink between the “/usr/share/zoneinfo” and “/etc/localtime” directories.

ln -sf /usr/share/zoneinfo/Region/City /etc/localtime

Replace the “Region” and “City” in the above command with the appropriate timezone. You can refer to this timezone database to check the region and city you need to input.

Then, sync the hardware clock with the system time by running:

hwclock --systohc

Before moving on, install Vim (or another text editor of your choice) and the “networkmanager” package.

pacman -S vim networkmanager

Next, edit the “/etc/locale.gen” file using your text editor and uncomment the locale statement that suits your needs. For the purpose of this guide, we will uncomment the en_US.UTF-8 UTF-8 line in the file using Vim.

vim /etc/locale.gen

After editing the file, type locale-gen in the terminal to generate the locale configuration.

Next, create a new hostname file inside /etc and add the hostname you want for your computer in the file. This can be anything you want, and you don’t need to enter anything but the name. When you’re done, don’t forget to save the file.

vim /etc/hostname

Create another text file with the name hosts under the /etc directory.

vim /etc/hosts

You’ll notice that the file already contains some comments. Leave the comments as is and append the following text to the file. Remember to replace hostname in the command with the system hostname you set in the previous step.        localhost
::1              localhost        hostname.localdomain        hostname

Creating and Configuring Users

Set up the root user password by typing the passwd command. Then, create an additional non-root user using useradd as follows, replacing username with your username:

useradd -m username

Configure the new user’s password using the passwd command, again replacing username with your username.

passwd username

Add the new user to the groups wheel , audio , and video using the command given below. Replace username with your username, and note that the group names in the command don’t have spaces after the commas.

usermod -aG wheel,video,audio username

Setting Up the GRUB Bootloader

First, install the grub package using pacman.

pacman -S grub

Then, install these additional packages required for the bootloader to work properly.

pacman -S efibootmgr dosfstools os-prober mtools

Mount your EFI partition ( /dev/sda1 ) to the /boot/EFI directory. Note that you’ll have to create the directory first with mkdir .

mkdir /boot/EFI
mount /dev/sda1 /boot/EFI

Finally, run the grub-install script to install the bootloader in the EFI directory.

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

Generate a GRUB configuration file using grub-mkconfig as follows:

grub-mkconfig -o /boot/grub/grub.cfg

Install a Desktop Environment in Arch

Unlike other Linux distros, Arch Linux doesn’t ship with a preinstalled desktop environment. And if you want to control the system via a GUI, you’ll have to install one manually.

You can install whichever DE you prefer, but we will install the KDE Plasma desktop on this system. Before that, however, let’s configure the display server, network manager, and similar services.

Run the following command to install the xorg , plasma-meta , and kde-applications packages:

pacman -S xorg plasma-meta kde-applications

Then, enable the SDDM and NetworkManager services by typing:

systemctl enable sddm
systemctl enable NetworkManager

Exit the arch-chroot environment by typing exit. Then, unmount the root partition mounted in the /mnt directory as follows:

umount -f /mnt

Finally, restart your system by typing reboot and remove the installation media. Once the system boots, you’ll notice that the dark terminal screen is now replaced with the colorful SDDM splash screen.

arch linux login screen after reboot

To log in, type the user password and hit “Enter.” You can also install multiple desktop environments and switch between each using the “Session” dropdown menu in the splash screen.

RELATED: How to Install and Use Another Desktop Environment on Linux

Leave a Reply

Your email address will not be published. Required fields are marked *



Check Also

How to Add and Remove Users on Ubuntu

Hannah Stryker / How-To Geek To create a new user named “maxn” ...