Modul entladen

Post Reply
Message
Author
qwas
Posts: 19
Joined: 02. Nov 2006 11:42

Modul entladen

#1 Post by qwas »

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
Posts: 1294
Joined: 14. Feb 2003 13:19

#2 Post by petameta »

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

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#3 Post by Janka »

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
Posts: 19
Joined: 02. Nov 2006 11:42

#4 Post by qwas »

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ß

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#5 Post by Janka »

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: Select all

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 Post by PDA »

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: Select all

Kernel .config support
in General Setup.

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#7 Post by Janka »

Ja. Ist bei SuSE10.1 normalerweise der Fall.

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

qwas
Posts: 19
Joined: 02. Nov 2006 11:42

#8 Post by qwas »

Hallo
Janka wrote: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
Posts: 1294
Joined: 14. Feb 2003 13:19

#9 Post by petameta »

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 !).

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#10 Post by Janka »

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.

Post Reply