udev: boot script does not trigger subsystem coldplug
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
Medium
|
Canonical Foundations Team | ||
systemd (Ubuntu) |
Fix Released
|
Undecided
|
Skipper Bug Screeners | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Zesty |
Fix Released
|
Undecided
|
Unassigned | ||
Artful |
Fix Released
|
Undecided
|
Skipper Bug Screeners |
Bug Description
[Impact]
subsystems udev rules are not processed on boot, thus resulting in missing devices on boot / before rootfs is mounted.
[Solution]
trigger udev subsystems and devices, in the initramfs, in that order.
[Testcase]
Boot s390x system with chzdev configured devices, and cio_ignore=all kernel command line parameter. The chzdev configured devices should still be discovered on boot.
[Original Bug report]
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=
ACTION=="add", SUBSYSTEM=
A proposed fix would be:
Modify /usr/share/
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/
[Regression Potential]
More udev rules will be now triggered, earlier, during initramfs stage of boot rather than post-pivot-root. However, this is inline with current rootfs behaviour and thus should not regress behaviour - simply some rules will get triggered earlier.
tags: | added: architecture-s39064 bugnameltc-158070 severity-medium targetmilestone-inin1604 |
Changed in ubuntu: | |
assignee: | nobody → Skipper Bug Screeners (skipper-screen-team) |
affects: | ubuntu → initramfs-tools-ubuntu-touch (Ubuntu) |
affects: | initramfs-tools-ubuntu-touch (Ubuntu) → systemd (Ubuntu) |
Changed in ubuntu-power-systems: | |
importance: | Undecided → Medium |
assignee: | nobody → Canonical Foundations Team (canonical-foundations) |
affects: | ubuntu-power-systems → ubuntu-z-systems |
Changed in systemd (Ubuntu): | |
status: | New → Confirmed |
Changed in systemd (Ubuntu Artful): | |
status: | Confirmed → Fix Committed |
Changed in systemd (Ubuntu Zesty): | |
status: | New → In Progress |
description: | updated |
description: | updated |
Changed in systemd (Ubuntu Xenial): | |
status: | New → In Progress |
Changed in ubuntu-z-systems: | |
status: | New → In Progress |
Changed in ubuntu-z-systems: | |
status: | In Progress → Fix Committed |
Changed in ubuntu-z-systems: | |
status: | Fix Committed → Fix Released |
Hello bugproxy, or anyone else affected,
Accepted systemd into zesty-proposed. The package will build now and be available at https:/ /launchpad. net/ubuntu/ +source/ systemd/ 232-21ubuntu6 in a few hours, and then in the -proposed repository.
Please help us by testing this new package. See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification- needed- zesty to verification- done-zesty. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification- failed- zesty. In either case, details of your testing will help us make a better decision.
Further information regarding the verification process can be found at https:/ /wiki.ubuntu. com/QATeam/ PerformingSRUVe rification . Thank you in advance!