LFS devfs

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Links: merge)
 
(9 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
  
 
Mit andren Worten: nie wieder nach nicht exitierenden Geräten suchen oder mit MAKEDEV hadern.
 
Mit andren Worten: nie wieder nach nicht exitierenden Geräten suchen oder mit MAKEDEV hadern.
 +
 +
{{Box Hinweis|
 +
Das devfs System wird leider nicht mehr maintained und ist als deprecated markiert. Deswegen sollte devfs auf Neuinstallationen nicht mehr verwendet werden. Der Nachfolger ist [[LFS_udev|udev]].
 +
}}
  
 
==Installation==
 
==Installation==
Zeile 16: Zeile 20:
 
<pre>
 
<pre>
 
cd $SOURCEDIR
 
cd $SOURCEDIR
tar xvfz devfsd-vx.y.z.tar.gz
+
tar xvfz devfsd-v<VERSION>.tar.gz
cd devfsd-vx.y.z
+
cd devfsd-v<VERSION>
 
make
 
make
 
make install
 
make install
Zeile 24: Zeile 28:
 
Beispielsweise das automatische Laden von Treibern und /dev/cdrom werden in dieser Datei konfiguriert.
 
Beispielsweise das automatische Laden von Treibern und /dev/cdrom werden in dieser Datei konfiguriert.
  
===Den devfsd in dem Systemstart einbinden===
+
===Den devfsd in den Systemstart einbinden===
 
Der devfsd muss mit dem System gestartet werden, und zwar möglichst früh. Nur so kann auf gebräuchliche Gerätedateien wie /dev/hda beispielsweise zugegriffen werden.
 
Der devfsd muss mit dem System gestartet werden, und zwar möglichst früh. Nur so kann auf gebräuchliche Gerätedateien wie /dev/hda beispielsweise zugegriffen werden.
 
Hier ein Beispiel:
 
Hier ein Beispiel:
Zeile 40: Zeile 44:
 
case "$1" in
 
case "$1" in
 
     start)
 
     start)
echo  "Starte devfs Daemon "
+
echo  "Starte devfs Daemon "
/sbin/devfsd /dev
+
/sbin/devfsd /dev
evaluate_retval
+
evaluate_retval
;;
+
;;
 
     stop)
 
     stop)
echo  "Stoppe devfs Daemon "
+
echo  "Stoppe devfs Daemon "
#evaluate_retval
+
#evaluate_retval
;;
+
;;
 
     status)
 
     status)
echo "$0 Status: not implemented"
+
echo "$0 Status: not implemented"
;;
+
;;
 
     *)
 
     *)
echo "Usage: $0 {start|stop|status}"
+
echo "Usage: $0 {start|stop|status}"
exit 1
+
exit 1
;;
+
;;
 
esac
 
esac
  
Zeile 66: Zeile 70:
  
 
==Probleme==
 
==Probleme==
Einige Treiber unterstützen kein devfs (gibt es überhaupt noch welche?) und müssen dann in der /etc/devfsd.conf konfiguriert werden.
+
*Einige Treiber unterstützen kein devfs (gibt es überhaupt noch welche?) und müssen dann in der /etc/devfsd.conf konfiguriert werden. Ein eher theoretischer Fall.
Ein eher theoretischer Fall.
+
*nicht mehr maintained
  
 
==Links==
 
==Links==
[[http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html Devfs FAQ]]
+
# [http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html Die FAQ zum Devfs]
 +
# [http://www.atnf.csiro.au/people/rgooch/linux Richard Goochs Webpage]
  
[[http://www.atnf.csiro.au/people/rgooch/linux/ Richard Goochs Webpage]]
+
[[Kategorie:LFS]]

Aktuelle Version vom 4. April 2006, 20:03 Uhr

Inhaltsverzeichnis

[Bearbeiten] Einführung

Im Verzeichnis /dev befinden sich normalerweise Device Nodes, die den Zugriff auf Geräte (z.B. Festplatten, Maus, Soundkarte) erlauben. Es gibt zwei verschiedene Arten, character devices (unbuffered I/O) und block devices (mit Buffer). Diese nötigen Gerätedateien werden normalerweise mit MAKEDEV angelegt, ohne Gerätedatei ist kein Zugriff möglich. Aus diesem Grunde existieren normalerweise Unmengen von Gerätedateien für größtenteils nicht vorhandene Geräte. Das devfs Dateisystem legt diese Gerätedateien dynamisch an, der Einsatz von MAKEDEV ist unnötig, es existieren nur noch Gerätedateien für existierende Geräte mit Treiber. Weiterhin sorgt devfs für eine logisch nachvollziehbare hirarchische Struktur in /dev. So findet man mit devfs Ordner wie /dev/ide und /dev/scsi oder /dev/printers in /dev. Für Abwärtskompatibilität mit den alten Namen wie beispielsweise /dev/{s,h}h{a..d} sorgt ein Daemon, der devfsd.

Mit andren Worten: nie wieder nach nicht exitierenden Geräten suchen oder mit MAKEDEV hadern.

Hinweis
Hinweis

Das devfs System wird leider nicht mehr maintained und ist als deprecated markiert. Deswegen sollte devfs auf Neuinstallationen nicht mehr verwendet werden. Der Nachfolger ist udev.


[Bearbeiten] Installation

[Bearbeiten] Benötigt: Kernel mit Devfs Support

Benötigt wird ein Kernel mit "/dev file system support (CONFIG_DEVFS_FS=y)". Diese Option ist standardmäßig nicht aktiviert. Die Optionen "automatically mount at boot time" und "debug Devfs" sollten nicht aktiviert sein. Nach dem make menuconfig wird der Kernel wie üblich übersetzt und installiert.

[Bearbeiten] Der Daemon devfsd

Die folgenden Zeilen reißen kurz dessen Installation an.

cd $SOURCEDIR
tar xvfz devfsd-v<VERSION>.tar.gz
cd devfsd-v<VERSION>
make
make install

Nach der Installation des devfsd sollte /etc/devfsd.conf noch etwas an das System angepasst werden. Beispielsweise das automatische Laden von Treibern und /dev/cdrom werden in dieser Datei konfiguriert.

[Bearbeiten] Den devfsd in den Systemstart einbinden

Der devfsd muss mit dem System gestartet werden, und zwar möglichst früh. Nur so kann auf gebräuchliche Gerätedateien wie /dev/hda beispielsweise zugegriffen werden. Hier ein Beispiel:

/etc/rc.d/init.d/devfsd

#!/bin/sh
# begin of /etc/rc.d/init.d/devfsd
#
# startet den Daemon für das virtuelle /dev Dateisystem
source /etc/sysconfig/rc
source $rc_functions

case "$1" in
    start)
 echo  "Starte devfs Daemon "
 /sbin/devfsd /dev
 evaluate_retval
 ;;
    stop)
 echo  "Stoppe devfs Daemon "
 #evaluate_retval
 ;;
    status)
 echo "$0 Status: not implemented"
 ;;
    *)
 echo "Usage: $0 {start|stop|status}"
 exit 1
 ;;
esac

test "$return" = "$rc_done" || exit 1
exit 0

Anschließend noch ein Link:

ln -sf  /etc/rc.d/init.d/devfsd /etc/rc.d/rcsysinit.d/S00devfsd

[Bearbeiten] Probleme

  • Einige Treiber unterstützen kein devfs (gibt es überhaupt noch welche?) und müssen dann in der /etc/devfsd.conf konfiguriert werden. Ein eher theoretischer Fall.
  • nicht mehr maintained

[Bearbeiten] Links

  1. Die FAQ zum Devfs
  2. Richard Goochs Webpage