vmctl start -c -B cdrom <vm-name>
Press <TAB>, then enter console=ttyS0,115200
The problem may occur with loading /dev/disk/by-label/ARCH_<SMTH>
To fix it you need to create /dev/disk/by-label/ if needed - mkdir -p /dev/disk/by-label/
Then check blkid, and ln -s <path-to-iso-that-was-returned> /dev/disk/by-label/ARCH_<SMTH>
ln -s /dev/sr0 /dev/disk/by-label/ARCH_202206
login as root
check if network is working using ping archlinux.org
timedatectl set-ntp true
check what disk you need to format using fdisk -l
run cfdisk <your-disk>
choose dos
partition scheme - 2G swap, 23G /, 25G /home
mark root as bootable
/dev/vda1 - swap, /dev/vda2 - /, /dev/vda3 - /home
Formatting
Mount
Installation process
pacstrap /mnt base linux linux-firmware
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
ln -sf /usr/share/zoneinfo/UTC /etc/localtime
hwclock --systohc
install editor (for example: pacman -S vim)
edit /etc/locale.gen and uncomment en_US.UTF-8 UTF-8
locale-gen
Create /etc/locale.conf and insert LANG=en_US.UTF-8
Create /etc/hostname and insert hostname
set root password using passwd
Bootloader
pacman -S syslinux
syslinux-install_update -i -a -m
Fix /boot/syslinux/syslinux.cfg
in lines with APPEND change root=/dev/sdaX to root=<your-root-partition>
in the end of APPEND lines add console=ttyS0,115200
you should fix it for both: and for arch section, and for archfallback section
End of basic install
exit from chroot
umount -R /mnt
poweroff
Now boot your vm and connect to serial console using vmctl start -c <vm-name>
Fix networking
- Create file /etc/systemd/network/20-wired.network and add this to it:
[Match]
Name=enp0s2
[Network]
Address=
Gateway=
Address=
Gateway=
systemctl enable systemd-networkd
systemctl start systemd-networkd
Fix /etc/resolv.conf
Add nameserver <gateway-ipv4-addr>
Update your system using pacman -Syu
Add your own user and add it to wheel group
useradd -m -G wheel <username>
Install and configure sudo
Setup sshd
pacman -S openssh
Edit /etc/sshd/sshd_config
Change PasswordAuthentication field to no`
Change PermitRootLogin field to no
Change PubkeyAuthentication field to yes
Make in your user's home dir folder .ssh with 700 permissions
mkdir -m 700 /home/<your-user-home-dir>/.ssh
Add your public key to /.ssh/authorized_keys
systemctl enable sshd
systemctl start sshd
Try to connect to your server using ssh with key
It is recommended to poweroff your VPS and turn it on using vmctl start <vm-name> (maybe you will need to wait around 30 seconds or more)
If you having some issues with connecting, try to connect to serial console using vmctl console <vm-name>