I would like to know if my definitions of devfs, devtmpfs and udev in Linux are clear and accurate.
devfs is the kernel implementation of /dev [Deprecated]. Does this get populated by the kernel like the case fordevtempfs? According to @Gilles answer yes it does. Then both devfs and devtempfs hardcode names of devices.
devtempfs is a temporary file system that that gets populated with device files by the kernel and is mounted on /dev.
udev is a daemon that listens to the kernel's uevents and matches the attributes of those uevents against certain predefined rules to perform device initialization, make useful symlinks, etc...
The current Linux implementation of /dev is devtempfs + udev.
What is right and what is wrong in my definitions?
devfsis the same asdevtmpfsin that device files are dynamically populated by the kernel. – direprobs Jul 17 '17 at 11:39udev. – JdeBP Jul 17 '17 at 15:32devfshas been obsoleted in Linux kernel 4.16, so technically we are now left withdevtmpfs+udev(if needed). – Ivan Davidov Apr 08 '18 at 19:33