UNIXAWESOME

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

May 28, 2020


Для начала скачиваем последний образ Archlinux

  1. Создаем загрузочную флешку из скачанного образа. И загружаемся в режиме UEFI. Перед записью через dd обязательно нужно проверить имя устройства. Оно может отличатся от моего! В моем случае флешка на которую я буду записывать образ это /dev/sdg.

    sudo dd if=archlinux-2020.05.01-x86_64.iso of=/dev/sdg
    
  2. Загружаемся с нашей флешки.

    Подгружаем раскладку и шрифт.

    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
    
  3. Делаем разметку диска и создаем основные разделы. Команда lsblk покажет список дисков и разделов. У меня установка будет на диск sda

    gdisk /dev/sda
    GPT     # (таблица разделов)
    n       # (создаем первый раздел для UEFI)
    Enter   # (номер раздела)
    Enter   # (выбор начального сектора раздела)
    +512MB  # (при выборе конечного сектора раздела пишем объем)
    EF00    # (выбор типа раздела)
    
    n       # (создаем второй, swap раздел)
    Enter   # (номер раздела)
    Enter   # (выбор начального сектора раздела)
    +8GB    # (выбор конечного сектора раздела)
    8200    # (тип раздела)
    
    n       # (создаем третий, root раздел)
    Enter   # (номер раздела)
    Enter   # (выбор начального сектора раздела)
    Enter   # (выбор конечного сектора раздела)
    8300    # (тип раздела)
    
    w   # (записываем изменения)
    y   # (соглашаемся)
    
  4. Делаем шифрованый root раздел и открываем его

    cryptsetup -y -v luksFormat /dev/sda3
    YES
    Enter passphrase: (пароль который будет спрашивать для расшифровки)
    

    Открываем шифрованый раздел.

    cryptsetup open /dev/sda3 cryptroot
    
  5. Создаем файловые системы.

    На root разделе

    mkfs.ext4 /dev/mapper/cryptroot
    

    Создаем swap раздел и включаем его

    mkswap /dev/sda2
    swapon /dev/sda2
    

    Форматируем UEFI раздел

    mkfs.vfat -F 32 /dev/sda1
    
  6. Монтируем разделы.

    Монтируем root

    mount /dev/mapper/cryptroot /mnt
    

    Создаем папку для boot раздела UEFI.

    mkdir /mnt/boot
    

    Монтируем boot

    mount /dev/sda1 /mnt/boot
    
  7. Подключаемся к интернету.
    Если подключение кабельное и ip адрес получаем по dhcp, то должно все работать без проблем.
    Если через wifi:

    wifi-menu
    

    Проверяем наличие интернета

    ping 1.1.1.1
    
  8. Устанавливаем саму систему.

    pacstrap /mnt base linux linux-firmware net-tools vim
    

    Генерация fstab

    genfstab -U -p /mnt >> /mnt/etc/fstab
    vim /mnt/etc/fstab
    
  9. Чрутимся в нашу установленную систему. Ставим загрузчик и прочее…

    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.conf

    KEYMAP=ru
    FONT=cyr-sun16
    

    Меняем hostname.

    echo myhostname > /etc/hostname
    

    Меняем также здесь /etc/hosts

    127.0.0.1 localhost.localdomain localhost myhostname
    ::1   localhost.localdomain localhost myhostname
    
  10. Настройка начального загрузочного диска системы и загрузчика.

    Редактируем /etc/mkinitcpio.conf. В строке HOOKS дописываем encrypt.

     ...
     HOOKS=(base udev autodetect modconf block keyboard keymap encrypt filesystems fsck)
     ...
    

    Переходим в директорию загрузчика /boot/loader/ и правим loader.conf, заменяем его содержимое
    loader.conf

    timeout 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
    
  11. Завершаем установку…

    Задаём пароль для root

    passwd
    

    Выходим из chroot.

    exit
    

    Размонтируем наши разделы:

    umount /mnt/boot /mnt
    

    Перезагружаемся

    reboot
    

Вот так будет выглядеть запрос пароля для расшифровки: