Step-by-Step Arch Linux Installation & Post-Setup#
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.orgIf it fails, follow network setup steps below.
Step 2: Set Up Network Connection#
List available network interfaces:
ip linkConnect to Wi-Fi using iwctl:
iwctlInside 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.orgFor NetworkManager users:
pacman -S networkmanager --noconfirm
systemctl enable --now NetworkManagerVerify connection again:
ping -c 3 archlinux.orgStep 3: Partition and Format the Disk#
Check available disks:
fdisk -lPartition the disk using:
cfdisk /dev/sdX # Replace X with your drive letterCreate 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-firmwareGenerate fstab:
genfstab -U /mnt >> /mnt/etc/fstabStep 5: System Configuration#
Chroot into the new system:
arch-chroot /mntSet time zone:
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohcEnable localization:
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.confSet hostname:
echo "archlinux" > /etc/hostnameStep 6: Set Root Password and Create User#
passwdCreate a new user:
useradd -m -G wheel -s /bin/bash dawood
passwd dawoodGrant sudo privileges:
EDITOR=nano visudoUncomment:
%dawood ALL=(ALL:ALL) ALLStep 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.confFor GRUB (BIOS/UEFI):
pacman -S grub os-prober --noconfirm
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUBGenerate GRUB config:
grub-mkconfig -o /boot/grub/grub.cfgExit chroot and reboot:
exit
rebootStep 8: Post-Installation Configurations#
Login as the new user:
su - dawoodEnable networking:
systemctl enable --now NetworkManagerCheck internet:
ping -c 3 archlinux.orgStep 9: Install Essential Packages#
sudo pacman -Syu
sudo pacman -S base-devel neofetch git wget curl tree xdg-user-dirs --noconfirmSet Neofetch to run on terminal start:
echo "neofetch" >> ~/.bashrcStep 10: Utilities Installation#
sudo pacman -S os-prober xdg-user-dirs tree ranger thunar wezterm dmenu nitrogen bluez bluez-utils --noconfirmInstall Yay for AUR package management:
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -siInstall Google Chrome and Visual Studio Code:
yay -S google-chrome visual-studio-code-bin --noconfirmVerify Yay installation:
yay --version
yay -SyuStep 11: Install and Configure SSH (Optional)#
sudo pacman -S openssh --noconfirm
sudo systemctl enable --now sshdCheck SSH status:
systemctl status sshdConnect via SSH:
ssh dawood@your-ip-addressConclusion#
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)
