Установка зашифрованной системы Archlinux

Для начала скачиваем последний образ Archlinux
-
Создаем загрузочную флешку из скачанного образа. И загружаемся в режиме UEFI. Перед записью через dd обязательно нужно проверить имя устройства. Оно может отличатся от моего! В моем случае флешка на которую я буду записывать образ это
/dev/sdg.sudo dd if=archlinux-2020.05.01-x86_64.iso of=/dev/sdg -
Загружаемся с нашей флешки.
Подгружаем раскладку и шрифт.
loadkeys ru setfont cyr-sun16Добавляем локаль. Редактируем
/etc/locale.gen. Расскомментируем нужные нам локали.en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8Теперь генерируем и экспортируем нашу локаль.
locale-gen export LANG=ru_RU.UTF-8 -
Делаем разметку диска и создаем основные разделы. Команда
lsblkпокажет список дисков и разделов. У меня установка будет на диск sdagdisk /dev/sda GPT # (таблица разделов) n # (создаем первый раздел для UEFI) Enter # (номер раздела) Enter # (выбор начального сектора раздела) +512MB # (при выборе конечного сектора раздела пишем объем) EF00 # (выбор типа раздела) n # (создаем второй, swap раздел) Enter # (номер раздела) Enter # (выбор начального сектора раздела) +8GB # (выбор конечного сектора раздела) 8200 # (тип раздела) n # (создаем третий, root раздел) Enter # (номер раздела) Enter # (выбор начального сектора раздела) Enter # (выбор конечного сектора раздела) 8300 # (тип раздела) w # (записываем изменения) y # (соглашаемся) -
Делаем шифрованый root раздел и открываем его
cryptsetup -y -v luksFormat /dev/sda3 YES Enter passphrase: (пароль который будет спрашивать для расшифровки)Открываем шифрованый раздел.
cryptsetup open /dev/sda3 cryptroot -
Создаем файловые системы.
На root разделе
mkfs.ext4 /dev/mapper/cryptrootСоздаем swap раздел и включаем его
mkswap /dev/sda2 swapon /dev/sda2Форматируем UEFI раздел
mkfs.vfat -F 32 /dev/sda1 -
Монтируем разделы.
Монтируем root
mount /dev/mapper/cryptroot /mntСоздаем папку для boot раздела UEFI.
mkdir /mnt/bootМонтируем boot
mount /dev/sda1 /mnt/boot -
Подключаемся к интернету. Если подключение кабельное и ip адрес получаем по dhcp, то должно все работать без проблем. Если через wifi:
wifi-menuПроверяем наличие интернета
ping 1.1.1.1 -
Устанавливаем саму систему.
pacstrap /mnt base linux linux-firmware net-tools vimГенерация fstab
genfstab -U -p /mnt >> /mnt/etc/fstab vim /mnt/etc/fstab -
Чрутимся в нашу установленную систему. Ставим загрузчик и прочее…
arch-chroot /mnt # Чрутимся bootctl install # Ставим загрузчикРедактируем
/etc/locale.gen, оставляем нужные локали и генерируем их.locale-gen echo LANG=ru_RU.UTF-8 > /etc/locale.conf export LANG=ru_RU.UTF-8Редактируем
/etc/vconsole.confKEYMAP=ru FONT=cyr-sun16Меняем hostname.
echo myhostname > /etc/hostnameМеняем также здесь
/etc/hosts127.0.0.1 localhost.localdomain localhost myhostname ::1 localhost.localdomain localhost myhostname -
Настройка начального загрузочного диска системы и загрузчика.
Редактируем
/etc/mkinitcpio.conf. В строке HOOKS дописываем encrypt.... HOOKS=(base udev autodetect modconf block keyboard keymap encrypt filesystems fsck) ...Переходим в директорию загрузчика
/boot/loader/и правим loader.conf, заменяем его содержимое loader.conftimeout 3 default archПереходим
cd entries/Нам понадобится UUID шифрованого раздела. Этой командой сразу запишем его в нужный нам файл.
lsblk -f | grep LUKS | awk '{print $4}' > arch.confРедактируем arch.conf.
title Arch Linux Encrypted linux /vmlinuz-linux initrd /initramfs-linux.img options cryptdevice=UUID=<UUID>:cryptroot root=/dev/mapper/cryptroot quiet rwСоздаем начальное окружение.
mkinitcpio -p linux -
Завершаем установку…
Задаём пароль для root
passwdВыходим из chroot.
exitРазмонтируем наши разделы:
umount /mnt/boot /mntПерезагружаемся
reboot
Вот так будет выглядеть запрос пароля для расшифровки:
