Modul entladen

Antworten
Nachricht
Autor
qwas
Beiträge: 19
Registriert: 02. Nov 2006 11:42

Modul entladen

#1 Beitrag von qwas » 23. Nov 2006 14:43

Hallo,
brauche Eure Hilfe.
Möchte das Modul agpgart entladen und aus dem Filesystem löschen. lsmod sagt mir, das es geladen ist. Wie finde ich die zugehörige Library?

Wo steht unter Suse Linux 10.1 eigentlich die Datei modules.conf, unter /etc ist sie nicht.

Gruß

petameta
prolinux-forum-admin
Beiträge: 1294
Registriert: 14. Feb 2003 13:19

#2 Beitrag von petameta » 23. Nov 2006 16:19

Das Modul müßte unter /lib/modules/<kernel-version>/kernel/drivers/char/agp/agpgart.ko zu finden sein.

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#3 Beitrag von Janka » 23. Nov 2006 22:30

Erstmal ist ein Kernelmodul keine Library -- wichtig, denn mit den falschen Begriffen zu hantieren sorgt für Verwirrung. Und zweitens gibt es seit Kernel 2.6 kein modules.conf mehr. Das heißt jetzt modprobe.conf und hat eine leicht abweichende Syntax.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

qwas
Beiträge: 19
Registriert: 02. Nov 2006 11:42

#4 Beitrag von qwas » 24. Nov 2006 9:14

also ich mache folgendes:

> modprobe -l agpgart

und bekomme:

/lib/modules/2.6.16.13-4-default/kernel/drivers/char/agp/agpgart.ko

in diesem Verzeichnis ist aber agpgart.ko nicht.

wie kann man eigentlich ermitteln, welche Library zu welchem Modul gehört, steht das nicht in einer Konfigurationsdatei?

Gruß

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#5 Beitrag von Janka » 24. Nov 2006 19:02

modprobe -l ... liest lediglich die Datei modules.dep im jeweiligen Modulverzeichnis aus. Um dort den aktuellen Stand einzuschreiben, muss zuvor einmal "depmod" aufgerufen werden.

Weiterhin kann es sein, dass die agpgart-Funktionalität fest in den Kernel einkompiliert wurde. Das kann man wie folgt prüfen:

Code: Alles auswählen

jan@janskiste&#58;~> gunzip -c /proc/config.gz |grep AGP
CONFIG_AGP=m
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=m
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
CONFIG_AGP_VIA=m
# CONFIG_AGP_EFFICEON is not set
Bei mir ist das also ein Modul (für zwei verschiedene Boards, weil ich zwischendurch mal gewechselt habe). Wenn bei dir "y" statt "m" steht, ist es fest einkompiliert. Um das zu ändern musst du einen neuen Kernel backen.
wie kann man eigentlich ermitteln, welche Library zu welchem Modul gehört, steht das nicht in einer Konfigurationsdatei?
Nochmal: Libraries und Module sind zwei verschiedene Paar Schuhe. Daher ergibt deine Frage keinen Sinn. Formuliere mal in einfacheren Worten, was du meinst.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

PDA

#6 Beitrag von PDA » 25. Nov 2006 19:11

Man sollte noch was hier zu sagen
jan@janskiste:~> gunzip -c /proc/config.gz |grep AGP
Das geht natürlich nur wenn die entsprechende Option im Kernel aktiviert ist.

Code: Alles auswählen

Kernel .config support
in General Setup.

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#7 Beitrag von Janka » 25. Nov 2006 21:35

Ja. Ist bei SuSE10.1 normalerweise der Fall.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

qwas
Beiträge: 19
Registriert: 02. Nov 2006 11:42

#8 Beitrag von qwas » 28. Nov 2006 9:14

Hallo
Janka hat geschrieben:Libraries und Module sind zwei verschiedene Paar Schuhe.
Ich stelle mir Module als logische Einheiten vor, die einen Namen haben und eine oder vielleicht mehrere Bibliotheken, die über modprobe <modulname> geladen werden können. Liege ich da völlig falsch?

Gruß

petameta
prolinux-forum-admin
Beiträge: 1294
Registriert: 14. Feb 2003 13:19

#9 Beitrag von petameta » 28. Nov 2006 10:29

Ja. Ein Modul ist zuerst mal eine Datei. In neueren Kernelversionen endet diese mit .ko und liegt üblicherweise unter /lib/modules. Durch insmod oder modprobe wird dieses Modul geladen, modprobe lädt evtl. auch andere Module, die zum Betrieb des gewünschten Moduls notwendig sind.

Eine Bibliothek (Library) wird von Programmen geladen, nicht vom Kernel. Libraries liegen üblicherweise unter /lib bzw. /usr/lib (aber nicht nur dort !).

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#10 Beitrag von Janka » 28. Nov 2006 11:30

Kernelmodule sind Objektcodeschnipsel zum Nachladen in den Kernel.

Bibliotheken sind Objektcodeschnipsel zum Nachladen in Anwendungsprogramme (dynamische Libraries, bzw. Plugins). Außerdem gibt es auch noch statische Bibliotheken, die beim Compilieren einens Anwendungsprogramms eingebunden werden.

Eine Verknüpfung zwischen diesen beiden Dingen, die ja prinzipiell den selben Grundgedanken haben, nur eben für zwei verschiedene Welten, eben Kernelspace und Userspace, gibt es nicht.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Antworten