admin_grundlagen:kernel
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| admin_grundlagen:kernel [2012/07/03 19:59] – [Module nicht automatisch laden] ingo_wichmann | admin_grundlagen:kernel [2026/10/11 22:02] (aktuell) – ingo_wichmann | ||
|---|---|---|---|
| Zeile 7: | Zeile 7: | ||
| lspci | lspci | ||
| lspci -v | lspci -v | ||
| + | lspci -vv -nn # mit ids | ||
| ===== SCSI ===== | ===== SCSI ===== | ||
| lsscsi | lsscsi | ||
| - | ==== Kernelmodule | + | ====== Kernel-Module ====== |
| Modulverzeichnis: | Modulverzeichnis: | ||
| ls / | ls / | ||
| - | |||
| - | ====== Kernel-Module ====== | ||
| ===== Befehle ===== | ===== Befehle ===== | ||
| ==== Kernel Meldungen anzeigen ==== | ==== Kernel Meldungen anzeigen ==== | ||
| dmesg | dmesg | ||
| + | fortlaufend, | ||
| + | dmesg -wT | ||
| ==== Kernel Module anzeigen ==== | ==== Kernel Module anzeigen ==== | ||
| Zeile 23: | Zeile 24: | ||
| ==== Informationen und mögliche Parameter zu einem Modul anzeigen ==== | ==== Informationen und mögliche Parameter zu einem Modul anzeigen ==== | ||
| - | | + | Informationen zum Modul " |
| + | | ||
| ==== Modul von Hand laden ==== | ==== Modul von Hand laden ==== | ||
| - | | + | Modul " |
| + | | ||
| + | Oder (veraltet, ohne Support für Dependencies): | ||
| + | insmod dummy | ||
| ==== Modul entladen ==== | ==== Modul entladen ==== | ||
| - | | + | Kernel-Modul " |
| + | | ||
| + | |||
| + | Wenn das nicht geht, weil das Modul in Benutzung ist, dann kann man versuchen: | ||
| + | rmmod -f dummy | ||
| ===== Konfigurations-Dateien ===== | ===== Konfigurations-Dateien ===== | ||
| ==== Module nicht automatisch laden ==== | ==== Module nicht automatisch laden ==== | ||
| - | Beispiel: automatisches laden des Moduls //ipv6// verhindern | + | Beispiel: automatisches laden des Moduls //ip_tables// verhindern |
| - | '' | + | <file txt / |
| - | < | + | blacklist ip_tables |
| + | </file> | ||
| + | |||
| + | ==== Laden des Moduls blockieren ==== | ||
| + | <file txt / | ||
| + | alias dummy off | ||
| + | </ | ||
| + | oder | ||
| + | <file txt / | ||
| + | install dummy / | ||
| + | </ | ||
| ==== Module beim Starten laden ==== | ==== Module beim Starten laden ==== | ||
| Zeile 55: | Zeile 74: | ||
| ==== Modul-Optionen setzen ==== | ==== Modul-Optionen setzen ==== | ||
| Beispiel: 2 Dummy-Interfaces erstellen | Beispiel: 2 Dummy-Interfaces erstellen | ||
| + | === einmalig === | ||
| + | modprobe dummy numdummies=2 | ||
| - | ''/ | + | === dauerhaft === |
| + | |||
| + | ''/ | ||
| + | (( veraltet: | ||
| + | ''/ | ||
| + | |||
| + | https:// | ||
| + | |||
| + | |||
| + | Admins who were depending on different values will need to ensure they are set in the correct way to take precedence. A file in / | ||
| + | )) | ||
| < | < | ||
| Zeile 63: | Zeile 94: | ||
| zypper search kmp | zypper search kmp | ||
| - | ==== Debian ==== | + | ==== Debian |
| Verfügbare Pakete anzeigen: | Verfügbare Pakete anzeigen: | ||
| aptitude search modules | aptitude search modules | ||
| + | aptitude search dkms | ||
| ( Vorsicht: nicht alle angezeigten Pakete enthalten // | ( Vorsicht: nicht alle angezeigten Pakete enthalten // | ||
| - | |||
| - | Beispiel WLAN Treiber ipw3945 | ||
| - | aptitude install ipw3945-modules-2.6-686 ipw3945d firmware-ipw3945 | ||
| - | modprobe ipw3945 | ||
| ==== CentOS 5 ==== | ==== CentOS 5 ==== | ||
| Zeile 76: | Zeile 104: | ||
| yum list | grep kmod | yum list | grep kmod | ||
| - | === Modul über dkms nachinstallieren === | + | === Modul über ELRepo |
| - | Repository [[http://wiki.centos.org/ | + | ELRepo ist ein Repository mit Fokus auf hardware-nahen Paketen |
| + | |||
| + | Repository [[http://elrepo.org|ELRepo]] hinzufügen (siehe auch [[yum]]): | ||
| - | Modul installieren | ||
| - | yum install dkms-ipw3945 | ||
| - | testen | ||
| - | modinfo ipw3945 | ||
| - | / | ||
| - | dmesg | tail | ||
| - | | ||
| - | ==== Scientific Linux 6 ==== | ||
| Verfügbare Pakete anzeigen: | Verfügbare Pakete anzeigen: | ||
| - | yum list | grep kmod | + | yum search |
| - | === Modul von ATrpms nachinstallieren === | ||
| - | ATrpms Repository hinzufügen: | + | == Modul installieren == |
| - | | + | |
| - | yum list | grep kmdl | + | == testen |
| - | | + | |
| - | === Doku === | + | dmesg | tail |
| - | http:// | + | |
| ===== Fehlendes Kernel-Modul selbst bauen ===== | ===== Fehlendes Kernel-Modul selbst bauen ===== | ||
| Zeile 137: | Zeile 158: | ||
| * http:// | * http:// | ||
| - | ===== Eigenes | + | ====== Kernel |
| - | Keine Angst, nur ein ganz einfaches "Hello World" Beispiel ... | + | [[lpi2:: |
| - | ==== Debian | + | |
| - | + | ||
| - | cd | + | |
| - | aptitude install linux-source-xxx | + | |
| - | tar xjf / | + | |
| - | mkdir hello | + | |
| - | vi hello.c | + | |
| - | < | + | |
| - | #include < | + | |
| - | #include < | + | |
| - | #include < | + | |
| - | + | ||
| - | static int hello_init(void) | + | |
| - | { | + | |
| - | printk(KERN_ALERT "Hello World!\n" | + | |
| - | return 0; | + | |
| - | } | + | |
| - | + | ||
| - | static void hello_exit(void) | + | |
| - | { | + | |
| - | printk(KERN_ALERT "Good bye world!\n" | + | |
| - | } | + | |
| - | + | ||
| - | module_init(hello_init); | + | |
| - | module_exit(hello_exit); | + | |
| - | + | ||
| - | + | ||
| - | MODULE_LICENSE(" | + | |
| - | MODULE_AUTHOR(" | + | |
| - | </ | + | |
| - | + | ||
| - | vi Makefile | + | |
| - | < | + | |
| - | obj-m := hello.o | + | |
| - | </ | + | |
| - | make -C ../ | + | |
| ====== Neuen Kernel installieren ====== | ====== Neuen Kernel installieren ====== | ||
| Zeile 185: | Zeile 170: | ||
| ====== Einstellungen zur Laufzeit ====== | ====== Einstellungen zur Laufzeit ====== | ||
| - | Mögliche Einstellungen sind in der Kerneldokumentation in der Datei '' | + | [[sysctl]] |
| - | + | ||
| - | Auf sehr hoch belasteten Servern kann es Sinn machen, die Anzahl der gleichzeitig geöffneten Dateien zu erhöhen: | + | |
| - | + | ||
| - | ''/ | + | |
| - | < | + | |
| - | fs.file-max = 16384 | + | |
| - | kernel.threads-max = 2048 | + | |
| - | </ | + | |
| - | + | ||
| - | sysctl -p | + | |
| - | + | ||
| - | Wenn das System nicht mehr reagiert ( z.B. überhohe Last, X Absturz ) gibt es als letzte Rettung oft nur die " | + | |
| - | + | ||
| - | | Buchstabe | Funktion | | + | |
| - | |h|Hilfe zu den SysRq Keys anzeigen| | + | |
| - | |e|Allen Prozessen ( außer init ) das Signal TERM schicken| | + | |
| - | |i|Allen Prozessen ( außer init ) das Signal KILL schicken| | + | |
| - | |s|Alle gemounteten Dateisysteme syncen| | + | |
| - | |u|Alle Dateisysteme umounten| | + | |
| - | |b|System _sofort_ rebooten| | + | |
| - | |o|System _sofort_ ausschalten| | + | |
| - | + | ||
| - | sysctl -w ' | + | |
| - | + | ||
| - | Diese Einstellungen rebootfest machen: | + | |
| - | + | ||
| - | ''/ | + | |
| - | < | + | |
| - | kernel.sysrq = 1 | + | |
| - | </ | + | |
| ====== Kernel Bootparameter ====== | ====== Kernel Bootparameter ====== | ||
| Eine Übersicht über die Parameter, die der Kernel beim Booten auswertet findet sich in der Datei '' | Eine Übersicht über die Parameter, die der Kernel beim Booten auswertet findet sich in der Datei '' | ||
| - | Kernel Bootparameter können beim Booten oder über die Konfigurationsdatei des Bootloaders | + | Kernel Bootparameter können beim Booten oder über die Konfigurationsdatei des [[admin_grundlagen: |
| ====== Kernel Compile-parameter ====== | ====== Kernel Compile-parameter ====== | ||
admin_grundlagen/kernel.1341345564.txt.gz · Zuletzt geändert: 2012/07/03 19:59 von ingo_wichmann
