Archlinux description.
1. I don't have desktop enviroment on Archlinux. How to install it? // Actually Archlinux should be installed from scratch.
2. Archlinux based on pacman packet management tool.
3. To install a Desktop enviroment first I need to install Display server (xorg, wayland) $ pacman -S xorg-server // It tells me to use # pacman -Sy xorg-server instead. Got an error not enough free disk space // Actually Archlinux not installed yet.
3.1. Probably just I didn't install archlinux yet. It is just an interface for manual installation.
3. The easiest way to install is to type # archinstall // but at first I will use a manual method
4. System should boot in UEFI mode (not BIOS). To verify # ls /sys/firmawre/efi/efivars if you get nothing means you are in BIOS.
4.1. I have to enable UEFI in VirtualBox. Go to Settings->System-> Set Enable EFI checkbox.
5. Set NTP to syncronize time with timeservers. # timedatectl set-ntp true
6. Make 3 disk partition. For EFI (300MB), SWAP(512+ MB) and what we all know ROOT aka "/".
6.1. Run # fdisk /dev/sda (If you have SATA) then type g -> n -> 1 -> enter (default) -> +600M
6.3. Format to EFI type t then ef
6.4. Create root aka / partition. n -> enter (default) -> default -> +6.5G
6.5. Create SWAP n -> defualt -> default -> default ->default then format it to swap t -> defult -> 82
6.6. Type w to save and exit.
7. Make filesystems.
7.1. For EFI format to FAT32: # mkfs.fat -F32 /dev/sda1
7.2. Check # lsblk -f
7.3. For root make ext4 # mkfs.ext4 /dev/sda3
7.4. Make swap # mkswap /dev/sda2
8. Mount root filesystem to /mnt directiory with # mount /dev/sda3 /mnt
8.1. Mount boot filesystem with # mount --mkdir /dev/sda1 /mnt/boot // Doesn't work
8.2. Set swap # swapon /dev/sda2
9. Update pacman # pacman -Syy // This is unnessesary
10. Create list of servers: # reflector -c "US" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist // This is unnessesary
11. To download and install use: # pacstrap /mnt base linux linux-firmware sudo nano // I get some errors: Failed to install packages to new root. keyring is not writable
11.1 try to # pacman-key --init && pacman-key --populate archlinux // doesn't helped
11.2. Try to upgrade # pacman -Syu
11.3. Try to update systemclock. Activate NTP // doesn't help
11.4. Try // HELPED
$ pacman-key --init
$ pacman-key --populate
12. Generate file fstab which is used when system starts. # genfstab -U /mnt >> /mnt/etc/fstab // Needed for mount while booting
13. Enter to the new system as a root # arch-chroot /mnt // Failed to run command bin/bash no such file
14. Try to reinstall to the new Virtual machine. In addition to previous installation for fdisk I used g.
14.1. While set types of partitions in fdisk with t. For efi set 1, for root set 23, for swap set 19. It changed because of g.
15. Set root password # passwd
16. Create a user # useradd -m -g users -G wheel user // optional step
16.1. Create a user's password # passwd user
17. Install packages # pacman -S nano networkmanager lxqt grub efibootmgr sddm
17. Set timezone # ln -sf ../usr/share/zoneinfo/Europe/Brussels /etc/localtime or timedatectl set-timezone Canada/Eastern
17.1. To check # timedatectl status
17.2. To list timezones # ls -l /usr/share/zoneinfo or # timedatectl list-timezones
17.2.1. # hwclock --systohc
17.3. I've got CLI encoding problem some abracadabra characters instead of ASC // type # reset
18. Localization. In /etc/locale.gen uncomment en_US.UTF-8 then # locale-gen // # locale -a to check.
19. Set hostname # touch /etc/hostname and type hostname there.
21. Install kernel # pacman -S linux
20. Create Initramfs # mkinitcpio -P
22. Install driver for GPU // I have no idea what to install
23. # mkdir /boot/EFI // Here I am not sure I am doing correct thing for UEFI
23.1. # mount /dev/sda1 /boot/EFI
24. Set GRUB # grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck // error cannot find efi directory
24.1. Try # grub-install --efi-directory=/boot/efi --target=x86_64-efi /dev/sda1 // good
25. config boot
cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
grub-mkconfig -o /boot/grub/grub.cfg
26. Start services # systemctl enable sddm # systemctl enable NetworkManager
27. # exit
28. # umount -a
29. # reboot
30. It unexpectedly works and I even get GUI.