[make-initrd] поддержка zfs
Alexey Gladkov
gladkov.alexey at gmail.com
Sun Oct 23 21:47:50 MSK 2022
On Sat, Oct 22, 2022 at 06:24:22PM +0300, Семён Шепилов wrote:
>
> https://github.com/openzfs/zfs/blob/master/contrib/dracut/90zfs/mount-zfs.sh.in
>
> начало с попытки делегировать монтирование маунт-генератору, как понял
> только для systemd (
> https://zfsonlinux.org/manpages/0.8.5/man8/zfs-mount-generator.8.html )
>
> дальше строки 23-56 что-то про ввод пароля, возможно это для
> зашифрованных разделов, никогда таких не использовал
>
> далее строки 59-79 поиск загрузочных атрибутов у пулов
> 66 if [ " ${root} " = " zfs:AUTO " ] ; then # похоже на содержимое грубовского CMDLINE
> 67 if ! ZFS_DATASET= " $( zpool get -Ho value bootfs | grep -m1 -vFx - ) " ; then # в chroot результат выполнения этого у меня - пустая строка, без грепа — два прочерка, т.е. оба пула у меня не загрузочные.
> Из оракловой справки:
> bootfs=pool/dataset
> Identifies the default bootable dataset for the root pool. This property is expected to be set mainly by the installation and upgrade programs.
> Я ни в одной инструкции на openzfs.github.io/openzfs-docs/Getting
> Started не видел никаких действий с этим свойством…
>
> 69 zpool import -N -a ${ZPOOL_IMPORT_OPTS} # импорт без монтирования (-N) всех пулов (-a)
> # после импорта повторно эта же проверка, если не прошли — return 1 досрочно завершает весь блок if?
>
> строки 80-93 так-же делают импорт пула как и выше, но уже не всех, а
> только того, где нашлись загрузочные атрибуты; я теперь еще больше не
> понимаю как это должно работать)
Не знаю насколько код рабочий, но мне кажется более понятным код
initramfs:
https://github.com/openzfs/zfs/blob/master/contrib/initramfs/scripts/zfs
хотя, признаюсь, по сравнению с btrfs процесс инициализации рута на zfs
выглядит дико.
--
Rgrds, legion
More information about the Make-initrd
mailing list