Before starting the installation, ensure your system is ready for Arch Linux installation and verify all necessary connections are working properly.
- Internet Connection: Verify that you have a stable internet connection for package installation. Test connectivity with
ping -c 3 archlinux.org. - Update System Clock: Synchronize the system clock with
timedatectl set-ntp truefor accurate time during installation. - Verify Boot Mode: Check that your system is booted in UEFI mode with
ls /sys/firmware/efi/efivars(directory exists if booted in UEFI mode).
- Open
cfdiskand create the following partitions:- Select GPT as the partition table.
- Create partitions:
/dev/sda1= 300M (EFI System Partition)/dev/sda2= 4G (Swap Partition)/dev/sda3= Remaining space (Root Partition)
- Format partitions:
mkfs.ext4 /dev/sda3 mkfs.fat -F 32 /dev/sda1 mkswap /dev/sda2
- Mount the partitions:
mount /dev/sda3 /mnt mkdir -p /mnt/boot/efi mount /dev/sda1 /mnt/boot/efi swapon /dev/sda2
- Install the base system:
pacstrap /mnt base linux linux-firmware sof-firmware base-devel grub efibootmgr nano networkmanager
- Generate the fstab file:
genfstab -U /mnt >> /mnt/etc/fstab cat /mnt/etc/fstab
- Change root into the new system:
arch-chroot /mnt
- Set the timezone:
ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime hwclock --systohc
- Configure the locale:
nano /etc/locale.gen # Uncomment en_US.UTF-8 locale-gen echo "LANG=en_US.UTF-8" > /etc/locale.conf echo "KEYMAP=us" > /etc/vconsole.conf
-
Set hostname:
echo "arch" > /etc/hostname
-
Enable NetworkManager:
systemctl enable NetworkManager
-
Set root password:
passwd
-
Create a user:
useradd -m -g users -G wheel -s /bin/bash Ren passwd Ren
-
Grant sudo privileges:
EDITOR=nano visudo # Uncomment %wheel ALL=(ALL) ALL
- Install and configure GRUB:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB grub-mkconfig -o /boot/grub/grub.cfg
After basic installation, you may need to install additional drivers and configurations based on your hardware:
- Intel CPUs:
sudo pacman -S intel-ucode - AMD CPUs:
sudo pacman -S amd-ucode - After installation, regenerate GRUB config with:
sudo grub-mkconfig -o /boot/grub/grub.cfg
- Intel Integrated:
sudo pacman -S xf86-video-intel mesa - NVIDIA:
- For newer cards:
sudo pacman -S nvidia nvidia-utils - For older cards:
sudo pacman -S nvidia-390xx-dkms nvidia-390xx-utils
- For newer cards:
- AMD:
sudo pacman -S xf86-video-amdgpu mesa - After installation, consider adding
nvidiaoramdgputo/etc/mkinitcpio.confHOOKS if using dedicated GPU
- Install audio system:
sudo pacman -S alsa-utils pulseaudio pulseaudio-alsa - Add your user to audio group:
sudo usermod -a -G audio Ren
For basic system security, consider implementing these measures:
- Install UFW:
sudo pacman -S ufw - Enable UFW:
sudo systemctl enable --now ufw - Set default policies:
sudo ufw default deny incomingandsudo ufw default allow outgoing - Enable firewall:
sudo ufw enable
- Install SSH:
sudo pacman -S openssh - Enable SSH service:
sudo systemctl enable --now sshd - Configure SSH: Edit
/etc/ssh/sshd_configto disable root login and change default port if needed - Restart SSH:
sudo systemctl restart sshd
After your first boot into the new system, consider installing these additional packages:
- Install Git:
sudo pacman -S git - Download and build an AUR helper like
yay:git clone https://aur.archlinux.org/yay.git cd yay makepkg -si
- Enable multilib repository by uncommenting
[multilib]section in/etc/pacman.conf - Update package database:
sudo pacman -Sy
- System monitoring:
sudo pacman -S htop bpytop iotop - File management:
sudo pacman -S ranger - Network tools:
sudo pacman -S wget curl dnsutils - Text editor:
sudo pacman -S vim - Compression:
sudo pacman -S p7zip unrar zip unzip
- TTF fonts:
sudo pacman -S ttf-dejavu ttf-liberation noto-fonts - Emoji support:
sudo pacman -S noto-fonts-emoji
- Exit chroot and reboot:
exit umount -a reboot
- Install KDE Plasma:
sudo pacman -S plasma sddm kde-applications sudo systemctl enable --now sddm
If you encounter issues during or after installation, try these solutions:
- If system won't boot, enter BIOS/UEFI settings and ensure the correct drive/OS is set as default boot option
- Boot from installation media and chroot into your system to reinstall GRUB:
grub-installandgrub-mkconfig -o /boot/grub/grub.cfg
- Check NetworkManager status:
systemctl status NetworkManager - Restart NetworkManager:
sudo systemctl restart NetworkManager - If using WiFi, install and use
iwctlfor connection setup
- Check if audio services are running:
systemctl status alsa-state.service - Start audio service:
sudo systemctl start alsa-state.service
- Reinstall graphics drivers if experiencing display problems
- Check Xorg logs for errors:
/var/log/Xorg.0.log - For NVIDIA systems, ensure nouveau driver is blacklisted if using proprietary driver
- ArchWiki: https://wiki.archlinux.org/
- Arch Forums: https://bbs.archlinux.org/
- IRC: #archlinux on Libera.Chat