Homepage: http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html
Ab Kernel 2.4 ist das devfs im Kernel eingebaut (wenn auch nicht bei allen Distributionen schon aktiviert). Dies ist ein virtuelles Filesystem für /dev, welches es erlaubt, die Devices zur Laufzeit dynamisch zu erzeugen und auch wieder zu entfernen. Zudem wurde eine neue Verzeichnisstruktur für die Devices eingerichtet, um mit dem grossen Verhau in /dev aufzuräumen.
Da die meisten Applikationen jedoch an den Verhau gewöhnt sind, gibt es den devfsd, eine kleiner Dämon, welcher dafür sorgt, dass (ebenfalls zur Laufzeit) Legacy-Links von den alten Devicenamen auf die neuen erzeugt werden.
Soll devfs standardmäßig verwendet werden, müssen im Kernel folgende Einstellungen gemacht werden:
- CONFIG_EXPERIMENTAL=y
- CONFIG_DEVFS_FS=y
- CONFIG_DEVFS_MOUNT=y
Manche vorkompilierten Kernel (z.B. debians kernel-image-2.4.25-1-586tsc) haben zwar das devfs eingeschaltet aber nicht gemountet. Hier muss man dem Kernel den Bootparameter "devfs=mount" mitgeben. Zuvor sollte aber auf jeden Fall devfsd installiert sein.
Umgedreht kann man mit "devfs=nomount" verhindern, dass das devfs benutzt wird.
Mit "mount -t devfs none /dev" kann man das devfs auch von Hand mounten.
Achtung: Wenn devfs im Kernel eingebaut ist aber nicht gemountet wird, listet "fdisk -l" nichts mehr auf. Das liegt daran, weil unter /proc/partitions nun schon die devfs Pfade angegeben sind, die aber fdisk so nicht finden kann (weil nicht gemountet).
Frage: Ist das beim Kernel 2.6 auch noch aktuell?
DevFS ist im Kernel 2.6 als "deprecated" markiert, d. h. es wird früher oder später aus dem Kerneltree entfernt. Der Nachfolger soll das im Userspace angesiedelte udev werden, welches schon jetzt recht gut nutzbar ist.