systemd-udevd provides support for significantly more hardware than mdevd does. Therefore, switch to it. I was not able to get the networking tests to work, as I currently don't have hardware that can run KVM. The other integration tests do pass. Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> --- Changes in v3: - Try to avoid net-add running twice. - Use full systemd instead of systemdMinimal, as something else already pulls it into the image. - Hopefully fix integration tests. - Link to v2: https://spectrum-os.org/lists/archives/spectrum-devel/20250924-udev-v2-2-608... Changes in v2: - Use more optional arguments instead of positional parameters in sd-notify-wrapper. - Explain why explicit modprobe is needed. - Link to v1: https://spectrum-os.org/lists/archives/spectrum-devel/20250913-udev-v1-0-ead... --- Demi Marie Obenour (2): tools: Add adapter tool for services using sd_notify host/rootfs: Switch to systemd-udevd host/rootfs/Makefile | 36 +++--- host/rootfs/default.nix | 118 +++++++------------ host/rootfs/image/etc/mdev.conf | 7 -- host/rootfs/image/etc/mdev/listen | 11 -- host/rootfs/image/etc/mdev/wait | 14 --- host/rootfs/image/etc/s6-rc/card0/type.license | 2 - host/rootfs/image/etc/s6-rc/card0/up | 4 - host/rootfs/image/etc/s6-rc/kvm/timeout-up | 1 - host/rootfs/image/etc/s6-rc/kvm/timeout-up.license | 2 - host/rootfs/image/etc/s6-rc/kvm/type | 1 - host/rootfs/image/etc/s6-rc/kvm/type.license | 2 - host/rootfs/image/etc/s6-rc/kvm/up | 4 - host/rootfs/image/etc/s6-rc/mdevd-coldplug/type | 1 - host/rootfs/image/etc/s6-rc/mdevd-coldplug/up | 4 - .../image/etc/s6-rc/mdevd/notification-fd.license | 2 - host/rootfs/image/etc/s6-rc/mdevd/run | 5 - .../contents.d/systemd-udevd-coldplug} | 0 .../dependencies.d/systemd-udevd} | 0 .../s6-rc/{card0 => systemd-udevd-coldplug}/type | 0 .../type.license | 0 .../image/etc/s6-rc/systemd-udevd-coldplug/up | 3 + .../kvm => systemd-udevd/flag-essential} | 0 .../s6-rc/{mdevd => systemd-udevd}/notification-fd | 0 .../s6-rc/systemd-udevd/notification-fd.license | 2 + host/rootfs/image/etc/s6-rc/systemd-udevd/run | 13 +++ .../image/etc/s6-rc/{mdevd => systemd-udevd}/type | 0 .../s6-rc/{mdevd => systemd-udevd}/type.license | 0 .../contents.d/systemd-udevd-coldplug} | 0 host/rootfs/image/etc/s6-rc/vm-env/type.license | 2 - .../vmm-env/contents.d/systemd-udevd-coldplug | 0 .../weston/dependencies.d/systemd-udevd-coldplug | 0 .../image/etc/udev/rules.d/99-spectrum.rules | 19 +++ host/rootfs/image/usr/bin/run-vmm | 3 + host/rootfs/image/usr/bin/systemd-udevd | 1 + .../{etc/mdev/net/add => usr/libexec/net-add} | 0 tools/default.nix | 1 + tools/meson.build | 1 + tools/sd-notify-adapter/meson.build | 4 + tools/sd-notify-adapter/sd-notify-adapter.c | 127 +++++++++++++++++++++ 39 files changed, 233 insertions(+), 157 deletions(-) --- base-commit: 2551f9eb1a6c9245699ff5cf77f9957d1e2d14be change-id: 20250911-udev-24cf4bf68fbe -- Sincerely, Demi Marie Obenour (she/her/hers)