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

Reply via email to