"All credits for this tutorial go to Mutahar @SomeOrdinaryGamers. This is my trial to convert his tutorial to text. Original video is at https://www.youtube.com/watch?v=_JYIAaLrwcY&t=2011s"
0. ping www.google.com
1. To setup WiFi:
iwctl
2. To setup mobile broadband (WWAN) modems:
mmcli
3. Ethernet and others using DHCP should work automatically.
4. To check if you have UEFI mode
efivar -l
(if nothing happens go to BIOS)
5. List disks
lsblk
6. Select the drive you want to install Arch (replace "DISKNAME" with proper disk name)
gdisk /dev/DISKNAME
x #for expert
z #for zap
y #for yes
6.1. Create boot drive
cgdisk /dev/DISKNAME
Select "New"
Leave unchanged (hit enter)
Size of boot drive = 1024MiB
Type of file system = EF00
Name = boot
6.2. Create swap partition
Select "New"
Leave unchanged (hit enter)
Size of swap drive = 16GiB
Type of file system = 8200
Name = swap
6.3. Create root partition
Select "New"
Leave unchanged (hit enter)
Size of root drive = ~40GiB
Type of file system = 8300
Name = root
6.4. Create home partition (you might want to change to another disk, in which case repeat step 6., then come back to 6.4.)
Select "New"
Leave unchanged (hit enter)
Size of home drive unchanged (hit enter)
Type of file system = 8300
Name = home
Select "Write"
yb> #for yes
Select "Quit"
7. Format disks
7.1. Format boot disk
mkfs.fat -F32 /dev/BOOTDISKNAME
(as per step #6.1.)
7.2 Format swap disk
mkswap /dev/SWAPDISKNAME
swapon /dev/SWAPDISKNAME
(as per step #6.2.)
7.3 Format root disk
mkfs.ext4 /dev/ROOTDISKNAME
(as per step #6.3.)
7.4 Format home disk
mkfs.ext4 /dev/HOMEDISKNAME
(as per step #6.4.)
8. Mount disks
mount /dev/ROOTDISKNAME /mnt
mkdir /mnt/boot
mkdir /mnt/home
mount /dev/BOOTDISKNAME /mnt/boot
mount /dev/HOMEDISKNAME /mnt/home
9. Update mirrolist
cp /etc/pacman.d/mirrolist /etc/pacman.d/mirrolist.backup
sudo pacman -Sy pacman-contrib
rankmirrors -n 6 /etc/pacman.d/mirrolist.backup > /etc/pacman.d/mirrolist
10. Install ARCH
pacstrap -K /mnt base linux linux-firmware base-devel
11. Create fstab
genfstab -U -p /mnt >> /mnt/etc/fstab
12. Boot into installation
arch-chroot /mnt
sudo pacman -S nano bash-completion
13. Locales
nano /etc/locale.gen
#Uncomment the needed locales (delete "#" sign), save and exit.
locale-gen
14. Create language based on locale
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
15. Set timezone
ls /usr/share/zoneinfo/Asia/
#keep selecting your timezone/city
ln -s /usr/share/zoneinfo/Asia/Samarkand > /etc/localtime
hwclock --systohc --utc
16. Give name to computer
echo "COMPNAME" > /etc/hostname
17. Enable trim
systemctl enable fstrim.timer
18. Enable 32-bit support
nano /etc/pacman.conf
#uncomment [multilib] and Include, save and exit.
sudo pacman -Sy
19. Set password
passwd
#enter password and confirm
20. Set user account (replace USERNAME with your user-name)
useradd -m -g users -G wheel,storage,power -s /bin/bash USERNAME
passwd
21. Extra peace of mind
EDITOR=nano visudo
#uncomment %wheel
#add at the end of the file "Defaults rootpw"
22. Install the boot-loader
mount -t efivarfs efivarfs /sys/firmware/efi/efivars/
ls /sys/firmware/efi/efivars/
bootctl install
23. Write boot entries
nano /boot/loader/entries/arch.conf
#add following lines:
title Arch
linux /vmlinuz-linux
initrd /initramfs-linux.img
#save (ctrl x), exit.
echo "options root=PARTUUID=$(blkid -s PARTUUID -o value /dev/ROOTDISKNAME) rw" >> /boot/loader/entries/arch.conf
24. You might want to install Intel microcode if using Intel CPU.
25. Internet
sudo pacman -S dhcpcd
#get the name of DEVICE
ip link
sudo systemctl enable [email protected]
sudo pacman -S networkmanager
sudo systemctl enable NetworkManager.service
26. Setup KDE Plasma
sudo pacman -S pipewire pipewire-alsa pipewire-pulse pipewire-jack wayland wayland-protocols wayland-utils kmix
sudo pacman -S plasma-desktop plasma-firewall konsole kscreen kinfocenter dolphin plasma-wayland-protocols \
\ plasma-workspace-wallpapers plasma-workspace sddm sddm-kcm oxygen breeze-gtk kde-gtk-config \
\ kvantum plasma-nm layer-shell-qt bluez bluez-utils
sudo systemctl enable sddm.service
#reboot