#1116593 dracut: update-initramfs scripts do not respect uefi=yes in dracut.conf and duplicate functionality

#1116593#5
Date:
2025-09-28 20:57:09 UTC
From:
To:
Dear Maintainer,

I'm trying Dracut as an initramfs and uki generator and noticed a few issues in
the scripts /usr/sbin/update-initramfs and /etc/kernel/postinst.d/dracut:

Issues:

1. UEFI Configuration Ignored
Both scripts ignore the uefi=yes option in /etc/dracut.conf and are hardcoded
to generate the initramfs at /boot/initrd.img-*. As a result, a Unified Kernel
Image (UKI) is not generated, even though this is explicitly requested in the
Dracut configuration.

2. Duplicate Functionality
The scripts re-implement logic that Dracut already handles internally, such as:

- Creating an initrd.img-*.new file and renaming it upon success
- Invoking bootloader hooks

3. Conflict with kernel-install and UKI layout
When used in combination with systemd's kernel-install mechanism, and with
/etc/kernel/install.conf configured as:

        layout=uki
        initrd_generator=dracut
        uki_generator=dracut

The script /usr/lib/kernel/install.d/90-uki-copy.install fails. This happens
because it expects either:

- A uki.efi file in the staging area, or
- An image filename with an .efi suffix

Related to #1095646

Kind regards,

Michael

#1116593#10
Date:
2026-03-12 04:47:10 UTC
From:
To:
Below is a minimal recipe to reproduce this issue (or a very similar issue).

With uefi=yes in dracut.conf, no EFI is generated *and* no error is
reported to dpkg.
Installing a kernel after dracut (in a separate apt run) doesn't help.
Calling dracut by hand *does* generate an EFI.
I think the postinst/trigger is wrong somehow.

Is this intentional?
If so, why, and where is it documented?
How am I *supposed* to get a UKI on Debian 14?

    bash5$ mmdebstrap forky /dev/null --include=linux-image-cloud-amd64,dracut,systemd-boot-efi,binutils --essential-hook='mkdir -p $1/etc/dracut.conf.d && echo uefi=yes >$1/etc/dracut.conf.d/50-foo.conf' --customize-hook='set -x; chroot $1 find boot -ls; chroot $1 apt-get install linux-image-generic -qq -yy; chroot $1 find boot -ls; chroot $1 dracut --force; chroot $1 find boot -ls' --quiet
    + chroot /tmp/mmdebstrap.xDYzBHn0s4 find boot -ls
       2378907      0 drwxr-xr-x   2 root     root          120 Mar 12 04:40 boot
       2396625  35380 -rwx------   1 root     root     36225536 Mar 12 04:40 boot/initrd.img-6.18.15+deb14-cloud-amd64
       2389383  13344 -rw-r--r--   1 root     root     13661824 Feb 27 21:53 boot/vmlinuz-6.18.15+deb14-cloud-amd64
       2389382    132 -rw-r--r--   1 root     root       132303 Feb 27 21:53 boot/config-6.18.15+deb14-cloud-amd64
       2389381      4 -rw-r--r--   1 root     root           99 Feb 27 21:53 boot/System.map-6.18.15+deb14-cloud-amd64
    + chroot /tmp/mmdebstrap.xDYzBHn0s4 apt-get install linux-image-generic -qq -yy
    Selecting previously unselected package linux-base-6.18.15+deb14-amd64.
    (Reading database ... 10088 files and directories currently installed.)
    Preparing to unpack .../linux-base-6.18.15+deb14-amd64_6.18.15-1_amd64.deb ...
    Unpacking linux-base-6.18.15+deb14-amd64 (6.18.15-1) ...
    Selecting previously unselected package linux-image-6.18.15+deb14-amd64.
    Preparing to unpack .../linux-image-6.18.15+deb14-amd64_6.18.15-1_amd64.deb ...
    Unpacking linux-image-6.18.15+deb14-amd64 (6.18.15-1) ...
    Selecting previously unselected package linux-base-amd64.
    Preparing to unpack .../linux-base-amd64_6.18.15-1_amd64.deb ...
    Unpacking linux-base-amd64 (6.18.15-1) ...
    Selecting previously unselected package linux-image-amd64.
    Preparing to unpack .../linux-image-amd64_6.18.15-1_amd64.deb ...
    Unpacking linux-image-amd64 (6.18.15-1) ...
    Setting up linux-base-6.18.15+deb14-amd64 (6.18.15-1) ...
    Setting up linux-base-amd64 (6.18.15-1) ...
    Setting up linux-image-6.18.15+deb14-amd64 (6.18.15-1) ...
    I: /vmlinuz is now a symlink to boot/vmlinuz-6.18.15+deb14-amd64
    I: /initrd.img is now a symlink to boot/initrd.img-6.18.15+deb14-amd64
    /etc/kernel/postinst.d/dracut:
    dracut: Generating /boot/initrd.img-6.18.15+deb14-amd64
    dracut[W]: Turning off host-only mode: /dev is not mounted!
    dracut-install: WARNING: could not locate dlopen dependency for gcrypt feature requested by '/usr/lib/x86_64-linux-gnu/systemd/libsystemd-shared-260.so'
    Setting up linux-image-amd64 (6.18.15-1) ...
    + chroot /tmp/mmdebstrap.xDYzBHn0s4 find boot -ls
       2378907      0 drwxr-xr-x   2 root     root          200 Mar 12 04:41 boot
       2403681  50984 -rwx------   1 root     root     52204544 Mar 12 04:41 boot/initrd.img-6.18.15+deb14-amd64
       2396690  13836 -rw-r--r--   1 root     root     14165632 Feb 27 21:53 boot/vmlinuz-6.18.15+deb14-amd64
       2396689    288 -rw-r--r--   1 root     root       293944 Feb 27 21:53 boot/config-6.18.15+deb14-amd64
       2396688      4 -rw-r--r--   1 root     root           93 Feb 27 21:53 boot/System.map-6.18.15+deb14-amd64
       2396625  35380 -rwx------   1 root     root     36225536 Mar 12 04:40 boot/initrd.img-6.18.15+deb14-cloud-amd64
       2389383  13344 -rw-r--r--   1 root     root     13661824 Feb 27 21:53 boot/vmlinuz-6.18.15+deb14-cloud-amd64
       2389382    132 -rw-r--r--   1 root     root       132303 Feb 27 21:53 boot/config-6.18.15+deb14-cloud-amd64
       2389381      4 -rw-r--r--   1 root     root           99 Feb 27 21:53 boot/System.map-6.18.15+deb14-cloud-amd64
    + chroot /tmp/mmdebstrap.xDYzBHn0s4 dracut --force
    dracut[W]: Turning off host-only mode: /dev is not mounted!
    dracut-install: WARNING: could not locate dlopen dependency for gcrypt feature requested by '/usr/lib/x86_64-linux-gnu/systemd/libsystemd-shared-260.so'
    + chroot /tmp/mmdebstrap.xDYzBHn0s4 find boot -ls
       2378907      0 drwxr-xr-x   3 root     root          220 Mar 12 04:41 boot
       2403691      0 drwxr-xr-x   3 root     root           60 Mar 12 04:41 boot/EFI
       2403692      0 drwxr-xr-x   2 root     root           60 Mar 12 04:42 boot/EFI/Linux
       2404738  35380 -rwx------   1 root     root     36225536 Mar 12 04:42 boot/EFI/Linux/linux-6.18.15+deb14-cloud-amd64-d1602968b4814973a79578ce111e1353.efi
       2403681  50984 -rwx------   1 root     root     52204544 Mar 12 04:41 boot/initrd.img-6.18.15+deb14-amd64
       2396690  13836 -rw-r--r--   1 root     root     14165632 Feb 27 21:53 boot/vmlinuz-6.18.15+deb14-amd64
       2396689    288 -rw-r--r--   1 root     root       293944 Feb 27 21:53 boot/config-6.18.15+deb14-amd64
       2396688      4 -rw-r--r--   1 root     root           93 Feb 27 21:53 boot/System.map-6.18.15+deb14-amd64
       2396625  35380 -rwx------   1 root     root     36225536 Mar 12 04:40 boot/initrd.img-6.18.15+deb14-cloud-amd64
       2389383  13344 -rw-r--r--   1 root     root     13661824 Feb 27 21:53 boot/vmlinuz-6.18.15+deb14-cloud-amd64
       2389382    132 -rw-r--r--   1 root     root       132303 Feb 27 21:53 boot/config-6.18.15+deb14-cloud-amd64
       2389381      4 -rw-r--r--   1 root     root           99 Feb 27 21:53 boot/System.map-6.18.15+deb14-cloud-amd64