Frage zu Modulen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
Pix
Beiträge: 275
Registriert: 31.01.2003 14:22:21

Frage zu Modulen

Beitrag von Pix » 15.06.2006 10:31:39

Hallo,

Module sind Treiber, die der Kernel zur Laufzeit hinzufügen kann, wenn er diese
Fähigkeit braucht.

Mein Linux liegt auf einer SCSI Platte, darum ist der SCSI Treiber für die Festplatte fest in den
Kernel reinkompiliert.

Auf meiner IDE Festplatte liegt Windows. Verständlicherweise möchte ich auch auf meine Windowspartitionen
Zugriff haben.

Laut der Definition von Modulen müsste es doch ausreichen, wenn ich meine gesamte IDE Konfiguration im
Kernel als 'Modul' angebe.

Wenn ich das tue, muss ich zuerst die Partition mounten und habe erst danach Zugriff auf die gewünschte
Partition.

Das macht aber laut Moduldefinition aus meiner Sicht keinen Sinn. Denn wenn ich per 'cd /dosc' (windowspartition)
wechseln möchte, muss der Kernel doch das entsprechende IDE Modul sofort bereitstellen, ohne das ich vorher mounten muss.

Frage:
Da der Kernel eben genau das nicht tut, wo liegt mein Gedankenfehler?

Danke Dirk

Benutzeravatar
ScyTheMan
Beiträge: 363
Registriert: 23.10.2004 15:09:14
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von ScyTheMan » 15.06.2006 10:45:11

Wenn ich das tue, muss ich zuerst die Partition mounten und habe erst danach Zugriff auf die gewünschte Partition.
Anscheinend verstehst du da irgendwas falsch. Du musst die Partition _immer_ zu erst mounten, bevor du darauf zugreifen kannst. Das hat mit deinen Modulen rein gar nichts zu tun.
http://www.linuxfibel.de/storage.htm
http://de.wikipedia.org/wiki/Mounten

Um zu deinen Modulen zurück zu kommen. Die musst du dann natürlich erst laden, bevor du die entsprechende Festplatte/Partition mountest.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 15.06.2006 11:22:44

IDE-Module brauchst du, um mit der Festplatte überhaupt erst kommunizieren zu können ("gib mir bitte Datenblöcke 67817-67925").
Um Partitionen mounten zu können, musst du das Dateisystem lesen können (ah, Datei "foobar" liegt auf den Blöcken 81852,907837 und 1231600)

Für beides brauchst du Unterstützung, entweder fest einkompiliert oder als Modul. Für Windowspartitionen also ntfs oder vfat

Benutzeravatar
Pix
Beiträge: 275
Registriert: 31.01.2003 14:22:21

Beitrag von Pix » 16.06.2006 10:05:35

Ich wähle ein anderes Bsp.
Musik hört ihr bestimmt mittels ALSA. ALSA ist komplett als Modul im Kernel angegeben, nichts ist fest rein kompiliert. Legt ihr eine Music Cd ein, öffnet xmms und schon könnt ihr Musik hören. Warum? weil xmms vom Kernel alle benötigten Treiber (Module) anfordert.
Richtig?

Nun zurück zur IDE Platte, hier hatte ich einen Gedankenfehler.
Ich dachte, mit dem Befehl ‚cd /dosc’ werden automatisch die benötigten Module (also die IDE Module) geladen. Das ist falsch.

Der Befehl cd /dosc macht wohl gar nichts. Erst der Befehl ‚mount’ fordert vom Kernel die erforderlichen IDE-Module an.

So wird eher ein Schuh daraus.
Richtig?

Danke für eure Gedankenstütze
Dirk

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 16.06.2006 10:11:47

Pix hat geschrieben:Der Befehl cd /dosc macht wohl gar nichts. Erst der Befehl ‚mount’ fordert vom Kernel die erforderlichen IDE-Module an.
cd /dosc wechselt in das (wahrscheinlich leere) Verzeichnis dosc.
Erst mount hängt ein anderes Dateisystem an dessen Stelle, das dann das alte Verzeichnis überdeckt. (So kannst du z.B. in /mnt ein paar Dateien anlegen, dann ein "mount /wasweissich /mnt" machen und die Dateien, die im "richtigen" /mnt sind, kannst du erstmal nicht mehr sehen, bis du wieder unmountest)

Von daher: im Prinzip richtig, was du gesagt hast.

Benutzeravatar
ScyTheMan
Beiträge: 363
Registriert: 23.10.2004 15:09:14
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von ScyTheMan » 16.06.2006 10:15:23

Pix hat geschrieben:Ich wähle ein anderes Bsp.
Musik hört ihr bestimmt mittels ALSA. ALSA ist komplett als Modul im Kernel angegeben, nichts ist fest rein kompiliert. Legt ihr eine Music Cd ein, öffnet xmms und schon könnt ihr Musik hören. Warum? weil xmms vom Kernel alle benötigten Treiber (Module) anfordert.
Richtig?
Nein. Nur root kann Module laden, daher wird XMMS das definitiv nicht tun. Höchst wahrscheinlich sind die entsprechenden Module allerdings schon vorher geladen (wohl per /etc/modules). Ich persönlich wäre auch nicht sonderlich erfreut darüber wenn ein Programm einfach von selbst irgendwelche Module läd.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 16.06.2006 10:59:56

Wenn der Kernel auf ein Device zugreifen soll, für dass es im Moment keinen Handler gibt (sprich, kein geladenes Modul), ruft der Kernel modprobe auf, und dieses schaut dann nach, wer dafür zuständig ist, und lässt den Kernel das entsprechende Modul automatisch nachladen.

Benutzeravatar
ScyTheMan
Beiträge: 363
Registriert: 23.10.2004 15:09:14
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von ScyTheMan » 16.06.2006 12:38:30

Uhm, sicher? Das wäre mir irgendwie neu. Ich weiss lediglich von diversen Programmen (hotplug, discover, udev), welche automatisch die benötigten Module laden.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 16.06.2006 13:42:05

Ziemlich sicher. Hab das noch vor udev&hotplug-Zeiten genutzt, um cdrom- und bttv-Module bei Bedarf laden zu lassen.

Benutzeravatar
ScyTheMan
Beiträge: 363
Registriert: 23.10.2004 15:09:14
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von ScyTheMan » 16.06.2006 23:56:25

Eben deswegen hab ich das bttv-Modul mittlerweile fest eingebunden, damit ich es nicht ständig laden muss wenn ich tvtime starte.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 17.06.2006 10:40:55

in /etc/modprobe.d (oder modutils, je nach Version)
eine neue Datei "bttv" (wie sie heißt ist egal) anlegen:

Code: Alles auswählen

alias char-major-81 bttv
options bttv card=... # Falls benötigt
Evtl. musst du in der "alias" Datei noch char-major-81 videodev auskommentieren.

Dann sollte es gehen

Antworten