Introduction
Welcome, intrepid Linux adventurer! If you’ve ever yearned for the rolling-release excitement of Arch Linux and the bragging rights that come with building your system from the ground up, you’ve landed in the right place. This tutorial will take you by the hand (metaphorically please don’t hold your USB stick by my hand) and guide you step-by-step through installing Arch Linux. Expect serious detail, a dash of humor, and plenty of references to the ever-helpful Arch Wiki.
Prerequisites
- A USB stick (≥ 2 GB)
- An internet connection (preferably wired for reliability)
- A machine that can boot in UEFI or BIOS mode
- Courage (installation can be intimidating, but you can do it!)
- Basic Linux comfort (knowing your way around a shell helps)
Step 1: Download Verify the ISO
1. Go to the Arch Linux download page:
https://archlinux.org/download/
2. Choose a mirror and download archlinux-YYYY.MM.DD-x86_64.iso.
3. (Optional but highly recommended) Verify the ISO signature:
# pacman -Sy gnupg archlinux-keyring
# wget https://archlinux.org/iso/latest/archlinux-YYYY.MM.DD-x86_64.iso{.sig,}
# gpg --keyserver-options auto-key-retrieve --verify archlinux-.iso.sig
If GPG complains, don’t panic—import the correct keys as directed on the signature page or consult the Arch Wiki on ISO signing.
Step 2: Create a Bootable USB
Pick one of these methods:
- dd (native, powerful, ruthless—no pity)
# dd if=archlinux-YYYY.MM.DD-x86_64.iso of=/dev/sdX bs=4M status=progress oflag=syncReplace
/dev/sdXwith your USB device (e.g.,/dev/sdb). Triple-check to avoid accidental data loss. - Etcher (GUI, user-friendly)
- Download from Etcher’s website.
- Select ISO, choose USB, flash.
Step 3: Boot Into the Live Environment
- Insert the USB stick, reboot and enter your firmware settings (usually Esc, F2, F12, or Del).
- Choose the USB as your boot device.
- At the Arch boot menu, press Enter to boot the live system.
You’ll arrive at a shell prompt: it’s showtime!
Step 4: Configure the Keyboard Layout (Optional)
If you need a non-US layout:
# loadkeys de-latin1 # for German, for example
Otherwise, the default is US QWERTY.
Step 5: Verify Network
Check connectivity:
# ping -c 3 archlinux.org
If wired, DHCP should work automatically. For Wi-Fi:
# iwctlstation wlan0 connect YOUR_SSID
Step 6: Partition the Disk
Choose your target disk, e.g. /dev/sda. Here’s a typical UEFI GPT layout:
| Partition | Size | Type | Mount Point |
|---|---|---|---|
| /dev/sda1 | 512 MiB | EFI System | /boot/efi |
| /dev/sda2 | 8 GiB | Linux swap | swap |
| /dev/sda3 | Remaining | Linux filesystem | / |
Using fdisk or parted:
# parted /dev/sda -- mklabel gpt # parted /dev/sda -- mkpart primary fat32 1MiB 513MiB # parted /dev/sda -- set 1 esp on # parted /dev/sda -- mkpart primary linux-swap 513MiB 8705MiB # parted /dev/sda -- mkpart primary ext4 8705MiB 100%
Step 7: Format Partitions
# mkfs.fat -F32 /dev/sda1 # mkswap /dev/sda2 # swapon /dev/sda2 # mkfs.ext4 /dev/sda3
Step 8: Mount the Filesystems
# mount /dev/sda3 /mnt # mkdir /mnt/boot # mount /dev/sda1 /mnt/boot
Step 9: Install the Base System
Use pacstrap to install essential packages:
# pacstrap /mnt base linux linux-firmware # pacstrap /mnt vim # or your preferred editor # pacstrap /mnt networkmanager # for networking
Step 10: Generate fstab
# genfstab -U /mnt >> /mnt/etc/fstab
Inspect /mnt/etc/fstab if you’re curious or paranoid.
Step 11: chroot Into Your New System
# arch-chroot /mnt
Step 12: Time Zone Localization
- Set your time zone:
# ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
- Sync hardware clock:
# hwclock --systohc
- Edit
/etc/locale.genand uncomment your locale, e.g.en_US.UTF-8 UTF-8. - Generate locales:
# locale-gen
- Create
/etc/locale.confwith:LANG=en_US.UTF-8
- Create
/etc/vconsole.conffor console font/kbd if needed.
Step 13: Network Configuration
Create a hostname:
# echo myarch > /etc/hostname
Edit /etc/hosts:
127.0.0.1 localhost ::1 localhost 127.0.1.1 myarch.localdomain myarch
Step 14: Set the Root Password
# passwd
Step 15: Install a Boot Loader (Systemd-boot for UEFI)
Systemd-boot is simple:
# bootctl install # mkdir -p /boot/loader/entries
Create /boot/loader/loader.conf:
default arch timeout 3 editor no
Create /boot/loader/entries/arch.conf:
title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options root=PARTUUID=(blkid -s PARTUUID -o value /dev/sda3) rw
Step 16: Exit Reboot
# exit # umount -R /mnt # reboot
Don’t forget to remove the USB stick. If all went well, you’ll be greeted by your shiny new Arch Linux!
Step 17: Post-Installation Tips
- Enable NetworkManager:
# systemctl enable NetworkManager
- Install a desktop environment or window manager:
# pacman -S xorg gnome # or i3, kde, etc.
- Graphics drivers:
# pacman -S xf86-video-intel # for Intel # pacman -S nvidia nvidia-utils # for NVIDIA - Sound:
# pacman -S alsa-utils pulseaudio
- Don’t forget the Arch Wiki: https://wiki.archlinux.org/
Conclusion Words of Wisdom
Congratulations! You’ve built your Arch Linux system from scratch. You now wield the ultimate power (and responsibility): updates will never stop arriving, so run sudo pacman -Syu often. Keep calm and read the Arch Wiki before asking questions. May your pacman transactions always succeed and your log files stay serene.
Installing Arch can feel like scaling Everest in flip-flops, but the view from the summit (a fully customized, lightning-fast system) is worth every keystroke. Happy hacking, and remember—if it compiles, it works!

Leave a Reply