Installing Arch
By Isaac
Arch Linux is a "lightweight and flexible" Linux distribution that adheres to the KISS (keep it simple, stupid) principle of design.
Why Arch?
Arch's inherent customisability and lightweight design means it's the distro of choice for many users who like to have a lot of control over their operating system, the ability to choose exactly what packages you want, what desktop environment, services, and components, it's all up to you in Arch.
Not only do users have granular control over the operating system at pretty much all times, the packages found in the pacman
manager are the most up to date versions of the packages available across essentially any Linux distribution. Arch adopts a rolling release model, which means that as soon as a new kernel or application version is rolled out publicly it is immediately available to Arch users, this contrasts with many other Linux flavours and non-Linux operating systems, who tend to release updates in one big go.
Arch's installation process is famously complex and unforgiving, however this comes with a much more in-depth knowledge of how Linux works, having to configure drive partitions and aspects of networking manually results in an understanding of Linux far greater than a standard distro installation will afford you, and a greater sense of accomplishment to boot!
If any part of the installation confuses or confounds you, a final pro of Arch (which actually is relevant to most distributions) is the Arch Wiki, it's some of the best and most comprehensive documentation on any piece of software I have ever come across, this website will be absolutely invaluable to you.
Installation
In VM
I will be installing Arch in VMWare Workstation Pro 16, with the license that comes with being in Abertay Uni. The .iso
, the file containing the required data for operating system installation, can be found here. In VMWare Arch comes under "Other Linux 5.x and later kernel 64-bit", I gave it 20GB disk space and 4GB RAM.
It's also of critical importance that the OS is booted in UEFI mode, otherwise later steps mightn't work (found this one out the hard way lol). To do this you right click the VM and go to Settings>Options>Advanced>Firmware Type
and switch BIOS
to UEFI
.
A note: DO NOT skip anything in here, missing one thing early on can have bad results much later down the line which could end uip in you having to restart the whole procedure
Opening Stage
On booting for the first time, you should see this screen:
hit enter or wait 15 seconds, you should then be presented with this screen (a bash shell):
Now we can begin entering commands!
First we need to verify that we're in UEFI mode (which we already switched to earlier), this can be done by running
If a list of files is returned then we can move on to the next step, verifying network services.
The Arch installation environment should have already started network services for us, this is of great importance to us as there are some packages that we're going to need to install during this process, specifically a text editor, in order to continue. To verify this, run:
If that worked, we can now move on to setting the correct time by updating the system clock with:
Drive Partition
To partition the drive we first need to run lsblk
to verify the partitions currently present in the ISO. you should see a partition called loop0
, one called sr0
, and an extra one, most likely called sda
, which is the size that was allocated earlier on (20GB in this case).
To begin creating the installation partitions, run
When the following window shows up, select GPT
You should now see a window containing a menu with single line containing the word Free space
. This is the partition menu, we will be creating three partitions here:
sda1
, which will be aFAT32
formattedEFI
partition, where the bootloader etc will be storedsda2
, which is going to be theroot
partition, where the userspace will besda3
, aswap
partition, a space on disk used when the RAM is at capacity
Hit enter on Free space
(or new at the bottom), then type 500M
then hit the right arrow on your keyboard once to get to Type
, where you can select the type of partition in a menu, EFI System
is at the top
Go down and hit enter on Free space/New again, type 18.5G
, specifying the type isn't necessary here
Repeat the step 1 more time, type 1G (if needed), Type
again, and select Linux Swap
Use the arrow keys to go to Write
along the bottom, hit enter, type the word yes
, and then Quit
the program
you now have the three necessary partitions to continue, you can verify this by trying lsblk
again and seeing all three sdax
partitions available in the correct sizes
Now we must create the filesystems by entering the following commands:
Next we mount the partitions (we don't need to mount swap)
And there's the filesystem partition!
Essential Package Installation
To install the essential packages required for the base Arch system, we enter
This may take a few minutes, could be a good time to grab a drink lmao.
When that's finished we generate an fstab
(file systems table) file using the following command so the system knows where to mount the partitions on boot
System Customisation
Now the base is installed, we have to begin customising the system to our needs. Run
to change root directory into the mounted partition to begin customisation.
The following will assume you are located in the United Kingdom, if not, research whatever region-specific settings are relevant to your area.
To specify time zone, enter
Next, you should install a text editor of your choice (I use vim) by running
Edit the /etc/locale.gen file and uncomment the locale that you require for your keyboard layout, in my case it will be the line containing en_GB.UTF-8 UTF-8
, on line 160, then run
in order to generate the locales.
Next, create and open a file located at /etc/locale.conf
, and add (in my case) the line LANG=en_GB.UTF-8
, then edit /etc/hostname
and add your chosen hostname, I will be going with izbrarch
. After this edit /etc/hosts
and add the following line:
Next we have networking. At the moment, the Arch installation environment has a series of preconfigured network settings (in systemd
) in order to facilitate required installations, however the full post-installation system still needs a configured network. In order to configure this, run the following:
After this, run the ip addr
command, this should show two sets of data, the first one, lo
, is localhost and therefore already configured with 127.0.0.1
, the second one, however (on my machine ens33
) is relevant for the next step
Create and edit a file located at /etc/systemd/network/20-wired.network
and add the following lines:
The network configuration is now complete.
Change your password using the passwd
command
If you're on an intel CPU, install intel-ucode
using pacman
Installing Bootloader
The final stage to installing Arch is getting the bootloader in place, this is the software that is responsible for booting the computer. By far the most popular bootloader is GRUB
, which we will be installing to the EFI
partition in SDA1
After this we can exit the file system, reboot and we're pretty much done! Run the following:
After this you can follow the Arch Wiki's General Recommendations page with regards to what do to with a fresh install, or take a look at the List of Applications on there, too
Happy Arch-ing! :)
Last updated