Took me a while, but I made it, once. Took few hours to test and reinstall a few times, just to be sure that it - in fact - really works.
Common loadkeys slovene # EFI check: if OK (list exists), boot == EFI. ls /sys/firmware/efi/efivars dhcpcd ip addr list timedatectl set-ntp true MBR, BIOS cfdisk # MBR # /dev/vda1: 9G - type Linux, BOOTABLE # /dev/vda2: 1023M - type Linux Swap mkfs.ext4 /dev/vda1 mkswap /dev/vda2 swapon /dev/vda2 mount /dev/vda1 /mnt EFI, GPT cfdisk # GPT # /dev/vda1: 512M - type EFI System # /dev/vda2: 8G - type Linux Root (X86-64) # /dev/vda2: 1.5G - type Linux Swap mkfs.ext4 /dev/vda2 mkswap /dev/vda3 swapon /dev/vda3 mount /dev/vda2 /mnt Common pacman -Sy pacman -S archlinux-keyring pacstrap /mnt base linux linux-firmware genfstab -U /mnt >> /mnt/etc/fstab arch-chroot /mnt pacman -S vim curl htop wget tmux dhcpcd grub lolcat cowsay neofetch zsh zsh-completions ln -sf /usr/share/zoneinfo/Europe/Ljubljana /etc/localtime hwclock --systohc sed -i '/^#sl_SI.UTF-8/s/^#//' /etc/locale.gen sed -i '/^#en_US.UTF-8/s/^#//' /etc/locale.gen locale-gen vim /etc/locale.conf LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LANGUAGE=en_US.UTF-8 :wq echo "KEYMAP=slovene" > /etc/vconsole.conf echo "cassandra" > /etc/hostname vim /etc/hosts 127.0.0.1 localhost ::1 localhost 127.0.1.1 cassandra.localdomain cassandra :wq systemctl enable dhcpcd MBR grub-install /dev/vda grub-mkconfig -o /boot/grub/grub.cfg EFI pacman -Sy efibootmgr grub-install --target=x86_64-efi --efi-directory /efi/ --bootloader-id=GRUB grub-mkconfig -o /boot/grub/grub.cfg Common passwd useradd -m user -s /usr/bin/zsh passwd user exit umount -R /mnt reboot All credits due: the Arch Wiki Allmighty(TM)
...