Linux 15.009 Themen, 106.826 Beiträge

verständnisfrage...module

ghartl1 / 9 Antworten / Flachansicht Nickles

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

bei Antwort benachrichtigen
KarstenW ghartl1 „danke für den ausführlichen bericht.. gruss günter“
Optionen

Einen eigenen Betriebsystemkern zu übersetzen ist gar nicht so schwierig und manchmal auch nötig. Ich hatte früher unter SUSE mit deren Standardkernel häufig Probleme. Ich nehme mal an das wenn zu viele Treiber im Kernel sind für die im Rechner gar keine Hardware vorhanden ist, das es dann immer wieder mal Probleme geben kann. Außerdem macht die RAM Disk manchmal Ärger.
Die RAM Disk die in der Datei initrd ist umgeht das Problem mit den Kernelmodulen . Man kann erst ein Kernelmodul laden wenn die root Partition gemounted ist. Deshalb werden viele Treiber in eine RAM Disk geladen damit diese Treiber schon beim Rechnerstart zur Verfügung stehen. Wenn man einen eigenen Kernel übersetzt kann man auf die Ramdisk verzichten , da man ja selbst entscheiden kann welche Treiber monolitisch und welche Treiber modular kompiliert werden sollen. Wenn jemand von einer SATA Festplatte bootet, dann muß man den Treiber für den SATA Controller und die SATA Festplatte monolitisch in den Kernel kompilieren. Und die Treiber für Sound und USB werden als Modul übersetzt, da diese Treiber erst nach dem Rechnerstart benötigt werden.

Ich habe ein sehr schönes Howto gefunden wo sehr viele Kerneloptionen erklärt werden:

http://de.gentoo-wiki.com/Kernel_manuell_kompilieren#Kernel-Optionen

Die Konfigurations des Kernels steht in der Datei .config. Diese Datei wird dialogbasierend erstellt in dem man den Befehl "make menuconfig" in der Konsole eingibt (vorher noch ncurses-dev installieren).
Bei FreeBSD gibt es die gleiche Datei für die Konfiguration eines eigenen Betriebsystemkerns. Dort wird diese Datei aber mit einem Editor bearbeitet. Das finde ich nicht so schön gemacht wie bei Linux.



Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen