Debian Patches

Status for dracut/109-6

Patch Description Author Forwarded Bugs Origin Last update
udevsettle udevsettle
In a KVM VM the network is not configured properly, it shows ens3
(instead of eth0), which is not in status up and no IP address.
Thomas Lange <lange@debian.org> no 2025-08-04
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
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-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-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
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-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-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-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
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-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
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-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

All known versions for source package 'dracut'

Links