Annex dedicated to the installation of Arch Linux on a machine that doesn't have UEFI

I) Partitioning and mounting the partitions in BIOS mode

For the partitioning, if you are afraid to make mistakes, it is better to use a LiveCG like GParted available at the following address: http://gparted.org/

With cfdisk, on the following start screen, we choose the option "dos" for the label type to apply.

cfdisk first start screen

For the partitioning to apply:

Partition Mount point Size Reference Filesystem
/dev/sda1 / and /home Rest of the disk 83 BTRFS
/dev/sda2 RAM size or more - With more than 8 GB of RAM, 8 GB is recommended 82 swap

It is important not to forget to mark the / partition as bootable. Which gives the following screen in cfdisk.

cfdisk

To format the root partition, enter the following command:

mkfs.btrfs /dev/sda1

Without forgetting the swap partition:

mkswap /dev/sda2
swapon /dev/sda2

We will after that create the mount points and the BTRFS subvolumes and mount the partitions.

mount /dev/sda1 /mnt
btrfs subvolume create /mnt/@ /mnt/@home
umount /mnt
mount -o compress=zstd,subvol=@ /dev/sda1 /mnt
mkdir /mnt/home
mount -o compress=zstd,subvol=@home /dev/sda1 /mnt/home

We can now start installing the base system.

II) Installation of GRUB in BIOS mode

In BIOS mode, like in UEFI, I use GRUB2. The os-prober package is necessary for a dual boot.

To install GRUB in BIOS mode:

pacman -Syy grub os-prober grub-btrfs
grub-install --no-floppy --recheck /dev/sda

Note: After generating the initramfs and installing GRUB, we must generate the GRUB configuration file. It's a modification made since GRUB 2:2.02-8:

grub-mkconfig -o /boot/grub/grub.cfg

The rest of the installation is common with the installation in UEFI mode.