Skip to main content
·568 words·3 mins

Step By Step Arch Linux Installation And Post Setup

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.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)