Package: dracut-install
Version: 103-1.1
Severity: important
X-Debbugs-Cc: tj.iam...@proton.me

debvm in the last week is failing armhf/armel build tests because
virtio_blk kernel module is not installed in the initrd.img.
This was reported and help requested by Helmut Grohne on IRC #debian-devel.

Builds a week ago succeed [0] but latest builds [1] fail.

I've been diagnosing the issue and began by focusing on any packages
being installed for the test. That is kernel, udev, initramfs-tools, and
dracut-install.

I reproduced the issue on a Bookworm amd64 host but Helmut was unable to
on an Unstable amd64 host.

After instrumenting initramfs-tools with additional log messages it
confirmed that the correct list of modules, and module directories, is
being passed to dracut-install.

I tried adding --debug to gain more insight but it seems to ignore it or
not hit any code paths that use log_debug().

However a log from update-initramfs -vu or executing dracut-install
directly in the armhf chroot both show it ignores =drivers/XXX entries
in the module list.

A simple reproducer is:

$ apt-get install debvm
$ git clone https://salsa.debian.org/helmutg/debvm.git
$ cd debvm
$ tests/create-and-run.sh armhf unstable 2>&1 | /usr/bin/tee c-a-r.01.log
$ # kill the 'stuck' qemu guest process
$ mkdir debvm.fs
$ ldev="$( /usr/sbin/losetup --find --show test.ext4 )"
$ sudo mount $ldev ./debvm.fs
$ sudo /usr/sbin/chroot ./debvm.fs/ /usr/lib/dracut/dracut-install --debug -D 
/var/tmp/ --kerneldir /lib/modules/6.10.6-armmp --firmwaredirs 
/lib/firmware/updates/6.10.6-armmp:/lib/firmware/updates:/lib/firmware/6.10.6-armmp:/lib/firmware
 --debug -v -o -m 8139cp =drivers/block acenic
dracut-install: mkdir '/var/tmp/usr'
dracut-install: mkdir '/var/tmp/usr/lib'
dracut-install: ln -s 'usr/lib' '/var/tmp/lib'
dracut-install: mkdir '/var/tmp/lib/modules'
dracut-install: mkdir '/var/tmp/lib/modules/6.10.6-armmp'
dracut-install: mkdir '/var/tmp/lib/modules/6.10.6-armmp/kernel'
dracut-install: mkdir '/var/tmp/lib/modules/6.10.6-armmp/kernel/drivers'
dracut-install: mkdir '/var/tmp/lib/modules/6.10.6-armmp/kernel/drivers/net'
dracut-install: mkdir 
'/var/tmp/lib/modules/6.10.6-armmp/kernel/drivers/net/ethernet'
dracut-install: mkdir 
'/var/tmp/lib/modules/6.10.6-armmp/kernel/drivers/net/ethernet/realtek'
dracut-install: cp 
'/lib/modules/6.10.6-armmp/kernel/drivers/net/ethernet/realtek/8139cp.ko.xz' 
'/var/tmp/lib/modules/6.10.6-armmp/kernel/drivers/net/ethernet/realtek/8139cp.ko.xz'
dracut-install: cp '/lib/modules/6.10.6-armmp/kernel/drivers/net/mii.ko.xz' 
'/var/tmp/lib/modules/6.10.6-armmp/kernel/drivers/net/mii.ko.xz'
dracut-install: mkdir 
'/var/tmp/lib/modules/6.10.6-armmp/kernel/drivers/net/ethernet/alteon'
dracut-install: cp 
'/lib/modules/6.10.6-armmp/kernel/drivers/net/ethernet/alteon/acenic.ko.xz' 
'/var/tmp/lib/modules/6.10.6-armmp/kernel/drivers/net/ethernet/alteon/acenic.ko.xz'
dracut-install: Missing firmware acenic/tg2.bin for kernel module acenic
dracut-install: Missing firmware acenic/tg1.bin for kernel module acenic

Note how the =drivers/block is apparently ignored here.

[0] https://salsa.debian.org/helmutg/debvm/-/jobs/6127012
[1] https://salsa.debian.org/helmutg/debvm/-/jobs/6164782

Reply via email to