# cfdisk...

512M, EFI
остальное - Linux Filesystem

```bash
mkfs.fat -F 32 /dev/vda1
mkfs.ext4 /dev/vda2

mount /dev/vda2 /mnt
mkdir -p /mnt/boot
mount /dev/vda1 /mnt/boot

# проверяем монтирование
findmnt /mnt
findmnt /mnt/boot

# устанавливаем
pacstrap -K /mnt base linux linux-firmware sudo openssh

# если упало с ошибкой
mkdir -p /mnt/etc echo 'KEYMAP=us' > /mnt/etc/vconsole.conf
arch-chroot /mnt
mkinitcpio -P
exit

```



```bash
mount | grep '/mnt'
```

## Установка базовой системы
Дальше делаем базовую установку в `/mnt` через `pacstrap`, потом генерируем `fstab` и переходим в установленную систему через `arch-chroot` — это прям “хребет” официального Installation guide.[1]

Команды:
```bash
pacstrap -K /mnt base linux linux-firmware sudo openssh
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
```

## Настройка в chroot (минимум)
Внутри `arch-chroot` сделай базовые вещи: timezone/clock, locale, hostname, пароль root и (желательно) обычного пользователя — это следует общему порядку из Installation guide.[1]

Команды-шаблон:
```bash
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
hwclock --systohc

# locale
sed -i 's/^#\(en_US.UTF-8\)/\1/' /etc/locale.gen
locale-gen
printf "LANG=en_US.UTF-8\n" > /etc/locale.conf

# hostname + hosts
echo "archvm" > /etc/hostname
cat > /etc/hosts <<'EOF'
127.0.0.1 localhost
::1       localhost
127.0.1.1 archvm.localdomain archvm
EOF

passwd
useradd -m -G wheel -s /bin/bash rori
passwd rori
EDITOR=vi visudo   # раскомментируй строку про %wheel ALL=(ALL:ALL) ALL
```

## Загрузчик + сеть + SSH + ребут
Раз у тебя UEFI и ESP смонтирован в `/boot`, можно ставить systemd-boot через `bootctl install`, а затем добавить загрузочную entry в `/boot/loader/entries/` — это ровно то, что описывает ArchWiki по systemd-boot.  Чтобы после первого ребута продолжить работать по SSH, поставленный `openssh` нужно включить как сервис `sshd.service` на автозапуск.[3][4][5]

Команды (всё ещё внутри chroot):
```bash
bootctl install

ROOT_PARTUUID="$(blkid -s PARTUUID -o value /dev/vda2)"
cat > /boot/loader/entries/arch.conf <<EOF
title   Arch Linux
linux   /vmlinuz-linux
initrd  /initramfs-linux.img
options root=PARTUUID=${ROOT_PARTUUID} rw
EOF

# Чтобы сеть поднялась после перезагрузки (самый простой вариант)
pacman -S --noconfirm networkmanager
systemctl enable NetworkManager

# SSH после ребута
systemctl enable sshd
```

Выход и перезагрузка:
```bash
exit
umount -R /mnt
reboot
```

[1](https://wiki.archlinux.org/title/Installation_guide)
[2](https://wiki.archlinux.org/title/EFI_system_partition)
[3](https://wiki.archlinux.org/title/OpenSSH)
[4](https://wiki.archlinux.org/title/Systemd-boot)
[5](https://wiki.archlinux.org/title/Systemd-boot_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9))
[6](https://wiki.archlinux.org/title/Install_Arch_Linux_from_existing_Linux)
[7](https://wiki.archlinux.org/title/Installation_guide_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9))
[8](https://gist.github.com/mjkstra/96ce7a5689d753e7a6bdd92cdc169bae)
[9](https://linuxconfig.org/arch-linux-installation-easy-step-by-step-guide)
[10](https://www.tsunderechen.io/2020/05/archlinux-systemd-boot-installation/)
[11](https://dropvps.com/blog/arch-linux-enable-ssh-server/)
[12](https://habr.com/ru/articles/805671/)
[13](https://www.youtube.com/watch?v=FFXRFTrZ2Lk)
[14](https://gist.github.com/miguelmota/575af40ddb7f86b858a86a673cec3999)
[15](https://wiki.archlinux.org/title/Install_Arch_Linux_from_existing_Linux_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9))
[16](https://fhackts.wordpress.com/2016/09/09/installing-archlinux-the-efisystemd-boot-way/)
[17](https://bruhtus.github.io/posts/arch-installation-guide/)
[18](https://wiki.archlinux.org/title/OpenSSH_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9))
[19](https://www.youtube.com/watch?v=rUEnS1zj1DM)
[20](https://www.atlantic.net/dedicated-server-hosting/how-to-secure-ssh-server-on-arch-linux/)
[21](https://ru.scribd.com/document/601730020/Installation-guide-ArchWiki-Part-4)


# docker autostart
```
sudo systemctl enable --now docker.service
```

# base-devel

```
sudo pacman -S --needed base-devel
```