установка arch linux

Создание загрузочного диска

качаем 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

Схемы разметки могут быть разными под разные потребности. Вот основные разделы:

  • (Обязательно) Системный раздел EFI размером 512 МБ, отформатированный в формате FAT32. Это обеспечивает пространство для хранения загрузчиков и других файлов, необходимых для загрузки.
  • (Опционально) Раздел подкачки размером RAM*2. Пространство подкачки используется для расширения виртуальной памяти за пределы установленной физической памяти (ОЗУ) или для поддержки записи на диск. Лучше использовать SWAP-файл в будущей системе, так как его размер можно будет поменять.
  • (Обязательно) Раздел Linux с оставшимся свободным местом на диске в формате удобной тебе файловой системы (чаще всего EXT4). Это корневой раздел (/), на котором будет храниться наша операционная система, файлы и другая информация.

Опционально можно создать любые другие разделы для хранения в них чего угодно, например /home в отдельном разделе.

Создание ФС

# для типа раздела EFI создай файловую систему FAT32
mkfs.fat -F32 /dev/sdXY
 
# инициализирует раздел как swap
mkswap /dev/sdaXY
# активирует swap-раздел 
swapon /dev/sdaXY
 
# для корневого раздела создай файловую систему (для примера - EXT4)
mkfs.ext4 /dev/sdXY
# таким же образом и для /home или чего-то еще такого

Установка Arch

удобные параметры pacman

# принудительно обновляет списки пакетов (+ игнорировать локальный кэш)
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

Установка загрузчика

GRUB2

# устанавливает 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