The udev initramfs-tools boot script does not trigger subsystem "add" uevents. As a result, udev rules that listen to subsystem "add" events are never activated. This problem exists on at least Ubuntu 16.04 and 17.10.
On s390, this results in a boot failure if the kernel is configured to start with an active device black list (kernel parameter cio_ignore=all,!condev). An example for an affected udev rule looks like this:
The udev initramfs-tools boot script does not trigger subsystem "add" uevents. As a result, udev rules that listen to subsystem "add" events are never activated. This problem exists on at least Ubuntu 16.04 and 17.10.
On s390, this results in a boot failure if the kernel is configured to start with an active device black list (kernel parameter cio_ignore= all,!condev) . An example for an affected udev rule looks like this:
ACTION=="add", SUBSYSTEM= ="subsystem" , KERNEL=="ccw", RUN{program} +="/bin/ sh -c 'echo free 0009,ec30, ec32,f5f0- f5f2 > /proc/cio_ignore'"
A proposed fix would be:
Modify /usr/share/ initramfs- tools/scripts/ init-top/ udev:
Replace line
udevadm trigger --action=add
with
udevadm trigger --type=subsystems --action=add
udevadm trigger --type=devices --action=add
This would also be consistent with the steps that the systemd udev coldplug unit file performs (see /lib/systemd/ system/ systemd- udev-trigger. service) .