Make-initrd development discussion
 help / color / mirror / Atom feed
* 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