Gerätedateien erstellen?
Gerätedateien erstellen?
Wie bekomme ich heraus welche Major und Minornummern ich für welches gerät verwenden kann?
Gibt es da so was wie die /etc/services eben nur für device-dateien?
Gibt es da so was wie die /etc/services eben nur für device-dateien?
Vielen Dank für den Tip.
Allerdings habe ich da noch eine Frage:
1 char Memory devices
1 = /dev/memPhysical memory access
2 = /dev/kmemKernel virtual memory access
3 = /dev/nullNull device
10 char Non-serial mice, misc features
0 = /dev/logibmLogitech bus mouse
1 = /dev/psauxPS/2-style mouse port
Das ist nur mal ein ganz kurzer auszug aus der datei devices.txt
wie gebe ich den Typ ein?
mknod mymem c 2 0
Woher weiß ich das er 1char für memorydevices nimmt und nicht 10 char für Non-serial geräte?
Oder muss ich als type dann so was wie 10c für
Non-serial mice geräte angeben?
Allerdings habe ich da noch eine Frage:
1 char Memory devices
1 = /dev/memPhysical memory access
2 = /dev/kmemKernel virtual memory access
3 = /dev/nullNull device
10 char Non-serial mice, misc features
0 = /dev/logibmLogitech bus mouse
1 = /dev/psauxPS/2-style mouse port
Das ist nur mal ein ganz kurzer auszug aus der datei devices.txt
wie gebe ich den Typ ein?
mknod mymem c 2 0
Woher weiß ich das er 1char für memorydevices nimmt und nicht 10 char für Non-serial geräte?
Oder muss ich als type dann so was wie 10c für
Non-serial mice geräte angeben?
MAKEDEV /dev/sr0
Dann sagt er mir das er nicht weiß was er erstellen soll.
Da es sich um ein DVD laufwerk handelt und eigentlich am /dev/hdc dran hängt sich dort aber nicht ansprechen läßt, es reagiert nur auf sr0. leider habe ich einen schußelfehler gemacht als ich /dev/dvd auf sr0 verlinken wollte habe ich die quelle mit dem ziel vertauscht. Damit ist die Geräte datei weg. Und neu installieren wollte ich nicht. Und eigentlich interressiert es mich generell. Es muss ja möglich sein alles irgendwie selbst zu bauen Oder?
Und was macht man wenn man MAKEDEV mal gerade nicht installiert hat?
Dann sagt er mir das er nicht weiß was er erstellen soll.
Da es sich um ein DVD laufwerk handelt und eigentlich am /dev/hdc dran hängt sich dort aber nicht ansprechen läßt, es reagiert nur auf sr0. leider habe ich einen schußelfehler gemacht als ich /dev/dvd auf sr0 verlinken wollte habe ich die quelle mit dem ziel vertauscht. Damit ist die Geräte datei weg. Und neu installieren wollte ich nicht. Und eigentlich interressiert es mich generell. Es muss ja möglich sein alles irgendwie selbst zu bauen Oder?
Und was macht man wenn man MAKEDEV mal gerade nicht installiert hat?
- suntsu
- Beiträge: 2947
- Registriert: 03.05.2002 10:45:12
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: schweiz
-
Kontaktdaten:
Wiso lässt es sich nicht ansprechen? Ich will nicht behaupten das es geht, ich hab mein dvd über scsi-emulation am Laufen, weil ich einen Brenner eingerichtet habe und dann das dvd auch gleich über scsi angesprochen. Aber es sollte doch nichts dagegen sprechen das dvd direkt über /dev/hdx anzusprechen oder?Da es sich um ein DVD laufwerk handelt und eigentlich am /dev/hdc dran hängt sich dort aber nicht ansprechen läßt,
Und sonst um ein dev-file anzulegen
Code: Alles auswählen
mknod /dev/sr0 x XX XX
Code: Alles auswählen
mknod /dev/video0 c 81 0
manuel
Das Problem ist das /dev/sr0 kein link nach /dev/scd0 war. Aber eigentlich war das nicht meine direkte frage. Meine Frage war wie man den Typ einer geräte datei angibt. Da in der Device.txt ja mehrere devices mit char angegeben sind z.Bsp.: 2 char und dann die Major nummern und die minor nummern .
Das ganze wiederholt sich nur das sich der der typ in der aufzählung erhöht. Wie unterscheide ich die geräte, oder erkennt mknod das von alleine?
Bsp.:
6 charParallel printer devices
0 = /dev/lp0Parallel printer on parport0
1 = /dev/lp1Parallel printer on parport1
7 charVirtual console capture devices
0 = /dev/vcsCurrent vc text contents
1 = /dev/vcs1tty1 text contents
Bzw. erkennt das mknod an dem Namen der gerätedatei?
Danke erstmal an alle, für eure Tips.
Das ganze wiederholt sich nur das sich der der typ in der aufzählung erhöht. Wie unterscheide ich die geräte, oder erkennt mknod das von alleine?
Bsp.:
6 charParallel printer devices
0 = /dev/lp0Parallel printer on parport0
1 = /dev/lp1Parallel printer on parport1
7 charVirtual console capture devices
0 = /dev/vcsCurrent vc text contents
1 = /dev/vcs1tty1 text contents
Bzw. erkennt das mknod an dem Namen der gerätedatei?
Danke erstmal an alle, für eure Tips.
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Hast Du schonmal "man mknod" ausprobiert?
Patrick
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Der Kernel erkennt welches Gerät sich hinter einer Datei versteckt an den Major und Minor Nummern.
Im Prinzip könnte man auch "mknod /dev/ide-festplatte b 3 0" machen und der Kernel würde das dann wie /deb/hda behandeln. Nur würde dann natürlich kein Programm Deine Festplatte finden, weil die alle davon ausgehen, dass die /dev/hda heisst...
Patrick
Im Prinzip könnte man auch "mknod /dev/ide-festplatte b 3 0" machen und der Kernel würde das dann wie /deb/hda behandeln. Nur würde dann natürlich kein Programm Deine Festplatte finden, weil die alle davon ausgehen, dass die /dev/hda heisst...
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
Daraus schließe ich jetzt einmal das dem Kernel das eigentlich egal ist was für ein gerät dort ist. Das einzige was den kernel also interressiert ist das er wissen muss ob es sich um ein zeichenorientiertes gerät (sprich: char) oder Blockorientiertes gerät (sprich: b) oder aber um eine FiFO (sprich: p) handelt. Und das es letztlich an den Programmen liegt ob sie mit einem entsprechenden gerät zusammen arbeiten können, solange es unter dem richtigen dateinamen zu finden ist (bsp. /dev/input/mice == USB-Maus).
Sehe ich das jetzt richtig oder habe ich da etwas falsch verstanden.
Sehe ich das jetzt richtig oder habe ich da etwas falsch verstanden.
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Ich glaube ich versteh Dein Problem nicht...
Was meinst Du mit "was für ein Gerät..."? Die Gerätedateien sind nur die Zugriffspunkte. Der kernel läd einen Treiber (Modul) für das Gerät, und verbindet diesen treiber dann anhand der Major/Minor Nummern mit der Datei in /dev. Danach ist das Gerät über das entsprechende Device erreichbar. Ob da jetzt ein Pioneer DVD-ROM oder ein TEAC CD-ROM z.B. dran hängt ist egal...
Was genau an z.B. /dev/usb/mouse hängt ist egal, solange es ein USB Maus ist.
Der Treiber findet halt eine USB-Maus, woraufhin der Kernel die Verbindung zwischen der gefundenen Maus und der /dev/usb/mouse Datei herstellt. Danach funktioniert die Maus an dem Port...
Falls es immer noch nicht klar ist, dann erklär mir doch mal, welche Information Deiner Meinung nach dem Kernel fehlt (was sollte er noch wissen)? Mach 'mal ein Beispiel...
Patrick
Was meinst Du mit "was für ein Gerät..."? Die Gerätedateien sind nur die Zugriffspunkte. Der kernel läd einen Treiber (Modul) für das Gerät, und verbindet diesen treiber dann anhand der Major/Minor Nummern mit der Datei in /dev. Danach ist das Gerät über das entsprechende Device erreichbar. Ob da jetzt ein Pioneer DVD-ROM oder ein TEAC CD-ROM z.B. dran hängt ist egal...
Was genau an z.B. /dev/usb/mouse hängt ist egal, solange es ein USB Maus ist.
Der Treiber findet halt eine USB-Maus, woraufhin der Kernel die Verbindung zwischen der gefundenen Maus und der /dev/usb/mouse Datei herstellt. Danach funktioniert die Maus an dem Port...
Falls es immer noch nicht klar ist, dann erklär mir doch mal, welche Information Deiner Meinung nach dem Kernel fehlt (was sollte er noch wissen)? Mach 'mal ein Beispiel...
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
Ich denke das ich das nun schon verstanden habe!
Mein Problem ist eigentlich nur, das ich alles sehr sehr genau wissen will. Und wenn du dir diese datei anschaust:
file://localhost//usr/src/linux-2.4.18/Documentation/devices.txt
wirst du sehen das es mehr als ein Block-character-fifo-Device gibt. Und das sich die Major- und Minor- wiederholen, das heißt es treten immer wieder die selben auf, und der Typ ist eben z.Bsp.: 145 char gekennzeichnet und nicht eben nur mit c für char, allerdings sind die Gerätedateinnamen eben unterschiedlich.
Ich möchte mich bei Euch und Eurer geduld bedanken, für die Hilfestellungen.
Mein Problem ist eigentlich nur, das ich alles sehr sehr genau wissen will. Und wenn du dir diese datei anschaust:
file://localhost//usr/src/linux-2.4.18/Documentation/devices.txt
wirst du sehen das es mehr als ein Block-character-fifo-Device gibt. Und das sich die Major- und Minor- wiederholen, das heißt es treten immer wieder die selben auf, und der Typ ist eben z.Bsp.: 145 char gekennzeichnet und nicht eben nur mit c für char, allerdings sind die Gerätedateinnamen eben unterschiedlich.
Ich möchte mich bei Euch und Eurer geduld bedanken, für die Hilfestellungen.
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Mit Sicherheit nicht. Major und Minor sind eindeutig, allerdings nur ZUSAMMEN. Soll heissen, jede Kombination aus Major/Minor/cbp gibt es nur einmal und kann genau einem Gerät zugeordnet werden.tantalus hat geschrieben:wirst du sehen das es mehr als ein Block-character-fifo-Device gibt. Und das sich die Major- und Minor- wiederholen, das heißt es treten immer wieder die selben auf, und der Typ ist eben z.Bsp.: 145 char gekennzeichnet und nicht eben nur mit c für char, allerdings sind die Gerätedateinnamen eben unterschiedlich.
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de