Установка Ubuntu на нативный рут ZFS с шифрованием

Я пытаюсь установить Ubuntu с собственной корневой файловой системой ZFS поверх зашифрованного раздела. Настройка устройства выглядит следующим образом:

  • Физический диск разделен на небольшой загрузочный раздел и остальные.
  • Остальная часть диска полностью зашифрована и разделена на /swap и /root раздел для реальной системы.
  • Пул ZFS, созданный в этом корневом разделе с парой файловых систем ZFS для таких вещей, как /home,

Вот два основных руководства, которым я следовал:

Все работает нормально, за исключением последнего шага - установки grub. update-grub говорит (внутри chroot)

error: cannot find a device for / (is /dev mounted?)

/dev смонтирован, и я последовал дополнительному совету во втором руководстве по настройке /etc/default/grub и так далее.

Я не могу заставить себя распознать устройство и grub.cfg/menu.lst не создаются. Есть ли какие-то шаги, которые я мог пропустить? Все это работает внутри VirtualBox, если это актуально.

В частности, мне интересно, какой будет правильная командная строка grub для загрузки этой системы.

4 ответа

Решение

Я написал пошаговое руководство о том, как заставить это работать здесь: http://www.larsko.org/ZfsUbuntu

Grub 1.99 (поставляется с Ubuntu) не поддерживает зашифрованные zfs, поэтому update-grub не работает.

Итак, ваши варианты:

  1. Установите grub 2.00 (который поддерживает зашифрованные zfs).
  2. Напишите ваш grub.cfg вручную, а не используя update-grub.

Обе эти опции значительно отличаются от настроек по умолчанию в Ubuntu, но все же намного меньше, чем в первую очередь использование зашифрованной ZFS для вашей корневой FS:)

Для #1 вам нужно скомпилировать grub 2.00 из исходного кода, так как я не знаю ни одного пакета grub 2.00 для Ubuntu.

Для #2 вам нужно dpkg-divert update-grub и заменить его символической ссылкой на /bin/true, затем написать свой grub.cfg вручную (обновляя его всякий раз, когда вы получаете обновление ядра).

Если вам нужно больше подробностей о том, как сделать любой вариант, я был бы рад остановиться на этом.

Возможно, вам придется привязать корень LVM. Выйдите из chroot и введите:

sudo mount --bind /dev /mnt/root/dev

Затем выполните chroot и посмотрите, работает ли обновление ZFS-grub.

Наиболее разумный подход, похоже, использует zfs для вашей домашней папки и оставляет / как ext4 в контейнере luks https://groups.google.com/a/zfsonlinux.org/forum/?fromgroups

Также есть руководство по использованию luks и zfs в / в gentoo: https://mthode.org/posts/2012/Dec/gentoo-hardened-zfs-rootfs-with-dm-cryptluks-updated-2012-12-12/ который я еще не пробовал. Если есть кто-то, кто мог бы написать хороший учебник, я уверен, что есть сотни благодарных людей, которые будут благодарны.

Другие вопросы по тегам