I have been a loyal Archlinux user for the last ten years, initially intrigued by its simplicity and rolling distribution — you could test the cool new feature as soon as possible. Recently I got a new desktop and need to install Arch again. It seems to be even more complicated than last time (8 years ago?). Here are some new concepts I learned from the recent installation from a user perspective.
With the new development, there are lots of new concepts coming up from the installation guide — UEFI, GPT, Secure Boot, FastBoot, and etc. It seems lots of them related to UEFI. Looks like UEFI will be present and future and we could start to forget legacies.
UEFI is like a small operating system that hands over the hardware system to operating systems. If we would like UEFI to boot Arch, we need to know how it will find the operating system on the disk.
Firstly, what you will need to do before installation: Disable secure boot in bios, disable fastboot in Windows (if you have), and change SATA config from AHCI to RAID if you have a single nvme SSD.
Secondly, how to partition the hard disk. The hard disk used to be partitioned by MBR and later migrated to GPT (GUID Partition Table). MBR used to store how to boot and the partition table. Previously bootloader was installed here. Now there is EFI partition (EFI System Partition), and bootloaders now reside here and could have file structures. You will need to create EFI partitions or reuse what Windows have created.
Thirdly, bootloader. There are lots of bootloader to select from: refind, system-boot, grub and many more. Those bootloader will install itself in the EFI partition. Therefore, what you’ll need to do is to mount the EFI partition somewhere, and install the Linux kernel, initial ram image and others in the EFI partition. After linux takes charge of the computer, it could find where its root is. What I did is just mount EFI partition (created by windows) as /boot and it seems to work. Following the arch wiki to have it at /efi does not work directly as pacman won’t install Linux package in the EFI partition (/efi).
One thing I really like about the new installation is systemd. I still recall the old days where I need there is those chaos in init.d/rc.d and etc. Starting a desktop environment was a myth.
There are many good things with Systemd as it unifies lots of stuff together. It could help manage services (systemctl), read logs (journalctl), even boot (bootctl).
It’s a bit surprise that the Desktop Environment starts without issues on the first try, without all those scary X configs as 8 years ago when lots of moving parts could freeze X.
There are unfortunately some mythical things that still happen during the installation.
- EFI partition could be dirty because of various reason (forced reboot, power loss etc) and causes the kernel to fail :(. Use fsck.vfat on the disk solves this issue.
- Wifi disconnects by itself because of various services managing the wifi is enabled in the same time. Also, NetworkManager seems to enable MAC randomization by default to avoid spoofing. However it did makes the wifi unstable, change the NetworkManager config (wifi.cloned-mac-address=stable) to disable it.
- Wifi speed is very slow (Intel AX200, AX201), and seems to be a kernel issue (ethtool -K wlo1 tso off) helps with it.
- Module vfs_monitor errors (invalid argument etc). Hope future updates could solve it. Temporarily it seems turn off kernel audit works — add audit=0 to the kernel parameter.