Kernelmodul bei Bedarf laden

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Ich haette gerne, dass ein bestimmtes Kernel-Modul bei Zugriff auf ein Device geladen wird. Genau genommen handelt es sich um den Node /dev/kqemu und das Modul kqemu. Da Device und Modul den gleichen Namen haben, habe ich kein Alias definiert, sondern lediglich Optionen in /etc/modprobe.d/kqemu festgelegt (options kqemu major=0), ausserdem eine Datei /etc/udev/90-kqemu.rules mit dem Inhalt KERNEL=="kqemu", NAME="%k", MODE="0666" angelegt.

Im Moment muss ich das Modul per Hand mit modprobe kqemu laden, dann wird mir auch schoen /dev/kqemu erzeugt und alles laeuft. Ich weiss aber nicht, was ich tun muss, damit das Modul automatisch geladen wird, wenn es benoetigt wird.

So wie ich das verstehe, ist die install-Anweisung in modprobe.conf dazu da, etwas zu tun, wenn das Modul geladen wird (soweit kommt es bei mir ja gar nicht), und ansonsten habe ich keine Idee mehr. :( Das Problem bleibt das gleiche, wenn ich /dev/kqemu vorher per Hand erzeuge -- qemu beschwert sich einfach, dass er den Device nicht oeffnen kann. Oder ist das ein Problem von qemu? Woher weiss denn der Kernel ueberhaupt, wann ein Modul gebraucht wird? Geht mein Vorhaben vielleicht gar nicht? :?: Fragen ueber Fragen...

PS: modprobe.conf enhaelt den Eintrag include /etc/modprobe.d. Ich benutze Suse 10.0
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Meinst du vielleicht das (aus der udev-FAQ):
Q: But udev will not automatically load a driver if a /dev node is opened
when it is not present like devfs will do.
A: Right, but Linux is supposed to load a module when a device is discovered
not to load a module when it's accessed.

Q: Oh come on, pretty please. It can't be that hard to do.
A: Such a functionality isn't needed on a properly configured system. All
devices present on the system should generate hotplug events, loading
the appropriate driver, and udev will notice and create the
appropriate device node. If you don't want to keep all drivers for your
hardware in memory, then use something else to manage your modules
(scripts, modules.conf, etc.) This is not a task for udev.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

:lol:
birkenfeld hat geschrieben:
If you don't want to keep all drivers for your hardware in memory, then use something else to manage your modules (scripts, modules.conf, etc.) This is not a task for udev.
Hab ich ja vesucht... (modules.conf heisst jetzt modprobe.conf) Ist eigentlich auch nicht so wichtig, mich wuerde aber trotzdem interessieren, wie das mit dem Nachladen von Modulen so funktioniert.
Antworten