Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:kernel

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:kernel [2012/07/03 19:59] – [Module nicht automatisch laden] ingo_wichmannadmin_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 /lib/modules/$(uname -r)/   ls /lib/modules/$(uname -r)/
- 
-====== Kernel-Module ====== 
 ===== Befehle ===== ===== Befehle =====
 ==== Kernel Meldungen anzeigen ==== ==== Kernel Meldungen anzeigen ====
   dmesg   dmesg
 +fortlaufend, mit Uhrzeit:
 +  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 ====
-  modinfo+Informationen zum Modul "dummy" anzeigen 
 +  modinfo dummy
  
 ==== Modul von Hand laden ==== ==== Modul von Hand laden ====
-  modprobe+Modul "dummy" laden 
 +  modprobe dummy
  
 +Oder (veraltet, ohne Support für Dependencies):
 +  insmod dummy
 ==== Modul entladen ==== ==== Modul entladen ====
-  modprobe -r+Kernel-Modul "dummy" entladen: 
 +  modprobe -r dummy 
 + 
 +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
  
-''/etc/modprobe.conf'' : +<file txt /etc/modprobe.d/notip_tables.conf> 
-<file>alias ipv6 off</file>+blacklist ip_tables 
 +</file> 
 + 
 +==== Laden des Moduls blockieren ==== 
 +<file txt /etc/modprobe.d/nodummy.conf> 
 +alias dummy off 
 +</file> 
 +oder 
 +<file txt /etc/modprobe.d/nodummy.conf> 
 +install dummy /bin/false 
 +</file>
  
 ==== 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
  
-''/etc/modprobe.conf'' :+=== dauerhaft === 
 + 
 +''/etc/modprobe.d/z_dummy_params.conf'' : 
 +(( veraltet: 
 +''/etc/modprobe.conf'' 
 + 
 +https://www.debian.org/releases/stable/amd64/release-notes/ch-information.de.html 
 + 
 + 
 +Admins who were depending on different values will need to ensure they are set in the correct way to take precedence. A file in /etc/modprobe.d will override one with the same name under /lib/modprobe.d, but the names are processed in alphabetical order, so /lib/modprobe.d/systemd.conf follows and overrides (for instance) /etc/modprobe.d/dummy.conf. Make sure that any local configuration file has a name that sorts after „systemd.conf“, such as „/etc/modprobe.d/zz-local.conf“.  
 +))
 <file>options dummy numdummies=2</file> <file>options dummy numdummies=2</file>
  
Zeile 63: Zeile 94:
   zypper search kmp   zypper search kmp
  
-==== Debian ====+==== Debian 7 ====
 Verfügbare Pakete anzeigen:  Verfügbare Pakete anzeigen: 
   aptitude search modules   aptitude search modules
 +  aptitude search dkms
 ( Vorsicht: nicht alle angezeigten Pakete enthalten //kernel//-Module ) ( Vorsicht: nicht alle angezeigten Pakete enthalten //kernel//-Module )
- 
-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 nachinstallieren === 
-Repository [[http://wiki.centos.org/AdditionalResources/Repositories/RPMForge|RPMforge]] hinzufügen ( siehe auch [[yum]] ):+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 
-  /etc/init.d/ipw3945d start 
-  dmesg | tail 
-   
-==== Scientific Linux 6 ==== 
 Verfügbare Pakete anzeigen: Verfügbare Pakete anzeigen:
-  yum list | grep kmod+  yum search kmod
  
-=== Modul von ATrpms nachinstallieren === 
  
-ATrpms Repository hinzufügen: (( aktuelle Version siehe http://packages.atrpms.net/name/atrpms-repo/ )) +== Modul installieren == 
-  rpm -i http://dl.atrpms.net/all/atrpms-repo-6-4.el6.i686.rpm +  yum install kmod-ntfs 
-  yum list | grep kmdl +== testen == 
-   +  modprobe ntfs 
-=== Doku === +  dmesg | tail 
-http://wiki.centos.org/HowTos/BuildingKernelModules+
  
 ===== Fehlendes Kernel-Modul selbst bauen ===== ===== Fehlendes Kernel-Modul selbst bauen =====
Zeile 137: Zeile 158:
   * http://wiki.centos.org/HowTos/BuildingKernelModules   * http://wiki.centos.org/HowTos/BuildingKernelModules
  
-===== Eigenes Kernel-Modul schreiben ===== +====== Kernel kompilieren ====== 
-Keine Angst, nur ein ganz einfaches "Hello World" Beispiel ... +[[lpi2::kernel_kompilieren]]
-==== Debian ==== +
- +
-  cd +
-  aptitude install linux-source-xxx +
-  tar xjf /usr/src/linux-source-xxx +
-  mkdir hello +
-  vi hello.c +
-<file> +
-#include <linux/init.h> +
-#include <linux/module.h> +
-#include <linux/kernel.h> +
- +
-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("GPL"); +
-MODULE_AUTHOR("me"); +
-</file> +
- +
-  vi Makefile +
-<file> +
-obj-m   := hello.o +
-</file> +
-  make -C ../linux-source-2.6.18/ SUBDIRS=$PWD modules+
  
 ====== 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 ''[[http://kernel.org/doc/Documentation/filesystems/proc.txt|Documentation/filesystems/proc.txt]]'' beschrieben. Hier ein paar Beispiele: +[[sysctl]]
- +
-Auf sehr hoch belasteten Servern kann es Sinn machen, die Anzahl der gleichzeitig geöffneten Dateien zu erhöhen: +
- +
-''/etc/sysctl.conf'' : +
-<file> +
-fs.file-max = 16384 +
-kernel.threads-max = 2048 +
-</file> +
- +
-  sysctl -p +
- +
-Wenn das System nicht mehr reagiert ( z.B. überhohe Last, X Absturz ) gibt es als letzte Rettung oft nur die "magischen" Tastenkombinationen aus ALTGr + SysRq + Buchstabe ((Die vollständige Liste der Befehle steht in der Kerneldokumentation in der Datei ''[[http://kernel.org/doc/Documentation/sysrq.txt|Documentation/sysrq.txt]]'' )): +
- +
-| 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 'kernel.sysrq=1' +
- +
-Diese Einstellungen rebootfest machen: +
- +
-''/etc/sysctl.conf'' : +
-<file> +
-kernel.sysrq = 1 +
-</file>+
  
 ====== Kernel Bootparameter ====== ====== Kernel Bootparameter ======
 Eine Übersicht über die Parameter, die der Kernel beim Booten auswertet findet sich in der Datei ''Documentation/kernel-parameters.txt'' in den Kernel-Quelltexten.  Eine Übersicht über die Parameter, die der Kernel beim Booten auswertet findet sich in der Datei ''Documentation/kernel-parameters.txt'' in den Kernel-Quelltexten. 
  
-Kernel Bootparameter können beim Booten oder über die Konfigurationsdatei des Bootloaders ( z.B. ''/boot/grub/menu.lst'' ) übergeben werden. +Kernel Bootparameter können beim Booten oder über die Konfigurationsdatei des [[admin_grundlagen:bootloader|Bootloaders]] übergeben werden. 
  
 ====== Kernel Compile-parameter ====== ====== Kernel Compile-parameter ======
admin_grundlagen/kernel.1341345564.txt.gz · Zuletzt geändert: 2012/07/03 19:59 von ingo_wichmann