UNIXAWESOME

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

#archlinux #uefi

Для начала скачиваем последний образ 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
    

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

Reply to this post by email ↪