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