hallo,
habe ein paar verständnisfragen zu linux und modulen..
es gibt sogenannte laufzeitmodule..was heisst das?
werden die erst nach bedarf(programmaufruf..) geladen.
ist das auch der grund, warum es bei programmstarts ein bisschen länger dauert?
ist das dann ein monolithischer kernel? treiber fix eingebunden und mittels modulen ansprechbar?
braucht der dann die initrd beim start?
linux hat ja datenbanken mit den modulen im system...
wenn ich die immer aktuell halte (updatelsusb...ääähh, tut der übers internet updaten oder was??) hat er dann immer die neuesten treiber im system?
mit modprobe modulname knn ich so ein modul dann dauerhaft laden (sodass es auch bei neuem systemstart noch geladen ist)
nachher depmod......funktioniert meines wissens nur in verbindung mit modprobe..nicht mit insmod
brauch ich da eigentlich nix manuell in der modules.conf auskommentieren?
wie sucht ihr den passenden treiber? i machs a bissl russisch..zumindest hab is durch herumprobieren so hinbekommen...
lsusb
lspci
hwinfo
lshw
das sind meine suchwerkzeuge...die leite ich in eine textdatei um und such ma das gerät (respektive den treiber) raus....wenn nicht vorhanden..dann mit knoppix..hat bisher immer funktioniert.
dort raussuchen(wahrscheinlich hat der eine grössere datenbank) und einspielen mit modprobe....aber wie kann das funktionieren, wenn die normale datenbank das modul nicht aufweist..ich meine (vorausgesetzt, die selbe version vom kernel) genügts da einfach nur ein paar buchstaben in die modules.conf zu schreiben??
wenn ja, störts mich auch nicht..
puh genug einmal....aber ich komm der sache schon näher
gruss günter
Linux 15.009 Themen, 106.826 Beiträge
Nein, lspci gibt erstmal nur die Namen der Chipsätze aus. Man könnte auch in das Handbuch des Motherboards schauen um die gleiche Information zu bekommen . Oft heißen die Treiber so wie die Chipsätze, aber leider nicht immmer.
Beispielsweise wird für den WLAN Atheros Chipsatz der Madwifi Treiber genutzt.
Ich versteh schon das das ein riesiges Problem ist. Die Kernelentwickler müßten mal genau dokumentieren welche Chipsätze von der jeweiligen Kernelversion unterstützt werden.
lsmod zeigt erstmal alle Kernelmodule an, die momentan im Speicher geladen sind (auch diejenigen die nicht aktiv sind) und mit dem Betriebsystemkern verlinkt sind.
Ein Kernelmodul kann ein Treiber sein, muß aber nicht unbedingt ein Treiber sein. Ein Kernelmodul ist allgemein eine Erweiterung des Betriebsystemkernes.
Die Kernelmodule werden in der Regel automatisch geladen durch die Hardwareerkennung. Da gibt es bei Linux verschiedene Systeme wie KMOD im Linuxkernel und udev für ansteckbare Geräte wie USB Sticks oder-Festplatten.
Ich habe bei meinem Debian auch den Eindruck das bei Verwendung des Standardkernels zu viele Treibermodule geladen werden für die im Rechner gar keine Hardware vorhanden ist.
Ich übersetze deshalb auch immer einen eigenen Betriebsystemkern und nehme nur die Treiber in den Kernel die auch wirklich gebraucht werden. Wahrscheinlich ist die Hardwareerkennung zu einfach programmiert, keine Ahnung.
Was meinst du mit modules.conf ?
Ist das eine spezielle Konfigurationsdatei bei deiner Distribution?
Bei meinem Debian etch gibt es im /etc Verzeichnis die modules Konfigurationsdatei. Die ist für das automatische Laden eines Kernelmodules bei jedem Rechnerstart vorgesehen. Wahrscheinlich wird sie nur benötigt wenn die Hardwareerkennung nicht richtig funktioniert und das jeweilige Modul nicht automatisch geladen wird.
PS: Wahrscheinlich sind viele Programmierer ein wenig betriebsblind. Die wissen gar nicht wie schlecht die Dokumentation ist. Das ist aber ein allgemeines Problem bei Programmierer. Sie verwenden die kostbare, knappe Zeit lieber für das Programmiern als für die Dokumentation ihrer Programme ;-).
