Published: 2025-08-28
Last Updated: 2025-06-30
rufus to flash ISO to driverpi-imager (AUR) via custom imagegnome-multi-writerarchiso has iwctl built-in. It can connect to regular IEEE 802.11x wifi, i.e., Wifi with SSID and passphrase.timedatectl set-ntp true
fdisk for partitioningfdisk -l # list all partitions
fdisk /dev/device # e.g.: /dev/sda, /dev/nvme0n1
fdisk CLI: m for help menuIf fresh install, or disk not GPT, do g to create new empty GPT table
n: new partition
+SIZE to set partition size (e.g.: +500MiB, +2G)t: change partition type
L for option menu, Q to quit menu| Partition | # | Type (t option) |
Size |
|---|---|---|---|
| EFI System | 1 | EFI (1) | +600MiB |
| Swap (optional) | 2 | Linux swap (19) | +4GiB |
| Root | 3 | Linux root (23) | +50GiB |
| Home | 4 | Linux home (42) | the rest |
Partition a swap if the PC has low RAM (swap's size should be 2x RAM) 3.
w: write table to disk and exit 4.q: quit without saving changes
mkfs.fat -F 32 /dev/EFI_Partition
mkswap /dev/SWAP_Partition
mkfs.ext4 /dev/ROOT_and_HOME
swapon /dev/SWAP_Partition
mount /dev/ROOT /mnt
mount /dev/HOME /mnt/home
mount --mkdir /dev/EFI /mnt/boot // for the EFI file system
/etc/pacman.conf and enable ParallelDownloads = ... for faster downloadpacstrap also have flags like -K to initialize empty pacman keyringpacstrap /mnt base linux linux-firmware base base-devel # ...
fstabgenfstab -U /mnt >> /mnt/etc/fstab
arch-chroot to /mnt and go to next steps!arch-chroot and root configurationI highly recommend install
fishshell of out-of-the-box suggestions.
pacman -S fish
chsh root
# New shell: /usr/bin/fish
ln -sf /usr/share/zoneinfo/REGION/CITY /etc/localtime
man hwclock)hwclock --systohc
Get text editor of choice: nano, vim, neovim, etc.
Localization: uncomment locale in /etc/locale.gen
locale-gen
locale.conf to set up LANGLANG=en_CA.UTF-8
/etc/hostname:myHostName
/etc/hosts:127.0.0.1 localhost
::1 localhost
127.0.1.1 myHostName
mkinitcpiomkinitcpio -P # using all presets, see `man mkinitcpio` for more
passwduseradd -m myUser # `-m` create a folder in /home/myUser
passwd myUser # to set password
usermod -aG wheel,audio,video,optical,storage myUser
later on, groups like
dockerfor Docker dev, oruucpfor embedded (Arduino) are also required
sudo and edit visudo.pacman -S sudo
EDITOR=nvim visudo # visudo uses vi by default, but you can specify your preferred text editor
sudo is called, but users can opt-out%wheel ALL = (ALL) ALL
# %wheel ALL = (ALL) NOPASSWD: ALL
pacman -S efitbootmgr os-prober grub
grub to EFI menu (boot menu) && Generate GRUB config:grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB –recheck
grub-mkconfig -o /boot/grub/grub.cfg
exit # Ctrl + D
umount -a /mnt # unmount all