DEV Community

Cover image for How I Installed Arch Linux Completely — Step by Step (Beginner to Working System)
Farhad Rahimi Klie
Farhad Rahimi Klie

Posted on

How I Installed Arch Linux Completely — Step by Step (Beginner to Working System)

Installing Arch Linux is not hard — but it is precise.
Arch does not hold your hand, and that’s exactly why it teaches you how Linux really works.

In this article, I will walk you through exactly how I installed Arch Linux, from a blank disk to a fully working system — step by step, without skipping anything.

This guide assumes:

  • You are not afraid of the terminal
  • You want to learn, not just click “Next”
  • You want a clean, minimal, and controllable Linux system

Why Arch Linux?

Before starting, here’s why I chose Arch:

  • Rolling release (always latest software)
  • No unnecessary packages
  • Full control over everything
  • Best documentation (Arch Wiki is legendary)
  • Teaches real Linux internals

Arch is not about difficulty — it’s about clarity and control.


Step 0: What You Need Before Installing

Hardware Requirements

  • 64-bit CPU
  • At least 2 GB RAM (4 GB recommended)
  • At least 20 GB disk space
  • Internet connection (Ethernet recommended)

What I Used

  • USB flash drive (≥ 2 GB)
  • Another Linux / Windows system to create the USB
  • BIOS or UEFI firmware (both supported)

Step 1: Download Arch Linux ISO

Go to the official Arch Linux website and download the latest ISO.

Then create a bootable USB using:

  • Linux: dd
  • Windows: Rufus or Balena Etcher

Example (Linux):

sudo dd if=archlinux.iso of=/dev/sdX bs=4M status=progress oflag=sync
Enter fullscreen mode Exit fullscreen mode

⚠️ Replace /dev/sdX carefully — this WILL erase the disk.


Step 2: Boot into Arch ISO

  1. Insert the USB
  2. Boot your system
  3. Select Boot Arch Linux

You’ll land in a root shell, no GUI, no installer — just Linux.


Step 3: Verify Boot Mode (UEFI or BIOS)

ls /sys/firmware/efi
Enter fullscreen mode Exit fullscreen mode
  • If directory exists → UEFI
  • If not → Legacy BIOS

This affects partitioning later.


Step 4: Set Keyboard Layout (Optional)

loadkeys us
Enter fullscreen mode Exit fullscreen mode

(Replace us if needed)


Step 5: Check Internet Connection

Ethernet

Usually works automatically.

Wi-Fi

iwctl
Enter fullscreen mode Exit fullscreen mode

Inside prompt:

device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect YOUR_WIFI_NAME
exit
Enter fullscreen mode Exit fullscreen mode

Test:

ping google.com
Enter fullscreen mode Exit fullscreen mode

Step 6: Update System Clock

timedatectl set-ntp true
Enter fullscreen mode Exit fullscreen mode

Step 7: Disk Partitioning

First, identify disk:

lsblk
Enter fullscreen mode Exit fullscreen mode

Example disk:

/dev/sda
Enter fullscreen mode Exit fullscreen mode

Partition Scheme (UEFI Example)

Partition Size Type
EFI 512M FAT32
Swap 4G Linux swap
Root Rest Linux filesystem

Create Partitions

cfdisk /dev/sda
Enter fullscreen mode Exit fullscreen mode

Create:

  • EFI System
  • Linux swap
  • Linux filesystem

Step 8: Format Partitions

EFI

mkfs.fat -F32 /dev/sda1
Enter fullscreen mode Exit fullscreen mode

Swap

mkswap /dev/sda2
swapon /dev/sda2
Enter fullscreen mode Exit fullscreen mode

Root

mkfs.ext4 /dev/sda3
Enter fullscreen mode Exit fullscreen mode

Step 9: Mount Filesystems

mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
Enter fullscreen mode Exit fullscreen mode

Step 10: Install Base System

pacstrap /mnt base linux linux-firmware vim networkmanager
Enter fullscreen mode Exit fullscreen mode

This installs:

  • Kernel
  • Package manager
  • Essential tools

Step 11: Generate fstab

genfstab -U /mnt >> /mnt/etc/fstab
Enter fullscreen mode Exit fullscreen mode

Verify:

cat /mnt/etc/fstab
Enter fullscreen mode Exit fullscreen mode

Step 12: Chroot into System

arch-chroot /mnt
Enter fullscreen mode Exit fullscreen mode

Now you are inside your new Arch system.


Step 13: Timezone and Locale

Timezone

ln -sf /usr/share/zoneinfo/Asia/Kabul /etc/localtime
hwclock --systohc
Enter fullscreen mode Exit fullscreen mode

Locale

Edit:

vim /etc/locale.gen
Enter fullscreen mode Exit fullscreen mode

Uncomment:

en_US.UTF-8 UTF-8
Enter fullscreen mode Exit fullscreen mode

Generate:

locale-gen
Enter fullscreen mode Exit fullscreen mode

Set language:

echo "LANG=en_US.UTF-8" > /etc/locale.conf
Enter fullscreen mode Exit fullscreen mode

Step 14: Hostname and Hosts

echo "archlinux" > /etc/hostname
Enter fullscreen mode Exit fullscreen mode

Edit /etc/hosts:

127.0.0.1   localhost
::1         localhost
127.0.1.1   archlinux.localdomain archlinux
Enter fullscreen mode Exit fullscreen mode

Step 15: Root Password

passwd
Enter fullscreen mode Exit fullscreen mode

Step 16: Install Bootloader (GRUB – UEFI)

pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
grub-mkconfig -o /boot/grub/grub.cfg
Enter fullscreen mode Exit fullscreen mode

Step 17: Enable Network

systemctl enable NetworkManager
Enter fullscreen mode Exit fullscreen mode

Step 18: Create User (Recommended)

useradd -m -G wheel -s /bin/bash myuser
passwd myuser
Enter fullscreen mode Exit fullscreen mode

Enable sudo:

EDITOR=vim visudo
Enter fullscreen mode Exit fullscreen mode

Uncomment:

%wheel ALL=(ALL) ALL
Enter fullscreen mode Exit fullscreen mode

Step 19: Exit and Reboot

exit
umount -R /mnt
reboot
Enter fullscreen mode Exit fullscreen mode

Remove USB.


Step 20: First Boot 🎉

Log in, connect internet, and start customizing:

sudo pacman -S xorg plasma sddm firefox
Enter fullscreen mode Exit fullscreen mode

Or install any desktop you like.


Final Thoughts

Installing Arch Linux taught me more than any distro ever did:

  • Filesystems
  • Boot process
  • Package management
  • System initialization

Arch doesn’t make things harder — it makes them visible.

“If you understand your system, you control it.”


Useful Advice

  • Read the Arch Wiki — always
  • Don’t rush
  • Break things and fix them
  • Arch is not a destination — it’s a learning process

Top comments (0)