Arch Installation Guide
This is a guide documenting the installation process for Arch Linux 5.11 (BIOS & UEFI)
1- Download the ISO & create Bootable Media
The first step will be downloading the latest X86_64 Arch release (In my case it was release: 2021.04.01 ). It is a good idea to verify the checksum of your ISO download (SHA1, MD5, etc. can all be found on the Arch Linux download page)
I used etcher to write the iso file to a bootable USB drive
2- Boot from installation media
Proceed to boot from your newly created bootable media. When selecting the Install Medium in the arch menu make note of whether the menu says UEFI or BIOS this will effect how the system is created.
Proceed to launch into the installer.
3 - Configure networking
Next networking must be configured. In my case I used an Ethernet cable and the environment was already configured with DHCP so the IP address was automatically assigned. Using ping the command we can confirm that there is internet connectivity.

If you are using WIFI to connect to the internet you can connect using the iwtcl command. More information about the IWD package can be located here.
4- Partition Disk
(BIOS)
For this next section we will be using the fdisk command. This is a CLI menu based tool for modifying partition tables. First run the command fdisk -l. This will list connected drives and their partitions. Once you have identified the drive you wish to be modifying we will begin creating in order the boot, root, and swap partitions. When using the fdisk command make sure to also specify location.

For my VM I will be allocating 1Gb to the boot partition, 2Gb to the swap partition, and finally 17gb to the root partition. When working through the fdisk utility make sure to set each partition as primary and use enter for choosing the default number at the start of a boot sector.
(UEFI)
Use the Fdisk utility to create a /efi (at least 1 Gb), /swap (2x amount of RAM), and /root partitions.
6- Create Filesystem
(BIOS)
Next we need to use the mkfscommand to create the needed file systems for each partition. If you numbered your partitions in the same order they were created in the previous step you can use the following commands to create your Filesystem

Note the command specifies the type of file system then the partition location. More info on this command can be found here
(UEFI)
UEFI is very similar to setup to BIOS however there is a key difference. Our boot sector will have a FAT 32 file system instead of EXT2.
7- Mount Partitions
(BIOS)
Next we will be mounting the partitions. The root partition needs to be mounted to the /mnt directory. Any additional partitions created must be mounted in their respective directories on /mnt . This means we would mount the boot partition to /mnt/boot. Lastly we must initialize the swap partition.

(UEFI)
8- Select Mirrors
To download the necessary packages for Arch we must find a mirror server that is close by and working properly. To do this we use the reflector command which filter's the up to date mirrors, sorts them by speed, then updates the mirror file. It's a good idea before doing this to backup your current mirror file with the following command.
Now, with the following command we will update the mirror file.

9- Install the base Arch Linux System
Use the following command to begin the installation process. This may take a little time depending upon your internet speed.

10- Create Fstab
After successfully installing the base Arch Linux system, generate the fstab system file using the following command
You can verify the fstab entries using the following command

11- Arch Linux System Configuration
We will be using the chroot operation to change the root directory for the current running processes and their children.

12- Set System Language
You can configure the system by un-commenting the required language from the /etc/local.gen file. American English is en_US.UTF-8 UTF-8. The command to edit this file in vi is:

Next we need to generate the localization files with the following command:
Now set the LANG variable to the language you selected in the /etc/local.genfile. If you selected English as I specified above the command would be:

13- Set Timezone
Now to configure the system time zone we create a symlink of your timezone to the /etc/localtime file. All the available time zones are located in the /usr/share/zoneinfo directory.
Finally set the hardware clock to UTC (coordinated universal time) with the following command

14- Set Hostname
Set the hostname by placing it in the /etc/hostname file.
15- Set root password
Set your desired root password use the passwd command.
16- Install GRUB boot Loader
Arch requires a bootloader to function. The following commands will install the GRUB boot loader.

17- Reboot
Now exit from chroot and reboot

18- Login to Arch Linux
Once the system is rebooted you should be prompted to login to arch Linux. Login as root with the password you previously setup on step 15.

Last updated