Install Arch Linux

The Installation guide from the Arch Linux wiki is very detailed. I recommend you follow the official documentation step by step. However, there are some choices to be made at several steps. The different choices I made to install Arch Linux are summarized below.

Bootable USB flash drive

From the Download page, get the ISO and the signatures files, for example:

wget http://ftp.u-strasbg.fr/linux/distributions/archlinux/iso/2023.10.14/archlinux-2023.10.14-x86_64.iso
wget https://archlinux.org/iso/2023.10.14/archlinux-2023.10.14-x86_64.iso.sig

With my existing existing Arch Linux installation, the signature is checked with:

pacman-key -v archlinux-2023.10.14-x86_64.iso.sig

Different methods exist to create the Bootable USB flash drive. The copy of the ISO on the USB flash drive was done with root:

cp archlinux-2023.10.14-x86_64.iso /dev/disk/by-id/usb-SMI_USB_DISK_AA000000000000000107-0:0

Pre-installation

Set the console keyboard layout and font:

loadkeys us-acentos

Update the system clock:

timedatectl set-timezone Europe/Paris

Partition the disks:

fdisk /dev/nvme0n1
# n to add partition.
#  -  EFI (1GB)
#  -  Linux for the OS (128G)
#  -  swap (16G)
#  -  Linux for the user's home (remaining space)
# w to write partition table
mkfs.ext4 -L ARCH /dev/nvme0n1p2
mkswap -L SWAP /dev/nvme0n1p3
mkfs.fat -n EFI -F 32 /dev/nvme0n1p1
mkfs.ext4 -L HOME /dev/nvme0n1p4

Configure the system

I started by installing additional packages to edit file during the configuration process:

pacman -Sy vim
pacman -Sy sudo # to edit /etc/sudoers

Time:

ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime

Localization:

echo "KEYMAP=us-acentos" > /etc/vconsole.conf

Network configuration:

pacman -S networkmanager dhclient net-tools # net-tools provides ifconfig
systemctl enable NetworkManager.service

Note that, If this is not done during the installation, you can install do this after reboot, however, you would need to do:

ip link set eno1 up
systemctl stop systemd-networkd.service systemd-resolved.service

You have to replace the eno1 interface named by the one shown by the command ip link show.

Boot loader:

Install GRUB:

pacman -Sy grub efibootmgr
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/
grub-mkconfig -o /boot/grub/grub.cfg