Hi Benjamin,

On Mon, Jun 29, 2026 at 03:35:16PM +0200, Benjamin Drung wrote:
> On Fri, 2026-06-26 at 08:15 +0200, Helmut Grohne wrote:
> > Can you file a bug against the relevant Ubuntu package to restore the
> > symlinks and record the bug here?
> 
> There is no /vmlinuz symlink any more since Ubuntu 20.04 (focal). I
> checked where the symlink comes from. /etc/kernel/postinst.d/xx-update-
> initrd-links (from linux-base) creates the symlink by calling linux-
> update-symlinks.

Before looking into debefivm-create, I spent an additional look at
debvm-run. It also fails booting current Ubuntu, but for different
reasons. There /boot/vmlinuz is actually being tried. But it also
detects the VM architecture from /bin/true, which happens to be a
symlink and as a result debugfs cannot cat it, so elf-arch sees an empty
file and concludes an empty architecture. From there things don't go
well. I improved the debvm-run side to handle this case.

https://salsa.debian.org/helmutg/debvm/-/commit/ae3d0affff8e9127b4b226f12397aa0d9272edcd

> linux-update-symlinks has a link_in_boot option which is set to true on
> Ubuntu and false on Debian by default.
> 
> So debefivm-create could explicitly set link_in_boot in /etc/kernel-
> img.conf.

This feels like being between a rock and a hard place. Setting
link_in_boot deviates from Ubuntu defaults and I also cannot compute the
name dynamically as it happens is being used inside a download hook.

I would like to find a better compromise than the ones we are faced
with. Any ideas?

> Do we really need a default-linux-initramfs-tool virtual package?
> Couldn't debvm determine the default initramfs tool by looking at the
> kernel package? On Debian the kernel depends on the initramfs tool, but
> on Ubuntu the kernel only recommends the initramfs tool.
> 
> Example Debian trixie:
> 
> * linux-image-generic is provided by linux-image-amd64
> * linux-image-amd64 depends on linux-image-6.12.94+deb13-amd64
> * linux-image-6.12.94+deb13-amd64 depends onĀ 
>   "initramfs-tools (>= 0.120+deb8u2) | linux-initramfs-tool"
> -> initramfs-tools
> 
> Example Debian unstable:
> 
> * linux-image-generic is provided by linux-image-amd64
> * linux-image-amd64 depends on linux-image-7.0.13+deb14-amd64
> * linux-image-7.0.13+deb14-amd64 depends on
>   "dracut | initramfs-tools (>= 0.120+deb8u2) | linux-initramfs-tool"
> -> dracut
> 
> Example Ubuntu 26.04 resolute:
> 
> * linux-image-generic depends on linux-image-7.0.0-22-generic
> * linux-image-7.0.0-22-generic recommends
>   "dracut | linux-initramfs-tool"
> -> dracut
> 
> Example Ubuntu 24.04 noble:
> 
> * linux-image-generic depends on linux-image-6.8.0-124-generic
> * linux-image-6.8.0-124-generic recommends
>   "initramfs-tools | linux-initramfs-tool"
> -> initramfs-tools

At this point, I'm not sure whether the extra effort spent at parsing
the kernel packag's depends is well invested. initramfs-tools appears to
still work on stonking. I am considering patches (and MRs running CI) to
this end, but they need to work with stretch and chrootless.

In any case, I can boot stonking as a debvm (not debefivm) with the
changes in git.

Helmut

Reply via email to