NOTE: This guide assumes that you have 50G disk for your vm * `vmctl start -c -B cdrom ` * Press ``, then enter ` console=ttyS0,115200` * The problem may occur with loading `/dev/disk/by-label/ARCH_` * 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 /dev/disk/by-label/ARCH_` `ln -s /dev/sr0 /dev/disk/by-label/ARCH_202206` * exit from that console * 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 ` * choose `dos` * partition scheme - 2G swap, 23G /, 25G /home * mark root as bootable * /dev/vda1 - swap, /dev/vda2 - /, /dev/vda3 - /home * Formatting * `mkfs.ext4 -L ROOT /dev/vda2` * `mkfs.ext4 -L HOME /dev/vda3` * `mkswap -L SWAP /dev/vda1` * Mount * `mount /dev/vda2 /mnt` * `mkdir -p /mnt/home` * `mount /dev/vda3 /mnt/home` * `swapon /dev/vda1` * 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=` * 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 ` * 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 ` * Update your system using `pacman -Syu` * Add your own user and add it to wheel group * `useradd -m -G wheel ` * Install and configure sudo * `pacman -S sudo` * Edit /etc/sudoers * Uncomment line this line `%25wheel ALL=(ALL:ALL) ALL` or this `%25wheel ALL=(ALL:ALL) NOPASSWD: ALL`, if you want to allow sudo without password * 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//.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 ` (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 `