news for on-premise technologies
← Back to Blog

Practical Tips for Installing Arch Linux

Installing Arch Linux is a rite of passage for many Linux users. Unlike user friendly distributions that handle everything for you, Arch expects you to build your system piece by piece. This guide offers practical tips to get through the process cleanly.

Verify boot mode before starting

Before you run any commands, confirm your system is booted in UEFI mode. Run this command:

ls /sys/firmware/efi

If the directory exists, you are booted in UEFI mode. If it does not exist, you are in legacy BIOS mode. The installation steps differ slightly so getting this right saves you from redoing partitions later.

Partition with fdisk using modern layout

Use fdisk /dev/nvme0n1 (or /dev/sda for SATA drives) to create two partitions. The first should be a 512 MB or 1 GB EFI system partition. Set the type to EFI System with the t command and confirm with p. The second partition takes the remaining space and should be type Linux root.

After partitioning, format them:

mkfs.fat -F 32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p2

Mount root to /mnt, mount EFI to /mnt/boot, then install the base system.

mount /dev/nvme0n1p2 /mnt
mount --mkdir /dev/nvme0n1p1 /mnt/boot
pacstrap -K /mnt base linux linux-firmware vim sudo

Generate fstab and chroot

Generate the filesystem table and enter the new system.

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

Inside the chroot, set the time zone, locale, and hostname.

ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
echo "myhostname" > /etc/hostname

Install a bootloader

For UEFI systems, systemd-boot is simple and requires minimal setup.

bootctl install

Create /boot/loader/entries/arch.conf with the root partition UUID from blkid /dev/nvme0n1p2. If you prefer GRUB, install grub and efibootmgr then run grub-install and grub-mkconfig.

Create a user and enable networking

Set a root password, create a regular user, and enable NetworkManager.

passwd
useradd -m username
passwd username
usermod -aG wheel username
systemctl enable NetworkManager

Edit /etc/sudoers with visudo to uncomment the wheel group line.

Common pitfalls

New installs often fail because the EFI partition is not mounted before pacstrap or the bootloader entry points to the wrong partition UUID. When the system boots to a black screen, boot from the USB again, mount everything, chroot in, and check blkid against your loader entry. Another frequent mistake is forgetting the -K flag on pacstrap, which skips the initramfs generation and leaves you unable to boot.

Take it slow, read each command’s output, and reference the Arch Wiki when something is unclear. The upfront effort pays off with a fast, minimal system you fully understand.

References