LINUX.ORG.RU

Сообщения rybakov

 

Full disk encryption

Форум — Admin

OpenRC.

На флешке незашифрованный /efi (/dev/sda1) и зашифрованный /boot (/dev/sda2). На SSD зашифрованный корневой раздел (/dev/nvme0n1p1).

/etc/default/grub:

GRUB_ENABLE_CRYPTODISK=y
...
GRUB_CMDLINE_LINUX="cryptdevice=UUID=<ююид /dev/nvme0n1p1>:cryptroot root=/dev/mapper/cryptroot"

/etc/dracut.conf.d/luks.conf:

add_dracutmodules+=" crypt dm rootfs-block "
kernel_cmdline+=" rd.luks.name=<ююид /dev/sda2>=cryptboot rd.luks.name=<ююид /dev/nvme0n1p1>=cryptroot root=/dev/mapper/cryptroot "

/etc/fstab:

UUID=<ююид /dev/sda1> /efi vfat nosuid,nodev,noexec,noauto,noatime,umask=0077 0 2

UUID=<ююид /dev/mapper/cryptboot> /boot ext4 nosuid,nodev,noexec,noauto,noatime 0 2

UUID=<ююид /dev/mapper/cryptroot> / ext4 lazytime,errors=remount-ro 0 1

Ядро gentoo-kernel-bin. Initramfs, как вы поняли, сгенерирована dracut.

  • Включаю ПК
  • GRUB просит пароль от /dev/sda2
  • Ввожу пароль
  • Вижу GRUB меню
  • Нажимаю Return
  • Вижу dracut
  • dracut: luksOpen /dev/nvme0n1p1 cryptroot
  • Ввожу пароль
  • Ничего не предвещает беды
  • Внезапно! dracut: luksOpen /dev/sda2 luks-<ююид /dev/sda2>
  • Думаю. Жду
  • Попадаю в debug меню с ошибкой "бла-бла-бла Could not boot бла-бла-бла device /dev/mapper/cryptboot does not exist"
  • Ввожу cryptsetup close /dev/mapper/luks-<ююид /dev/sda2>
  • Потом cryptsetup open /dev/sda2 cryptboot
  • Потом exit
  • Загрузка успешно продолжается
  • Ввожу имя пользователя и пароль
  • Успешно вхожу в систему

Вопросы:

  1. Почему dracut требует снова расшифровать /dev/sda2, если GRUB уже должен был его расшифровать? Предполагаю, потому что в /etc/fstab есть строка UUID=<ююид /dev/mapper/cryptboot /boot ..., но не уверен.
  2. Где нужно указать, под каким именем откроется /dev/sda2 (/dev/mapper/cryptboot)? Как видно выше, я попробовал добавить строку rd.luks.name=<ююид /dev/sda2>=cryptboot в /etc/dracut.conf.d/luks.conf, но это не помогло.
  3. А вообще, откуда взялось имя /dev/mapper/cryptboot? Да, при установке системы я вводил команду cryptsetup open /dev/sda2 cryptboot, но ни в каких файлах это имя не указано(?). Или GRUB и dracut автоматически находят, под какими именами открыты LUKS разделы и используют эти имена при установке(?)?
  4. Вроде всё?
  5. Заранее спасибо

 , ,

rybakov
()

RSS подписка на новые темы