Installation
- Update the mirrorlist
reflector --protocol https --verbose --latest 25 --sort rate --save /etc/pacman.d/mirrorlist
- Install the essential packages to the new root
pacstrap -K /mnt base linux linux-firmware
And also:
base-devel
git
amd-code / intel-ucode
booster
busybox
systemd-ukify
mesa
vulkan-radeon / nvidia
networkmanager
nano
refind
- Generate an fstab file
genfstab -U /mnt >> /mnt/etc/fstab
- Change root into the new system
arch-chroot /mnt
- Set the time zone
# Example for UTC-3
ln -sf /usr/share/zoneinfo/Brazil/East /etc/localtime
- Check the new local time
date
- Generate the /etc/adjtime
hwclock --systohc
- Set up time synchronization
systemctl enable systemd-timesyncd.service
- Edit the locale.gen file, uncommenting all the needed UTF-8 locales
nano /etc/locale.gen
en_US.UTF-8 UTF-8
#en_US ISO-8859-1
- Generate the locales
locale-gen
- Create the locale.conf file, setting the LANG variable accordingly
nano /etc/locale.conf
LANG=en_US.UTF-8
- Create the /etc/vconsole.conf file, if a different keyboard layout is required
nano /etc/vconsole.conf
KEYMAP=br-abnt2
- Create the hostname file
nano /etc/hostname
desktop
- Set the root password
passwd
- Create a new user, adding it to the wheel group
useradd -m -G wheel <username>
- Add a password to the user
passwd <username>
- Edit the sudoers configuration file
EDITOR=nano visudo
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL:ALL) ALL
- Install systemd-boot
bootctl install
- Install rEFInd
refind-install
- Set booster configuration file
nano /etc/booster.yaml
extra_files: busybox,fsck,fsck.ext4
modules_force_load: amdgpu,hid_generic,usbhid
for nvidia gpu, replace amdgpu accordingly:
modules_force_load: nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,hid_generic,usbhid
- Set the install.conf file
nano /etc/kernel/install.conf
layout=uki
uki_generator=ukify
- Set the ukify configuration
nano /etc/kernel/uki.conf
[UKI]
Initrd=/boot/booster-linux.img
Microcode=/boot/<amd/intel>-ucode.img
Splash=/usr/share/systemd/bootctl/splash-arch.bmp
- Include the device and other kernel parameters to the cmdline
nano /etc/kernel/cmdline
root=LABEL=ARCHIE_ROOT nvme_load=YES nowatchdog rw quiet
- Verify the current kernel-install configuration
kernel-install inspect
- Check the current available boot entries
bootctl list
- Enable the NetworkManager service
systemctl enable NetworkManager
- Exit the chroot environment
exit
- Unmount all the partitions
umount -R /mnt
- Reboot
reboot
good luck !
for laptop only
- Use nmcli to list and to connect to available Wi-Fi networks
nmcli device wifi list
nmcli device wifi connect <SSID> password <password>
Enable the tlp service
systemctl enable tlp.service
Mask the rfkill service
systemctl mask systemd-rfkill.service
systemctl mask systemd-rfkill.socket
- Download fastfetch
sudo pacman -S fastfetch
- Run it
fastfetch
enjoy your new achievement !
Notes
- A good reference for essential packages is to check the ones available in the Arch Linux live system (ISO). You can find them here Another good source is to check the packages available in the EndeavourOS ISO. You can find them in their repo
- Jokes aside, the last step is a simple and efficient way to verify your installation