Step-by-Step Arch Linux Installation & Post-Setup
I'm Haris aka Zen, currently in my 4th semester of Computer Science at FAST-NUCES and a member of COLAB (Research Lab) in Tier 3. I'm currently exploring AI/ML in its early stages, and also focusing on improving my problem-solving techniques. 🐧 Proud user of Arch Linux | Command line is my playground. I'm interested in Automation & Robotics Automation enthusiast on a mission to innovate! 🚀 Passionate about turning manual tasks into automated brilliance.
Complete Arch Linux Installation and Configuration Guide
Introduction
This guide provides a step-by-step process for installing Arch Linux and setting up essential configurations, including networking, user management, and software installation. This is a minimal setup guide without any graphical user interface (GUI) installation.
Step 1: Boot Into Arch Linux Live Environment
Boot from the Arch Linux installation media and verify the internet connection using:
ping -c 3 archlinux.org
If it fails, follow network setup steps below.
Step 2: Set Up Network Connection
List available network interfaces:
ip link
Connect to Wi-Fi using iwctl:
iwctl
Inside iwctl, run the following commands:
device list # List wireless devices
station wlan0 scan # Scan for available networks
station wlan0 get-networks # Show available networks
station wlan0 connect "SSID" # Connect to a network (replace SSID with actual network name)
Exit iwctl and verify the connection:
ping -c 3 archlinux.org
For NetworkManager users:
pacman -S networkmanager --noconfirm
systemctl enable --now NetworkManager
Verify connection again:
ping -c 3 archlinux.org
Step 3: Partition and Format the Disk
Check available disks:
fdisk -l
Partition the disk using:
cfdisk /dev/sdX # Replace X with your drive letter
Create partitions and format them:
mkfs.ext4 /dev/sdX1 # Format root partition
mkfs.vfat -F32 /dev/sdX2 # Format EFI partition (if using UEFI)
Step 4: Mount and Install Arch Linux
mount /dev/sdX1 /mnt
pacstrap /mnt base linux linux-firmware
Generate fstab:
genfstab -U /mnt >> /mnt/etc/fstab
Step 5: System Configuration
Chroot into the new system:
arch-chroot /mnt
Set time zone:
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc
Enable localization:
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
Set hostname:
echo "archlinux" > /etc/hostname
Step 6: Set Root Password and Create User
passwd
Create a new user:
useradd -m -G wheel -s /bin/bash dawood
passwd dawood
Grant sudo privileges:
EDITOR=nano visudo
Uncomment:
%dawood ALL=(ALL:ALL) ALL
Step 7: Install and Configure Bootloader
For systemd-boot (UEFI):
bootctl install
echo "title Arch Linux" > /boot/loader/entries/arch.conf
echo "linux /vmlinuz-linux" >> /boot/loader/entries/arch.conf
echo "initrd /initramfs-linux.img" >> /boot/loader/entries/arch.conf
echo "options root=/dev/sdX1 rw" >> /boot/loader/entries/arch.conf
For GRUB (BIOS/UEFI):
pacman -S grub os-prober --noconfirm
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
Generate GRUB config:
grub-mkconfig -o /boot/grub/grub.cfg
Exit chroot and reboot:
exit
reboot
Step 8: Post-Installation Configurations
Login as the new user:
su - dawood
Enable networking:
systemctl enable --now NetworkManager
Check internet:
ping -c 3 archlinux.org
Step 9: Install Essential Packages
sudo pacman -Syu
sudo pacman -S base-devel neofetch git wget curl tree xdg-user-dirs --noconfirm
Set Neofetch to run on terminal start:
echo "neofetch" >> ~/.bashrc
Step 10: Utilities Installation
sudo pacman -S os-prober xdg-user-dirs tree ranger thunar wezterm dmenu nitrogen bluez bluez-utils --noconfirm
Install Yay for AUR package management:
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Install Google Chrome and Visual Studio Code:
yay -S google-chrome visual-studio-code-bin --noconfirm
Verify Yay installation:
yay --version
yay -Syu
Step 11: Install and Configure SSH (Optional)
sudo pacman -S openssh --noconfirm
sudo systemctl enable --now sshd
Check SSH status:
systemctl status sshd
Connect via SSH:
ssh dawood@your-ip-address
Conclusion
With these steps, you've successfully installed Arch Linux, set up networking, created a user, installed X11, configured WezTerm, installed essential software, and enabled SSH for remote access.
Enjoy your minimal and efficient Arch Linux setup!
Haris
FAST (NUCES)
BS Computer Science | Class of 2027
📌 GitHub: https://github.com/Zenvila
📌 LinkedIn: https://www.linkedin.com/in/haris-shahzad-7b8746291/
📌 Member: COLAB (Research Lab)