Skip to content

docs/uefi.md (UEFI Guide)

```markdown

UEFI / GPT Installation Guide

This guide details the step-by-step process for installing Arch Linux on a modern UEFI system.

1. Pre-Installation

Boot into the Arch ISO and connect to the internet: ```bash nmcli device wifi list nmcli device wifi connect "SSID" password "PASSWD" ifname wlp2s0

  1. Partitioning & Formatting Use cfdisk and select gpt when prompted for the label type. Create the 4 partitions as defined in the Partitioning Scheme . Format the partitions (Note the FAT32 requirement for the EFI partition):

mkfs.ext4 /dev/sda1 # Root mkfs.fat -F32 /dev/sda2 # EFI System Partition (ESP) mkswap /dev/sda3 # Swap mkfs.ext4 /dev/sda4 # Home

Mount them in the correct order:

mount /dev/sda1 /mnt mkdir -p /mnt/{boot,home} mount /dev/sda2 /mnt/boot swapon /dev/sda3 mount /dev/sda4 /mnt/home

  1. Base Installation Refresh keys and install the base system (Note the addition of dosfstools and efibootmgr):

pacman -Sy && pacman -S archlinux-keyring && pacman-key --populate pacstrap -K /mnt acpi base base-devel curl dhcpcd dosfstools efibootmgr git jq linux linux-firmware nano sudo wget genfstab -U /mnt >> /mnt/etc/fstab

  1. System Configuration Chroot into the new system:

arch-chroot /mnt /bin/bash

Configure time, locale (en_ZA.UTF-8), and hostname (archhack):

ln -sf /usr/share/zoneinfo/Region/City /etc/localtime hwclock --systohc

Uncomment en_ZA.UTF-8 in /etc/locale.gen

locale-gen echo LANG=en_ZA.UTF-8 > /etc/locale.conf echo archhack > /etc/hostname

  1. User Setup

passwd useradd -m -u 1000 -G wheel,storage,audio,video -s /bin/bash wgparch passwd wgparch EDITOR=nano visudo # Uncomment %wheel ALL=(ALL:ALL) ALL

  1. Bootloader (GRUB for UEFI)

pacman -S grub efibootmgr grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB grub-mkconfig -o /boot/grub/grub.cfg mkinitcpio -p linux systemctl enable dhcpcd

  1. Finalize

exit umount -R /mnt reboot