mknod
Mit diesem Programm kann man spezielle Block- und Zeichengeräte erzeugen. Normalerweise befinden sich diese unter "/dev". Solche Dateien dienen dazu, mit einem Gerätetreiber zu kommunizieren.
Syntax
mknod [OPTION] NAME TYP [MAJOR MINOR]
Als OPTION ist neben --help und --version noch -m bzw. --mode zulässig. NAME gibt den Namen der Datei an.
Für TYP sind folgende Parameter zulässig:
b - Legt eine blockorientierte (gepufferte) Spezialdatei an. c, u - Legt eine zeichenorientierte (ungepufferte) Spezialdatei an. p - Legt eine FIFO an.
Beispiele
Zeichenorientiert
Das für ein Linux-System unbedingt wichtige Gerät "/dev/console" legt man so an:
mknod -m 622 /dev/console c 5 1
Blockorientiert
Um mit dem 1. IDE-Gerät am 1. Kanal kommunizieren zu können, benötigt man das Gerät hda. Um auf die Partitionen zugreifen zu können, hda1, hda2 etc. Das 2. IDE-Gerät am 1. Kanal wäre hdb, das 1. Gerät am 2. Kanal hdc, usw.
mknod -m 660 /dev/hda b 3 0 mknod -m 660 /dev/hda1 b 3 1 mknod -m 660 /dev/hda2 b 3 2 mknod -m 660 /dev/hda3 b 3 3 mknod -m 660 /dev/hda4 b 3 4 mknod -m 660 /dev/hda5 b 3 5 mknod -m 660 /dev/hda6 b 3 6 mknod -m 660 /dev/hda7 b 3 7 mknod -m 660 /dev/hda8 b 3 8 mknod -m 660 /dev/hdb b 3 64 mknod -m 660 /dev/hdb1 b 3 65 mknod -m 660 /dev/hdb2 b 3 66 mknod -m 660 /dev/hdb3 b 3 67 mknod -m 660 /dev/hdb4 b 3 68 mknod -m 660 /dev/hdb5 b 3 69 mknod -m 660 /dev/hdb6 b 3 70 mknod -m 660 /dev/hdb7 b 3 71 mknod -m 660 /dev/hdb8 b 3 72 mknod -m 660 /dev/hdc b 22 0 mknod -m 660 /dev/hdd b 22 64
Herausfinden der Parameter
Angenommen man möchte wissen, welche Parameter man zum Erstellen eines Gerätes angeben muss, gibt man einfach folende Anweisung ein:
cd /dev ls name -l
Man erhält dann bspw. folgende Ausgabe:
/ # cd /dev /dev # ls hda1 -l brw-r------ 1 root root 3, 0 May 17 21:09 hda
Das "b" am Anfang der Zeile verrät, dass es sich um ein blockorientiertes Gerät handelt, die Zahlen "3" und "0" die Parameter MAJOR und MINOR für mknod.
Eine Referenz dieser MAJOR-/MINOR-Nummern findet man unter http://www.lanana.org/docs/device-list/devices-2.6+.txt.