I have noticed the following option in the kernel: CONFIG_DEVTMPFS
Device Drivers -> Generic Driver Options -> Maintain devtmpfs to mount at /dev
And I see that it is enabled by default in the Debian distribution kernel 3.2.0-4-amd64
I am trying to understand what difference this option brings. Without this option, /dev
is mounted as tmpfs
, with this option, it is mounted as devtmpfs
. Other than that, I don't see any difference.
The help
did not clarify it for me either:
This creates a tmpfs/ramfs filesystem instance early at bootup. In this filesystem, the kernel driver core maintains device nodes with their default names and permissions for all registered devices with an assigned major/minor number.
It provides a fully functional /dev directory, where usually udev runs on top, managing permissions and adding meaningful symlinks.
In very limited environments, it may provide a sufficient functional /dev without any further help. It also allows simple rescue systems, and reliably handles dynamic major/minor numbers.
Could somebody please explain the difference between using CONFIG_DEVTMPFS
vs the standard /dev
?
Best Answer
devtmpfs
is a file system with automated device nodes populated by the kernel. This means you don't have to have udev running nor to create a static/dev
layout with additional, unneeded and not present device nodes. Instead the kernel populates the appropriate information based on the known devices.On the other hand the standard
/dev
handling requires eitherudev
, an additional daemon running or to statically create device nodes on/dev
.