On Wed, 2026-04-08 at 12:06 +0200, Chris Hofstaedtler wrote: > On Wed, Apr 08, 2026 at 11:39:18AM +0200, Benjamin Drung wrote: > [..] > > ``` > > $ sudo autopkgtest-build-qemu --boot=efi unstable /tmp/unstable-amd64.img > > [...] > > Exec: ['chroot', '/tmp/tmpyajn1s9p', 'eatmydata', 'apt-get', '-y', > > '--no-show-progress', '', 'install', 'linux-image-amd64'] > > [...] > > Processing triggers for dracut (110-9) ... > > update-initramfs: Generating /boot/initrd.img-6.19.11+deb14-amd64 > > dracut[W]: Turning off host-only mode: /dev is not mounted! > > [...] > > Exec: ['mount', '--bind', '/dev', '/tmp/tmpyajn1s9p/dev'] > > Exec: ['mount', '--bind', '/sys', '/tmp/tmpyajn1s9p/sys'] > > Exec: ['mount', '--bind', '/proc', '/tmp/tmpyajn1s9p/proc'] > > Exec: ['parted', '-s', '/dev/loop15', 'set', '1', 'esp', 'on'] > > Exec: ['chroot', '/tmp/tmpyajn1s9p', 'apt-get', 'update'] > > Hit:1 http://deb.debian.org/debian unstable InRelease > > Reading package lists... > > Exec: ['chroot', '/tmp/tmpyajn1s9p', 'apt-get', '-y', '--no-show-progress', > > 'install', 'grub-efi-amd64'] > > [...] > > Processing triggers for dracut (110-9) ... > > update-initramfs: Generating /boot/initrd.img-6.19.11+deb14-amd64 > > [...] > > ``` > > > > Then converting the resulting image to raw, mount it and run `lsinitrd` > > on /boot/initrd.img-6.19.11+deb14-amd64 gives: > > > > ``` > > dracut cmdline: > > root=/dev/mapper/loop15p2 rootfstype=ext4 rootflags=rw,relatime > > ``` > > > > Explanation: When installing linux-image-amd64, /dev is not mounted and > > dracut turns off host-only mode. That's what we want for this image. But > > then /dev gets mounted and the initrd is regenerated (when installing > > grub-efi-amd6). This time the initrd is build in host-only mode. > > > > The big question: How to solve that? Should dracut become smarter and > > detect either the chroot run or that a loop mount is probably not what > > is wanted? > > IMO detection of the chroot is a good approach. We already have > various software pieces that behave differently when they detect a > chroot (systemctl, glibc postinst, etc). > > I think this would also help users that run in a rescue environment, > as (per my limited understanding), hostonly would also likely > produce something that won't boot. > > > Or should autopkgtest-build-qemu add a dracut config to > > disable host-only? > > This could be done by placing a file in /etc/dracut.conf.d/*.conf with: > > hostonly="no" > > As I wrote earlier, I believe this is non-ideal. Each image builder > will have to learn it, and each image builder will do something > different. You'll end up with various configurations in the wild > that you don't know that they exist. > > Also it seems to me that, once the built installation actually > booted, users no longer want the override.
I forwarded this issue to upstream: https://github.com/dracut-ng/dracut-ng/issues/2355 -- Benjamin Drung Debian & Ubuntu Developer

