LFS devfs
(M [weil es überall so ist...........]) |
(→Links: merge) |
||
(8 dazwischenliegende Versionen von 4 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- | + | tar xvfz devfsd-v<VERSION>.tar.gz |
− | cd devfsd- | + | 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 | + | ===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 " | |
− | + | /sbin/devfsd /dev | |
− | + | evaluate_retval | |
− | + | ;; | |
stop) | stop) | ||
− | + | echo "Stoppe devfs Daemon " | |
− | + | #evaluate_retval | |
− | + | ;; | |
status) | status) | ||
− | + | echo "$0 Status: not implemented" | |
− | + | ;; | |
*) | *) | ||
− | + | echo "Usage: $0 {start|stop|status}" | |
− | + | 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 Die FAQ zum Devfs] | |
− | + | # [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.
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