качаем iso образ с https://archlinux.org/download/
подключаем диск, который сделаем загрузочным (проверяем в lsblk), диск не должен быть примонтирован
записываем образ на диск (не на раздел, а на весь диск):
sudo dd if=archlinux.iso of=/dev/sdX bs=4M status=progress oflag=sync
загружаемся с новоиспеченного загрузочного диска
втыкаем патчкорд и проверем доступ в Интернет:
ping -c 3 archlinux.org
если нужно подключиться по wifi:
# посмотреть имя Wi-Fi адаптера (например, wlan0) [iwd]# device list # сканирование сети [iwd]# station wlan0 scan # показ доступных сетей [iwd]# station wlan0 get-networks # подключение к открытой сети [iwd]# station wlan0 connect ИМЯ_СЕТИ # подключение к защищенной сети [iwd]# station wlan0 connect ИМЯ_СЕТИ passphrase=ПАРОЛЬ # подключение к скрытой сети [iwd]# station wlan0 connect ssid=ИМЯ_СЕТИ passphrase=ПАРОЛЬ
если ИМЯ_СЕТИ / ПАРОЛЬ содержит спецсимволы - используй кавычки
# ищем нужный диск fdisk -l # начинаем интерактивную разметку fdisk /dev/sdX # любуемся резальтатом lsblk
Схемы разметки могут быть разными под разные потребности. Вот основные разделы:
Опционально можно создать любые другие разделы для хранения в них чего угодно, например /home в отдельном разделе.
# для типа раздела EFI создай файловую систему FAT32 mkfs.fat -F32 /dev/sdXY # инициализирует раздел как swap mkswap /dev/sdaXY # активирует swap-раздел swapon /dev/sdaXY # для корневого раздела создай файловую систему (для примера - EXT4) mkfs.ext4 /dev/sdXY # таким же образом и для /home или чего-то еще такого
# принудительно обновляет списки пакетов (+ игнорировать локальный кэш) pacman -Syy # монтируем корневой раздел mount /dev/sdXY /mnt # если создавали доп.разделы - их тоже монтируем mkdir /mnt/home/ && mount /dev/sdXY /mnt/home # юзаем pacstrap для установки необходимых пакетов pacstrap -K /mnt base linux linux-firmware # пакет base включает только самое необходимое: ядро, pacman, базовые утилиты # здесь же ставим пакеты драйверов, текстовых редакторов, базового софта, всего чего хотим в новой системе # генерирует таблицу монтирования по UUID и добавляет в fstab genfstab -U /mnt >> /mnt/etc/fstab
# меняет корень на /mnt и входит в новую систему arch-chroot /mnt # устанавливает часовой пояс через симлинк ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime # записывает системное время в аппаратные часы hwclock --systohc # раскоментируем нужные строки vim /etc/locale.gen # en_US.UTF-8 UTF-8 # ru_RU.UTF-8 UTF-8 # генерирует локали на основе /etc/locale.gen locale-gen # задаёт системную локаль echo LANG=ru_RU.UTF-8 > /etc/locale.conf && export LANG=ru_RU.UTF-8 # задаёт hostname echo naboo > /etc/hostname # открывает файл сопоставления имён и IP-адресов vim /etc/hosts # 127.0.0.1 localhost # ::1 localhost # 127.0.1.1 naboo # задаёт пароль root в свежеустановленной системе passwd
# создаёт пользователя с домашней папкой (-m) useradd -m user # задаёт пароль для нового пользователя passwd user
# устанавливает GRUB и сопутствующие утилиты для UEFI pacman -S grub efibootmgr os-prober mtools # создаёт и монтирует точку монтирования EFI mkdir /boot/efi && mount /dev/sdXY /boot/efi # устанавливает GRUB в EFI-раздел grub-install --target=x86_64-efi --bootloader-id=grub_uefi # генерирует конфигурационный файл GRUB grub-mkconfig -o /boot/grub/grub.cfg
# выходим из chroot-окружения exit # рекурсивно размонтируем все подмонтированные разделы в /mnt umount -R /mnt # перезагружаем систему reboot