How to Install Arch Linux

How to Install Arch Linux

by: Music47ell
1810 Words / 9 Minutes

Last month, I was bored, so I decided to learn how to install Arch, to see what it’s all about and obviously, so I can say: BTW, I use Arch!

Few clicks here and few clicks there and my laptop was rocking Manjaro BSPWM.

Wait, what?

Well, despite the fact that Manjaro is a great OS, the installation process felt too easy, and I was still feeling bored. And thus, it only lasted for a day on my laptop.

Next day, I downloaded “the real deal”. A double d command here, a large cup of coffee there, eyes wide open reading the Arch Wiki and an hour later my machine was rocking Arch.

After my machine was finally blessed with Arch and everything was working as expected, I formatted the hard-disk and installed Arch again. And repeated this process 3 times.

Why?

I wanted to make my self familiar with the commands that I had to execute to get Arch up and running.

And when I installed Arch for the 3rd time, I decided to write all the commands that I executed, so I can turn it into a How-To article. And here it is.

How to Install Arch Linux

Step 0: Preparation

Before starting, make sure that you read the Installation Guide on Arch Wiki, just to get your self familiar with what kind of hell you’re putting yourself in.

Decide whether you want to go with GPT or MBR. I went with MBR and nuked my entire hard-disk that contained Windows 10.

Watch a YouTube video on how to install Arch just so you can get an idea about the entire process. The Savage Edition installation of Arch is a great step by step video on How to install Arch by Luke Smith.

And finally, downloaded the latest version of Arch and burn it to a USB stick using dd if you are on a Unix or a Linux OS, or use Rufus if you are on Windows.

Now that you’ve done all the above and you booted into your Arch USB stick and you are looking at the boot menu, let’s start installing Arch.

Step 1: Let’s boot into it

Arch boot menu

Select the first option: Boot Arch Linux (x86_64).

Connect your laptop to the internet using an Ethernet cable and check if the Internet works by pinging Google:

ping google.com

Stop pinging by pressing CTRL c

Update your system clock:

timedatectl set-ntp true

And check that the time is correct:

timedatectl status

Arch timedatectl

Step 2: Formatting the hard disk

Now, we need to format the hard disk using fdisk, but first, we have to know the name of our hard disk and to do that, execute the command:

lsblk

Arch lsblk

This will list all the block devices connected to your PC, including the USB stick that you are using to set up Arch.

In my case, the hard disk I want to format is called sda. To enter the hard disk and format it using fdisk type and enter this command:

fdisk /dev/sda

You should be looking now at a message that says Welcome to fdisk.

Arch fdisk

Hit m and then press enter for the help menu. Read all the commands to make yourself familiar with them.

Now, let’s nuke some disks.

We need to format the entire hard disk, and to do that you do the following:

Press d and enter. And enter again to confirm which partition.

You might have to do this multiple times depending on how many partitions your hard disk has. And you might be asked if you want to remove a signature, type Y and enter.

If a message appeared that says: No partitions are defined yet, this means that there are no more partitions to delete.

Step 3: Partitioning the hard disk

It’s time to partition out the hard disk. This is how I partitioned my disk:

  1. Boot partition, +200M
  2. Swap partition, +20G
  3. Root partition, +50G
  4. Last partition is the remainder of your hard disk.

Inside fdisk, start by typing n then enter.

You will be asked to make decisions:

Type P and hit enter for Primary partition. We will pick P for all the partitions that we will create.

Hit enter when you get asked for a Partition number and First sector. We will simply hit enter on these two questions every time we create a new partition.

Now, for the last sector, you type the size that you want just like I wrote above.

Repeat this process based on the number of partitions that you want to create and when you are done, press w and enter.

The disk will be formatted based on your specification and fdisk will quit.

Step 4: Setting the partitions filesystem

Now we need to tell Arch how to store data on these partitions using File Systems. We will choose the ext4 filesystem type which can support volumes with sizes up to 1 exbibyte (EiB) and single files with sizes up to 16 tebibytes (TiB) with the standard 4 KiB block size.

Set ext4 filesystem type on partitions 1, 3 and 4.

mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4

Arch mkfs

As for partition number 2, we need to turn that into a swap partition.

Swap is space on a disk that is reserved for use as virtual memory. When a Linux server runs out of memory, the kernel can move inactive processes into swap space to make room for active processes in the working memory.

Rackspace

To create a swap file, execute these two commands:

mkswap /dev/sda2
swapon /dev/sda2

Step 4: Mounting the partitions

We need to create folders, each will serve a different purpose. And then, we need to mount them in a specific place in our partitions.

Execute the following command to create a home folder that will contain user-specific configuration files, caches, application data, and media files.

mkdir /mnt/home

The next command will be for the boot folder which will contains the kernel and ramdisk images as well as the bootloader configuration file and bootloader stages.

mkdir /mnt/boot

Now, execute the following command to mount root, boot, and home:

mount /dev/sda3 /mnt
mount /dev/sda1 /mnt/boot
mount /dev/sda4 /mnt/home

Execute ls /mnt and you should see the lost+found folder and home and boot

Step 5: Installing Arch

Now that our hard disk is formatted, partitioned, with the proper filesystem and all the important folders are mounted in the right places, all we have left to do is download Arch.

To do that, we need to use pacstrap: an install script that will allow us to install Arch using a valid mirrorlist that is stored in /etc/pacman.d/mirrorlist.

You have three options to install Arch, the first one being to Install Arch without anything else. And to do that, simply execute the following command:

pacstrap /mnt base

Or, you can install Arch with all the bells and whistles that you will inevitably need. Things like gcc, grep, gzip, make, pacman, sudo and systemd and much more. To install all of these packages automatically, enter the following command instead:

pacstrap /mnt base base-devel

Last but not least, you can enter the name of specific packages to be installed, like:

pacstrap /mnt base base-devel vim

Arch pacstrap

After executing this command, Arch will check the mirrorlist, and start downloading Arch and all the up-to-date packages.

Step 6: fstab & chroot

After Arch is installed, we need to create the fstab file which will define how disk partitions should be mounted into the filesystem.

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

Now we can chroot to the Arch Linux system that we just installed by executing this command execute this:

arch-chroot /mnt

Step 7: NetworkManager

Now that we are in our newly installed Arch system, we need to configure few things.

First, we need to connect our machine to the Internet. And to do that, we need to install a network manager using pacman:

pacman -S networkmanager

Arch NetworkManager

Now you have to tell systemd to automatically start networkmanager every time the laptop start:

systemctl enable NetworkManager

Arch systemctl NetworkManager

Step 8: Grub

It’s time to install the bootloader that will allow you to manage all the partitions in your hard disk and manage the operating systems on your machine.

There are many bootloaders available for Arch, check out this comparison of all boot loaders. I went with GRUB.

To install GRUB, execute the following command:

pacman -S grub

Now that we installed the GRUB package, we need to run GRUB while specifying our hard disk:

grub-install --target=i386-pc /dev/sda

Arch Grub install

Finally, create the GRUB configuration file:

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

Arch grub mkconfig

Step 9: System configuration

Now that our hard disk is running a bootloader and it’s configured properly, we need to set a few things so that our system can run smoothly.

Things like password, locale, system clock…etc.

To set a password for our root account, type:

passwd

Enter your password and hit enter.

Generate the locale file:

generate locale

Then edit the file /etc/locale.gen and uncomment the lines that have your language. For English, uncomment the following lines:

#en_US.UTF-8 UTF-8
#en_US ISO-8859-1

To uncomment them, simply remove the #

Save the file and generate the locale:

locale-gen

Create the file /etc/locale.conf and paste the following inside of it:

LANG=en_US.UTF-8

To set your timezone, execute this command based on your location. Mine looked like this:

ln -of /usr/share/zoneinfo/Turkey/Istanbul /etc/localtime

Then, we need to run hwclock to generate /etc/adjtime for the hardware clock:

hwclock --systohc

In order to identify your Arch machines on a network, you need to set a hostname, to do that, edit the /etc/hostname file, enter a name and then exit.

Next, add matching entries to /etc/hosts like the example below.

127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname

Type exit and hit enter to exit Arch and then unmount using this command:

umount -R /mnt

Step 10: Setting up the user account

Now, reboot your machine and let it access Arch that we just installed on your machine’s hard disk.

Create a new user using the command below:

useradd -m -g wheel music47ell

Add a password to the new account you just created:

passwd music47ell

The last thing we need to do is give our newly created account a sudo access so that it can execute root command. And we can do that by editing the sudoers file by doing the following:

root

Enter the root password

And then edit the file /etc/sudoers

Search and uncomment the line that says:

#%wheel ALL=(ALL) ALL

Save the file, execute the command exit and you’re good to go.

Conclusion

Congratulation, you just learned how to install Arch in these “few” steps.

Arch is a great OS for people who like to have a fast, reliable, functioning OS that they build and configured on their own. You can rice it however you want and make it look like something that no one else saw before.

Check out this subreddit and see all the crazy rice that people are doing with Arch.