Another question I wasn't able to find an answer to in the documentation I've read so far.<div><br></div><div>The use of device units seems to very much rely on udevd running on the system, and not only that, udev rules having been parsed for the device and a systemd tag "set" in the udevdb. udev obviously starts after systemd, and systemd starts after the kernel.</div>
<div><br></div><div>This means there are a large number of devices already known to the kernel at the point that systemd starts, especially if you build the drivers into the kernel for those devices. It's possible to get going straight away with those devices. But relying on udevd tagging them means you end up waiting around for udevd to start, and worse! since udevd doesn't apply rules to existing devices on startup, you have to wait around for "udevadm trigger" to be run.</div>
<div><br></div><div>Given that devtmpfs means the device nodes are already available, and systemd will be merging the ACL handling from CK/udev into itself, why does systemd rely on udev coldplugging in this way? All that's left for udevd to do at this point is "device groups" (which should go really away on any modern distro) and symlinks.</div>
<div><br></div><div>There are probably many systems out there (hi!) that care so little about symlinks that they're happy for udevd to be started non-critically in the boot, and consider the "udevadm trigger" run a necessity that's probably the last thing to run.</div>
<div><br></div><div>What are the long term plans here? Do you envision this staying the way it is?</div><div><br></div><div>Scott</div>