* Re: [make-initrd] поддержка zfs
@ 2022-10-21 7:24 ` Konstantin Lepikhov
2022-10-21 10:50 ` Alexey Gladkov
2022-11-19 16:09 ` Alexey Gladkov
2 siblings, 1 reply; 6+ messages in thread
From: Konstantin Lepikhov @ 2022-10-21 7:24 UTC (permalink / raw)
To: make-initrd
Hi Семён!
On 10/20/2022, at 09:23:46 PM you wrote:
>
> Здравствуйте. С помощью make-initrd возможно создать образ, который загрузит систему с корневым разделом на zfs-пуле?
>
А что именно требуется в этом случае? Какие-то модули ядра или еще
userspace?
--
WBR et al.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [make-initrd] поддержка zfs
2022-10-21 7:24 ` [make-initrd] поддержка zfs Konstantin Lepikhov
@ 2022-10-21 10:50 ` Alexey Gladkov
2022-11-19 16:09 ` Alexey Gladkov
2 siblings, 0 replies; 6+ messages in thread
From: Alexey Gladkov @ 2022-10-21 10:50 UTC (permalink / raw)
To: Семён
Шепилов,
make-initrd
On Thu, Oct 20, 2022 at 09:23:46PM +0300, Семён Шепилов wrote:
>
> Здравствуйте. С помощью make-initrd возможно создать образ, который
> загрузит систему с корневым разделом на zfs-пуле?
Сейчас поддержки zfs нет, но при должном желании её можно добавить.
--
Rgrds, legion
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [make-initrd] поддержка zfs
@ 2022-10-21 17:04 ` Konstantin Lepikhov
0 siblings, 1 reply; 6+ messages in thread
From: Konstantin Lepikhov @ 2022-10-21 17:04 UTC (permalink / raw)
To: make-initrd
Hi Семён!
On 10/21/2022, at 06:20:43 PM you wrote:
>
> Затрудняюсь ответить, перенос системы делаю по официальной документации для дебиана , арча и суси , начало у всех там примерно одинаковое, а вот как доходит до установки загрузчика и сборки initrd — у всех свои костыли.
> У меня 3 раздела на устройстве: EFI fat16, boot и root пулы zfs. В initrd-образе присутствуют модули для zfs. grub загружает initrd, вижу сообщения о монтировании dev, sys, run, загрузке модулей ядра, запуске udevd, plymouth, uveentd, polld, поднимается lo-интерфейс, а дальше циклическое сообщение «initramfs: Waiting for root ...». Дистрибутив K10, initramfs 2.27.1
>
Насколько я понимаю, в initramfs должны присутствовать утилиты
монтирования zfs + необходимые ядерные модули. Для первого необходима
соответствующая feature/guess (пусть legion@ поправит), для второго либо
обвязка в guess, либо просто MODULES_ADD в конфигурации initrd.mk
У вас есть примеры, по которым вы смотрели поддержку?
--
WBR et al.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [make-initrd] поддержка zfs
@ 2022-10-22 0:10 ` Alexey Gladkov
0 siblings, 1 reply; 6+ messages in thread
From: Alexey Gladkov @ 2022-10-22 0:10 UTC (permalink / raw)
To: Семён
Шепилов,
make-initrd
On Fri, Oct 21, 2022 at 09:10:17PM +0300, Семён Шепилов wrote:
>
> В конфигурацию initrd.mk добавил единственную строку MODULES_ADD += zfs, стандартный альтовский образ initrd стал таким (изменения выделил символом «*»):
> Used features: add-modules add-udev-rules buildinfo cleanup compress depmod-image gpu-drm kbd
> locales network plymouth rdshell rootfs system-glibc ucode
> Packed modules: af_packet amdgpu cec drm drm_kms_helper drm_ttm_helper evdev gpu-sched hid
> hid-generic hwmon i2c-algo-bit icp* input-leds intel-agp intel-gtt iommu_v2 rc-core serio_raw
> sis-agp spl* ttm via-agp zavl* zcommon* zfs* zlua* znvpair* zunicode* zzstd*
> Ядро уже было с поддержкой zfs — у меня не новая установка, а перенос системы с поддержкой zfs на другой носитель.
> Во всех инструкциях описывается либо установка из смонтированных репозиториев, либо debootstrap для дебиана;
> выжимка для дебиана ( https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bullseye%20Root%20on%20ZFS.html#step-4-system-configuration ):
> apt install dpkg-dev linux-headers-generic linux-image-generic zfs-initramfs
> echo REMAKE_INITRD = yes > /etc/dkms/zfs.conf
> update-initramfs -c -k all
>
> для арча ( https://openzfs.github.io/openzfs-docs/Getting%20Started/Arch%20Linux/Root%20on%20ZFS/3-system-configuration.html ):
> Configure mkinitcpio:
> tee /mnt/etc/mkinitcpio.conf <<EOF
> HOOKS=(base udev autodetect modconf block keyboard zfs filesystems)
> EOF
>
> для суси ( https://openzfs.github.io/openzfs-docs/Getting%20Started/openSUSE/openSUSE%20Leap%20Root%20on%20ZFS.html#step-6-kernel-installation ):
> Add zfs module into dracut: echo 'zfs' >> /etc/modules-load.d/zfs.conf
Поддержки zfs нет в dracut. Модуль для этой файловой системы есть
только отдельно[1]. Нужно почитать как они предлагают монтировать zfs. Уж
очень много там скриптов.
[1] https://github.com/openzfs/zfs/tree/master/contrib/dracut
--
Rgrds, legion
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [make-initrd] поддержка zfs
@ 2022-10-23 18:47 ` Alexey Gladkov
0 siblings, 0 replies; 6+ messages in thread
From: Alexey Gladkov @ 2022-10-23 18:47 UTC (permalink / raw)
To: Семён
Шепилов
Cc: make-initrd
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [make-initrd] поддержка zfs
2022-10-21 7:24 ` [make-initrd] поддержка zfs Konstantin Lepikhov
2022-10-21 10:50 ` Alexey Gladkov
@ 2022-11-19 16:09 ` Alexey Gladkov
2 siblings, 0 replies; 6+ messages in thread
From: Alexey Gladkov @ 2022-11-19 16:09 UTC (permalink / raw)
To: Семён
Шепилов,
make-initrd
On Thu, Oct 20, 2022 at 09:23:46PM +0300, Семён Шепилов wrote:
>
> Здравствуйте. С помощью make-initrd возможно создать образ, который загрузит систему с корневым разделом на zfs-пуле?
Я завёл список задач, которые нужно реализовать. Потихоньку работаю над
этим. Сложность в том, что у zfs всё своё и никакие механизмы определения,
которые у меня есть, с zfs не работают. Посмотрим, что получится
реализовать.
https://github.com/osboot/make-initrd/issues/30
--
Rgrds, legion
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-11-19 16:09 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-21 7:24 ` [make-initrd] поддержка zfs Konstantin Lepikhov
2022-10-21 17:04 ` Konstantin Lepikhov
2022-10-22 0:10 ` Alexey Gladkov
2022-10-23 18:47 ` Alexey Gladkov
2022-10-21 10:50 ` Alexey Gladkov
2022-11-19 16:09 ` Alexey Gladkov
Make-initrd development discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
public-inbox-index make-initrd
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.make-initrd
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git