- Confirm that its EFI
ls /sys/firmware/efi/efivars
If you see huge text output, its efi. Else if you get error, make sure you selected to boot with UEFI via bootmenu.
- Enter iwctl shell
iwctl
- Show wifi devices
device list
- Scan for wifis
station wlan0 scan
- Show wifis
station wlan0 get-networks
- Connect to wifi
station wlan0 connect "name"
- Leave iwctl shell
exit
- Confirm that you have internet connection
ping google.com
- Update kerings
pacman -Sy archlinux-keyring
This is to prevent errors when using pacman later, that can accur if you are not using the latest installer. (skip if you just now flashed .iso)
- Check where you want to install disk NAME and SIZE
lsblk
- Carefully choose disk and format it with
mkfs.ext4 /dev/nvme0n1
Be sure to replace nvme0n1 with your disk name from
lsblk
if its not the same
-
Calculate how much you want to have swap (i recommend 20gb at least). So for example if
lsblk
shows that u have 465G size disk, subtract 1 for boot partition, 20 for swap parition. So you will have left 444G for main parition, 1G for boot partition and 20G for swap partition -
Run partitioning tool
gdisk /dev/nvme0n1
-
Create 1G boot partition
- For "Command (? for help)" write
n
and pressenter
- For "Partition number" just press
enter
- For "First sector ..." just press
enter
- For "Last sector ..." write
+1G
and pressenter
- For "Hex code or GUID ..." write
ef00
and pressenter
- For "Command (? for help)" write
-
Create 444G main partition
- For "Command (? for help)" write
n
and pressenter
- For "Partition number" just press
enter
- For "First sector ..." just press
enter
- For "Last sector ..." write
+444G
and pressenter
- For "Hex code or GUID ..." just press
enter
- For "Command (? for help)" write
-
Create 20G swap partition
- For "Command (? for help)" write
n
and pressenter
- For "Partition number" just press
enter
- For "First sector ..." just press
enter
- For "Last sector ..." just press
enter
- For "Hex code or GUID ..." write
8200
and pressenter
- For "Command (? for help)" write
-
Write
w
and pressenter
-
Format the boot partition
mkfs.fat -F32 /dev/nvme0n1p1
- Format the main partition
mkfs.ext4 /dev/nvme0n1p2
- Format the swap partitoin
mkswap /dev/nvme0n1p3
- Mount the main partition
mount /dev/nvme0n1p2 /mnt
- Create boot folder
mkdir /mnt/boot
- Mount boot partitoin
mount /dev/nvme0n1p1 /mnt/boot
- Mount swap partition
swapon /dev/nvme0n1p3
- Install base pacakges
pacstrap /mnt base linux linux-firmware grub efibootmgr amd-ucode os-prober git nano
- Generate mount points
genfstab -U /mnt >> /mnt/etc/fstab
- Enter installed linux environment
arch-chroot /mnt
- Create initial ramdisk environment
mkinitcpio -p linux
- Install grub bootloader
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
- Generate grub bootloader config
grub-mkconfig -o /boot/grub/grub.cfg
- Set timezone
ln -sf /usr/share/zoneinfo/Europe/Vilnius /etc/localtime
You can list zones with
ls /usr/share/zoneinfo/
or withls /usr/share/zoneinfo/Europe/
- Sync hardware clock
hwclock --systohc
- Uncomment UTF-8 languages that you want by deleting
#
then save and exist
nano /etc/locale.gen
For example
en_US.UTF-8
- Generate the languages that you selected
locale-gen
- Set the default language
echo "LANG=en_US.UTF-8" >> /etc/locale.conf
- Set pc name
echo "angel-pc" >> /etc/hostname
You can "angel-pc" to whatever you want, but don't write special characters or spaces.
- Setup host file with
nano /etc/hosts
and write in it
127.0.0.1 localhost
::1 localhost
127.0.1.1 angel-pc.localdomain angel-pc
Then save and exit
- Enable multilib support with
nano /etc/pacman.conf
and uncomment by deleting#
from:
[multilib]
Include = /etc/pacman.d/mirrorlist
Then save and exit
- (Optional) multi-threading compiling with
nano /etc/makepkg.conf
by uncommenting line:
MAKEFLAGS="-j2"
To uncomment, delete
#
on specified line like previous times, then save and exit. Change the number2
to how many threads you have on your cpu, you can check withnproc
- First update pacman database with
pacman -Sy
- Install packages
pacman -S networkmanager network-manager-applet dialog wpa_supplicant mtools dosfstools reflector inetutils base-devel linux-headers bluez bluez-utils xdg-utils xdg-user-dirs alsa-utils pipewire lib32-pipewire pipewire-alsa pipewire-pulse pipewire-jack gnome gnome-extra gdm xdg-desktop-portal-gnome xdg-desktop-portal fish xorg wayland qt5-wayland qt6-wayland breeze mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon vulkan-radeon libva-mesa-driver lib32-libva-mesa-driver mesa-vdpau lib32-mesa-vdpau steam wine-staging lutris wine-mono wine-gecko gamemode lib32-gamemode noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra ttf-liberation
- Enable services (case sensitive)
systemctl enable NetworkManager
systemctl enable bluetooth
systemctl enable gdm
- Set default shell for root (Optional)
chsh -s /bin/fish
- Set root password
passwd
- Create user
useradd -mG wheel angel
You can name it whatever you want, but don't use special characters or spaces.
- Set password for angel user
passwd angel
- Add sudo support for wheel group with
EDITOR=nano visudo
by uncommenting%wheel ALL=(ALL) ALL
like this:
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL
Then save and exit.
- Switch to your user
su angel
- Set default shell for user (Optional)
chsh -s /bin/fish
- Go to your home folder
cd ~
- Clone the repository locally
git clone https://aur.archlinux.org/yay
- Enter the repository
cd yay
- Install yay
makepkg -si PKGBUILD
-
First exist your user by pressing
ctrl+d
then exist arch-chroot by pressingctrl+d
again -
Then unmount all partitions
umount -a
Errors are expected, continue.
- Reboot
reboot