Debian Patches

Status for dracut/109-11

Patch Description Author Forwarded Bugs Origin Last update
test-sysroot-run-with-no-hostonly-cmdline.patch test(sysroot): run with --no-hostonly-cmdline
TEST-13-SYSROOT fails in a Ubuntu VM. This is the `lsblk -f` output in
the VM:

```
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
fd0
sr0
vda
├─vda1 ext4 1.0 cloudimg-rootfs 606e50c2-c444-4c6c-86a1-a6e16ff87015 19G 12% /
├─vda13 ext4 1.0 BOOT 30a0e670-dd1c-4d4f-8489-02af8f2f9a18 844.4M 8% /boot
├─vda14
└─vda15 vfat FAT32 UEFI 5150-4E06 98.1M 6% /boot/efi
```

TEST-13-SYSROOT calls dracut with `--hostonly` which leads to
`hostonly_cmdline` default to `yes`. This leads to the code path for
"save host_devs which we need bring up" in
`modules.d/80base/module-setup.sh` being executed. In this VM case the
variables are:

```
host_devs: /dev/vda1 /dev/vda13 /dev/vda15
user_devs:
root_devs: /dev/vda1
```

The code in `modules.d/80base/module-setup.sh` creates systemd units for
`/dev/vda13` and `/dev/vda15` which can be seen in the initrd file:

```
lrwxrwxrwx 1 root root 78 Nov 24 13:35 etc/systemd/system/initrd.target.wants/dev-disk-by\x2duuid-30a0e670\x2ddd1c\x2d4d4f\x2d8489\x2d02af8f2f9a18.device -> ../dev-disk-by\x2duuid-30a0e670\x2ddd1c\x2d4d4f\x2d8489\x2d02af8f2f9a18.device
lrwxrwxrwx 1 root root 42 Nov 24 13:35 etc/systemd/system/initrd.target.wants/dev-disk-by\x2duuid-5150\x2d4E06.device -> ../dev-disk-by\x2duuid-5150\x2d4E06.device
```

These two units hang forever in TEST-13-SYSROOT.

So run TEST-13-SYSROOT with `--no-hostonly-cmdline`.
Benjamin Drung <benjamin.drung@canonical.com> yes 2025-12-15
fix-dracut-source-dracut-functions.sh-before-calling-dwar.patch fix(dracut): source dracut-functions.sh before calling dwarning
`dracut-functions.sh` sources `dracut-logger.sh` which defines the
`dwarning` function. `dracut.sh` might call `dwarning` before
`dracut-functions.sh` is sourced.

`dracut-functions.sh` calls `find_binary` and `dlog_init` when sourced.
`find_binary` needs `dracutsysrootdir` set and `dlog_init` needs
`stdloglvl`, `sysloglvl`, `kmsgloglvl`, `maxloglvl`, `fileloglvl`,
`logfile`. Move sourcing `dracut-functions.sh` as early as possible, but
after setting those variables.

Backport this change to release 109.

Follow-up for 8d9887b
Benjamin Drung <benjamin.drung@canonical.com> yes 2026-01-06
fix-tpm2-tss-add-tss-user-group-in-addition-to-sysusers-c.patch fix(tpm2-tss): add tss user/group in addition to sysusers config
Test 10 on ubuntu:devel shows this warning:

```
[ 0.608623] systemd-tmpfiles[243]: /usr/lib/tmpfiles.d/systemd.conf:33: Duplicate line for path "/var/lib/systemd", ignoring.
[ 0.609389] systemd-tmpfiles[243]: /usr/lib/tmpfiles.d/tpm2-tss-fapi.conf:2: Failed to resolve user 'tss': Unknown user
[ 0.610114] systemd-tmpfiles[243]: Failed to parse ACL "default:group:tss:rwx", ignoring: Invalid argument
[ 0.610800] systemd-tmpfiles[243]: /usr/lib/tmpfiles.d/tpm2-tss-fapi.conf:4: Failed to resolve user 'tss': Unknown user
[ 0.611515] systemd-tmpfiles[243]: Failed to parse ACL "default:group:tss:rwx", ignoring: Invalid argument
[ 0.612262] systemd-tmpfiles[243]: /usr/lib/tmpfiles.d/tpm2-tss-fapi.conf:6: Failed to resolve group 'tss': Unknown group
[ 0.613564] systemd-tmpfiles[243]: /usr/lib/tmpfiles.d/tpm2-tss-fapi.conf:7: Failed to resolve group 'tss': Unknown group
[ 0.627211] systemd-udevd[245]: /usr/lib/udev/rules.d/60-tpm-udev.rules:3 Failed to resolve user 'tss', ignoring: Unknown user
[ 0.628065] systemd-udevd[245]: /usr/lib/udev/rules.d/60-tpm-udev.rules:4 Failed to resolve user 'tss', ignoring: Unknown user
```

Debian/Ubuntu does not ship a sysusers config for the tss user/group.
Instead the tpm-udev package creates a tss user and group in its
postinst script.

So copy the tss user and group into the initrd in addition to shipping
possible sysusers config for it.
Benjamin Drung <benjamin.drung@canonical.com> yes 2026-01-27
test-run-QEMU-with-a-timeout-unless-daemonized.patch test: run QEMU with a timeout unless daemonized
Dracut tests might hang. The Dracut CI sets a timeout to kill those
hanging tests, but downstream might not configure something similar.

Run QEMU with a timeout (unless daemonized) to avoid hanging tests
forever.

The slowest tests executions that I have seen on Debian/Ubuntu:

* 33:44 for test 11 (5 client tests) on Ubuntu resolute on armhf
* 101:58 for test 60 (19 client tests) on Debian unstable on ppc64el
* 19:58 for test 70 (3 client tests) on Ubuntu resolute on arm64
* 22:35 for test 71 (4 client tests) on Ubuntu resolute on arm64
* 52:48 for test 72 (8 client tests) Debian unstable on ppc64el

These slow tests take between 5:22 and 6:45 for each client tests on
average (ignoring the setup cost). So set the timeout to 10 minutes as
default.
Benjamin Drung <benjamin.drung@canonical.com> yes 2026-01-12
test-set-console-cmdline-depending-on-the-architecture.patch test: set console cmdline depending on the architecture
The QEMU process hangs (without printing anything) on some Debian/Ubuntu
architectures. This is caused by the console device is called
differently on those architectures.

So move setting `console` to `run-qemu` and set it to `ttyAMA0` on ARM
systems and to `hvc0` on ppc64el.
Benjamin Drung <benjamin.drung@canonical.com> yes 2025-11-19
test-forward-journald-logs-to-console-in-V-1-or-V-2.patch test: forward journald logs to console in V=1 or V=2
To ease debugging, forward systemd journald logs to console when `V=1`
or `V=2` is set.
Benjamin Drung <benjamin.drung@canonical.com> yes 2025-11-18
test-replace-rev-command-by-sed.patch test: replace rev command by sed
On Debian-based systems, the `rev` command is shipped by the
bsdextrautils package. Replace the `rev` command by `sed` which is an
essential command and does not need additional packages.
Benjamin Drung <benjamin.drung@canonical.com> yes 2025-11-18
test-run-qemu-use-hvc0-console-on-s390x.patch test(run-qemu): use hvc0 console on s390x
The test `TEST-41-FULL-SYSTEMD` fails (hangs) on s390x:

```
CLIENT TEST START: readonly root
[...]
[ OK ] Reached target initrd-switch-root.target - Switch Root.
[...]
[ 104.913552] systemd[1]: Starting testsuite.service - Testsuite service...
Starting testsuite.service - Testsuite service...
[ 105.245935] (test-init)[1028]: testsuite.service: Failed to set up standard input: No such file or directory
[ 105.249516] (test-init)[1028]: testsuite.service: Failed at step STDIN spawning /sbin/test-init: No such file or directory
[ 105.289084] systemd[1]: testsuite.service: Main process exited, code=exited, status=208/STDIN
[ 105.305982] systemd[1]: testsuite.service: Failed with result 'exit-code'.
[FAILED] Failed to start testsuite.service - Testsuite service.
[ 105.365771] systemd[1]: Failed to start testsuite.service - Testsuite service.
```

Replacing the default console `ttyS0` by the virtual console `hvc0`
makes the test succeed.
Benjamin Drung <benjamin.drung@canonical.com> yes debian 2025-11-29
fix-systemd-networkd-install-and-enable-systemd-networkd-.patch fix(systemd-networkd): install and enable systemd-networkd-resolve-hook.socket

New socket needed for v259~rc1, networkd fails if this is not installed
and enabled
Luca Boccassi <luca.boccassi@gmail.com> yes 2025-11-18
feat-warn-in-case-3cpio-is-present-but-not-suitable.patch feat: warn in case 3cpio is present but not suitable
In case the 3cpio call fails, dracut will silently fall back to cpio.
This makes debugging harder.

So print a warning in case calling 3cpio fails. Print an info in case
3cpio does not support `--create`.

See also https://bugs.debian.org/1126301
Benjamin Drung <benjamin.drung@canonical.com> yes 2026-01-23
test-use-UEFI-for-QEMU-when-available.patch test: use UEFI for QEMU when available
Move the `ovmf_code` function and related code to `run-qemu` and always
use UEFI when available. This is a preperation for the following commit.
Benjamin Drung <benjamin.drung@canonical.com> yes 2025-11-26
test-run-qemu-support-RISC-V.patch test(run-qemu): support RISC-V
Use the `virt` machine on RISC-V. This machine does not have a PCI bus.
So use `virtio-rng-device` as RNG device there.
Benjamin Drung <benjamin.drung@canonical.com> yes 2025-12-05
test-drop-auto-yes-from-mdadm-call.patch test: drop --auto=yes from mdadm call
mdadm 4.5 emits following warning:

```
```

So drop `--auto=yes` from the `mdadm --create` calls.
Benjamin Drung <benjamin.drung@canonical.com> yes 2026-01-06
test-run-qemu-support-UEFI-on-ARM.patch test(run-qemu): support UEFI on ARM
The OVMF firmware files are builds of EDK II for 64-bit x86 virtual
machines. They do not work on other architectures.

So search for AAVMF files on ARM. Remove the `cfi.pflash01` driver
setting because it does not work on Ubuntu arm64 and `readonly=on` is
already set for the firmware file.
Benjamin Drung <benjamin.drung@canonical.com> yes 2025-11-26
test-run-qemu-do-not-expect-initrd-as-first-parameter.patch test(run-qemu): do not expect -initrd as first parameter
Check all parameters for `-initrd` instead of expecting it to be the
first parameter.
Benjamin Drung <benjamin.drung@canonical.com> yes 2025-11-19
test-exit-with-code-77-if-test-is-skipped.patch test: exit with code 77 if test is skipped Benjamin Drung <benjamin.drung@canonical.com> yes 2025-11-19
test-run-qemu-include-in-ARGS-array.patch test(run-qemu): include $@ in ARGS array
To simplify the code and as preparation for the following commit,
include `$@` in the `ARGS` array.
Benjamin Drung <benjamin.drung@canonical.com> yes 2025-11-19

All known versions for source package 'dracut'

Links