Arch Linux Installation Guide: Step-by-Step Setup for Beginners & Advanced Users

Arch Linux is a lightweight, flexible, and highly customizable Linux distribution designed for users who prefer a minimal base system and complete control over their environment. Unlike many other distributions, Arch does not come with a preconfigured desktop or default software—instead, it provides a streamlined base system that users build upon according to their needs.

Arch Linux Installation Guide: Step-by-Step Setup for Beginners & Advanced Users
Arch Linux Installation Guide: Step-by-Step Setup for Beginners & Advanced Users

This guide provides a detailed, step-by-step approach to installing Arch Linux, covering partitioning, package installation, system configuration, and post-installation setup. Whether you’re a beginner or an experienced Linux user, this guide will help you successfully install and configure Arch Linux.

Prerequisites

Before starting, ensure you have:

  • A USB drive (4GB+ recommended) to create a bootable Arch Linux installer.
  • A stable internet connection (Ethernet is preferred; Wi-Fi setup is possible).
  • A UEFI or BIOS system (this guide covers both).
  • Basic familiarity with Linux commands.

Step 1: Download & Boot the Arch Linux ISO

1. Download the latest Arch Linux ISO from the official website.
2. Create a bootable USB using:

  • Linux/macOS:
dd if=archlinux.iso of=/dev/sdX bs=4M status=progress

3. Boot from the USB (enter BIOS/UEFI and select the USB drive).

Step 2: Verify Boot Mode & Connect to the Internet

Check Boot Mode (UEFI/BIOS)

Run:

ls /sys/firmware/efi/efivars
  • If the directory exists → UEFI mode.
  • If not → BIOS (Legacy) mode.

Connect to the Internet

  • Ethernet: Should work automatically.
  • Wi-Fi: Use iwctl:
  iwctl
  device list
  station wlan0 scan
  station wlan0 connect "SSID"
  exit
  • Verify connection:
  ping archlinux.org

Step 3: Partitioning the Disk

Identify Disks

fdisk -l

(Assume /dev/sda for this guide.)

Partition Scheme (UEFI + GPT)

Mount PointPartitionTypeSize
/boot/efi/dev/sda1EFI512MB
//dev/sda2Linux (ext4/Btrfs)20GB+
/home (optional)/dev/sda3LinuxRemaining space
[SWAP] (optional)/dev/sda4Linux swap≥RAM size

Partitioning with cfdisk (Recommended)

cfdisk /dev/sda
  • Create partitions (EFI, root, home, swap).
  • Set types (EFI System, Linux filesystem).
  • Write changes and exit.

Step 4: Format & Mount Partitions

Format Partitions

mkfs.fat -F32 /dev/sda1       # EFI
mkfs.ext4 /dev/sda2           # Root
mkfs.ext4 /dev/sda3           # Home (optional)
mkswap /dev/sda4 && swapon /dev/sda4  # Swap (optional)

Mount Partitions

mount /dev/sda2 /mnt
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
mkdir /mnt/home && mount /dev/sda3 /mnt/home  # If using /home

Step 5: Install Base System

pacstrap /mnt base linux linux-firmware base-devel

(Add amd-ucode for AMD CPUs or intel-ucode for Intel.)

Step 6: Configure the System

Generate fstab

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

Chroot into the New System

arch-chroot /mnt

Set Time Zone & Locale

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

Edit /etc/locale.gen and uncomment en_US.UTF-8 UTF-8, then:

locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf

Set Hostname & Network

echo "myhostname" > /etc/hostname

Edit /etc/hosts:

127.0.0.1   localhost
::1         localhost
127.0.1.1   myhostname.localdomain myhostname

Set Root Password

passwd

Install & Configure Bootloader (GRUB)

pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

(For BIOS, use grub-install --target=i386-pc /dev/sda.)

Step 7: Create a User & Enable Services

Add a User

useradd -m -G wheel username
passwd username

Grant Sudo Access

EDITOR=nano visudo

Uncomment:
%wheel ALL=(ALL) ALL

Enable NetworkManager

systemctl enable NetworkManager

Step 8: Reboot & Finalize

Exit Chroot & Reboot

exit
umount -R /mnt
reboot

(Remove the USB after reboot.)

Post-Installation Setup

  • Install a Desktop Environment (e.g., KDE Plasma, GNOME, Xfce):
  pacman -S xorg plasma kde-applications
  systemctl enable sddm
  • Install Additional Software:
  pacman -S firefox vim git

Conclusion

You now have a fully functional Arch Linux system! From here, you can:

  • Install graphical environments (GNOME, KDE, etc.).
  • Configure AUR helpers (yay, paru).
  • Optimize performance & security.

For more details, you can refer to the Arch Wiki or comment down for any assistance.

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

    Leave a Reply