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/02/17 17:41] – [Einstellungen zur Laufzeit] ingo_wichmannadmin_grundlagen:kernel [2026/10/11 22:02] (aktuell) – ingo_wichmann
Zeile 1: Zeile 1:
-==== Schnittstellen ====+====== Hardware Schnittstellen anzeigen ======
   ls /sys/bus/*/*   ls /sys/bus/*/*
-=== USB ===+===== USB =====
   lsusb   lsusb
   lsusb -v   lsusb -v
-=== PCI ===+===== PCI =====
   lspci   lspci
   lspci -v   lspci -v
-=== SCSI ===+  lspci -vv -nn # mit ids 
 +===== SCSI =====
   lsscsi   lsscsi
  
-==== Kernelmodule ====+====== Kernel-Module ====== 
 +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 22: 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 ====
-=== Distributionsübergreifend ab Linux 2.6 === +Beispiel: automatisches laden des Moduls //ip_tables// verhindern
-''/etc/modprobe*'' ( passende Datei wählen ) +
-<file>alias ipv6 off</file>+
  
-=== Hotplug === +<file txt /etc/modprobe.d/notip_tables.conf> 
-( nicht getestet ob das bei aktuellen Distributionen noch funktioniert / beachtet wird )+blacklist ip_tables 
 +</file>
  
-''/etc/hotplug/blacklist*'' für Hardware Module die nicht per Hotplug geladen werden sollen+==== 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 ====
 +Beispiel: Modul //dummy// laden
 === Debian===  === Debian=== 
 ''/etc/modules'' ''/etc/modules''
 +<file>dummy</file>
  
 === SuSE ===  === SuSE === 
 ''/etc/sysconfig/kernel'' : ''/etc/sysconfig/kernel'' :
-<file>MODULES_LOADED_ON_BOOT=""</file>+<file>MODULES_LOADED_ON_BOOT="dummy"</file>
  
-=== Distributionsübergreifend ab Linux 2.6 === +=== RedHat === 
-''/etc/modprobe*'' ( passende Datei wählen ) +''/etc/rc.modules'' :  
-<file>install ipv6</file>+<file>modprobe dummy</file> 
 +  chmod +x /etc/rc.modules 
 + 
 +==== Modul-Optionen setzen ==== 
 +Beispiel: 2 Dummy-Interfaces erstellen 
 +=== einmalig === 
 +  modprobe dummy numdummies=2 
 + 
 +=== 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>
  
 ===== Fehlendes Kernel-Modul nachträglich installieren ===== ===== Fehlendes Kernel-Modul nachträglich installieren =====
Zeile 57: 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 +==== CentOS 5 ====
-  aptitude install ipw3945-modules-2.6-686 ipw3945d firmware-ipw3945 +
-  modprobe ipw3945 +
- +
-==== Centos 5 ====+
 Verfügbare Pakete anzeigen: Verfügbare Pakete anzeigen:
   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 [[paketverwaltung]] ): +ELRepo ist ein Repository mit Fokus auf hardware-nahen Paketen 
-  yum install yum-priorities + 
-''/etc/yum.repos.d/CentOS-Base.repo'' : +Repository [[http://elrepo.org|ELRepo]] hinzufügen (siehe auch [[yum]]): 
-<file> +
-[base] +
-priority=1 +
-</file> +
-.. +
-<file> +
-[update] +
-priority=1 +
-</file> +
-.. +
-  rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt +
-  rpm -ihv http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm +
-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 144: 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 192: Zeile 170:
  
 ====== Einstellungen zur Laufzeit ====== ====== Einstellungen zur Laufzeit ======
-Mögliche Einstellungen sind in der Kerneldokumentation in der Datei ''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 ''Documentation/sysrq.txt'', siehe auch [[http://kernel.org/doc/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.1329500492.txt.gz · Zuletzt geändert: 2012/02/17 17:41 von ingo_wichmann