[make-initrd] Multipath feature

Alexey Gladkov gladkov.alexey at gmail.com
Mon Jan 29 16:47:24 MSK 2024


On Mon, Jan 29, 2024 at 03:03:25PM +0300, Leonid Krivoshein wrote:
> >> Видимо в config.mk фичи надо паковать всю /%_lib/multipath, как в спеке
> >> multipath-tools, т.к. там ещё и плагины. На стабильных бранчах в
> >> установщике multipath рабочий, в обычной rootfs тоже.
> > Кто-нибудь может проверить эту теорию ?
> 
> Проверил на предоставленном стенде на реальном железе. Теорию 
> подтверждаю. Виноват make-initrd, не установщик. Если хочешь, могу 
> скинуть личным письмом более подробную диагностику. Вот так не заработало:
> 
> $ cat /etc/initrd.mk
> # trying to detect modules and features to access to root volume
> AUTODETECT = all
> FEATURES += lvm multipath
> PUT_DIRS += /lib64/multipath

PUT_FILES += /lib64/multipath

> А вот так заработало, корень системы на multipath:
> 
> $ cat /etc/initrd.mk
> # trying to detect modules and features to access to root volume
> AUTODETECT = all
> FEATURES += lvm
> FEATURES += multipath
> PUT_FILES += $(shell ls /lib64/multipath/*.so)

Ок. Значит получается не хватает зависимости на lvm и плагинов.

С плагинами всегда боль. Что у multipath, что у plymouth они лежат в
разных местах у разных вендоров. Я понимаю, что это только моя боль, но
всё же. Нужно подумать как лучше паковать такое.

> Т.е. ещё проблема с PUT_DIRS.

PUT_DIRS работает также как PUT_FEATURE_DIRS. Это директория содержимое,
которой нужно положить относительно корень образа.

> > $ rpm -qa 'make-initrd*'
> make-initrd-mdadm-2.31.0-alt4.noarch
> make-initrd-luks-2.31.0-alt4.noarch
> make-initrd-lvm-2.31.0-alt4.noarch
> make-initrd-integrity-0.5.0-alt1.noarch
> make-initrd-2.31.0-alt4.x86_64
> make-initrd-devmapper-2.31.0-alt4.noarch
> make-initrd-multipath-2.31.0-alt4.noarch
> 
> $ sudo initrd-ls /boot/initrd-6.1.29-un-def-alt1.img |grep ./lib64/multipath
> 
> (пусто при первом варианте). И не пусто при втором, и кстати даты странные:
> 
> 1 drwxr-xr-x 2 0 0       0 Jan 01 03:00:00 1970 ./lib64/multipath
> 1 -rw-r--r-- 1 0 0   14312 Jan 01 03:00:00 1970 
> ./lib64/multipath/libcheckcciss_tur.so
> 1 -rw-r--r-- 1 0 0   14432 Jan 01 03:00:00 1970 
> ./lib64/multipath/libcheckdirectio.so
> 1 -rw-r--r-- 1 0 0   14464 Jan 01 03:00:00 1970 
> ./lib64/multipath/libcheckemc_clariion.so
> 1 -rw-r--r-- 1 0 0   14232 Jan 01 03:00:00 1970 
> ./lib64/multipath/libcheckhp_sw.so
> 1 -rw-r--r-- 1 0 0   14456 Jan 01 03:00:00 1970 
> ./lib64/multipath/libcheckrdac.so
> 1 -rw-r--r-- 1 0 0   14240 Jan 01 03:00:00 1970 
> ./lib64/multipath/libcheckreadsector0.so
> 1 -rw-r--r-- 1 0 0   14408 Jan 01 03:00:00 1970 
> ./lib64/multipath/libchecktur.so
> 1 -rw-r--r-- 1 0 0   30696 Jan 01 03:00:00 1970 
> ./lib64/multipath/libforeign-nvme.so
> 1 -rw-r--r-- 1 0 0   14296 Jan 01 03:00:00 1970 
> ./lib64/multipath/libprioalua.so
> 1 -rw-r--r-- 1 0 0   14288 Jan 01 03:00:00 1970 
> ./lib64/multipath/libprioana.so
> 1 -rw-r--r-- 1 0 0   14008 Jan 01 03:00:00 1970 
> ./lib64/multipath/libprioconst.so
> 1 -rw-r--r-- 1 0 0   14312 Jan 01 03:00:00 1970 
> ./lib64/multipath/libpriodatacore.so
> 1 -rw-r--r-- 1 0 0   14304 Jan 01 03:00:00 1970 
> ./lib64/multipath/libprioemc.so
> 1 -rw-r--r-- 1 0 0   14304 Jan 01 03:00:00 1970 
> ./lib64/multipath/libpriohds.so
> 1 -rw-r--r-- 1 0 0   14304 Jan 01 03:00:00 1970 
> ./lib64/multipath/libpriohp_sw.so
> 1 -rw-r--r-- 1 0 0   14304 Jan 01 03:00:00 1970 
> ./lib64/multipath/libprioiet.so
> 1 -rw-r--r-- 1 0 0   14304 Jan 01 03:00:00 1970 
> ./lib64/multipath/libprioontap.so
> 1 -rw-r--r-- 1 0 0   14312 Jan 01 03:00:00 1970 
> ./lib64/multipath/libpriopath_latency.so
> 1 -rw-r--r-- 1 0 0   14304 Jan 01 03:00:00 1970 
> ./lib64/multipath/libpriorandom.so
> 1 -rw-r--r-- 1 0 0   14304 Jan 01 03:00:00 1970 
> ./lib64/multipath/libpriordac.so
> 1 -rw-r--r-- 1 0 0   14296 Jan 01 03:00:00 1970 
> ./lib64/multipath/libpriosysfs.so
> 1 -rw-r--r-- 1 0 0   14312 Jan 01 03:00:00 1970 
> ./lib64/multipath/libprioweightedpath.so
> 
> 
> -- 
> WBR, Leonid Krivoshein.
> _______________________________________________
> Make-initrd mailing list
> Make-initrd at lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/make-initrd

-- 
Rgrds, legion



More information about the Make-initrd mailing list