====== Hardware Schnittstellen anzeigen ====== ls /sys/bus/*/* ===== USB ===== lsusb lsusb -v ===== PCI ===== lspci lspci -v lspci -vv -nn # mit ids ===== SCSI ===== lsscsi ====== Kernel-Module ====== Modulverzeichnis: ls /lib/modules/$(uname -r)/ ===== Befehle ===== ==== Kernel Meldungen anzeigen ==== dmesg fortlaufend, mit Uhrzeit: dmesg -wT ==== Kernel Module anzeigen ==== lsmod ==== Informationen und mögliche Parameter zu einem Modul anzeigen ==== Informationen zum Modul "dummy" anzeigen modinfo dummy ==== Modul von Hand laden ==== Modul "dummy" laden modprobe dummy Oder (veraltet, ohne Support für Dependencies): insmod dummy ==== Modul entladen ==== 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 ===== ==== Module nicht automatisch laden ==== Beispiel: automatisches laden des Moduls //ip_tables// verhindern blacklist ip_tables ==== Laden des Moduls blockieren ==== alias dummy off oder install dummy /bin/false ==== Module beim Starten laden ==== Beispiel: Modul //dummy// laden === Debian=== ''/etc/modules'' dummy === SuSE === ''/etc/sysconfig/kernel'' : MODULES_LOADED_ON_BOOT="dummy" === RedHat === ''/etc/rc.modules'' : modprobe dummy 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“. )) options dummy numdummies=2 ===== Fehlendes Kernel-Modul nachträglich installieren ===== ==== openSuSE 11.1 ==== zypper search kmp ==== Debian 7 ==== Verfügbare Pakete anzeigen: aptitude search modules aptitude search dkms ( Vorsicht: nicht alle angezeigten Pakete enthalten //kernel//-Module ) ==== CentOS 5 ==== Verfügbare Pakete anzeigen: yum list | grep kmod === Modul über ELRepo nachinstallieren === ELRepo ist ein Repository mit Fokus auf hardware-nahen Paketen Repository [[http://elrepo.org|ELRepo]] hinzufügen (siehe auch [[yum]]): Verfügbare Pakete anzeigen: yum search kmod == Modul installieren == yum install kmod-ntfs == testen == modprobe ntfs dmesg | tail ===== Fehlendes Kernel-Modul selbst bauen ===== Problem: es gibt in der verwendeten Distribution keinen Treiber für folgendes Gerät: lsusb Bus 001 Device 005: ID 0a46:6688 Davicom Semiconductor, Inc. ==== als Nutzer ==== Lösung: jagen & sammeln & Modul selbst kompilieren: Auf der Seite http://alcopop.org/unix/linux/dm9601/ sind zwei passende Treiber verlinkt: wget http://www.silencio.ro/DM9601.GZ Entpacken und hineinwechseln: tar xzf DM9601.GZ cd 2.6.18/ USB-ID hinzufügen: vi dm9601.h DM9601_DEV( "Davicom USB-100", 0x0a46, 0x6688, DEFAULT_GPIO_RESET ) Kompilieren: make ==== Als root ==== Modul laden insmod /tmp/2.6.18/dm9601.ko Testen ob Gerät erscheint: dmesg ifconfig -a Aufräumen: rmmod dm9601 Gerät entfernen Modul installieren: cp /tmp/2.6.18/dm9601.ko /lib/modules/`uname -r`/kernel/drivers/usb/net depmod -a ==== Doku ==== === CentOS / Redhat === * http://wiki.centos.org/HowTos/BuildingKernelModules ====== Kernel kompilieren ====== [[lpi2::kernel_kompilieren]] ====== Neuen Kernel installieren ====== ===== Debian 6.0 ===== [[admin_grundlagen:paketverwaltung#zusaetzliche_repositories|Repository]] hinzufügen, z.B. Debian Backports apt-get -t squeeze-backports install linux-image Passende Version auswählen, z.B. apt-get -t squeeze-backports install linux-image-2.6.39-bpo.2-686-pae ====== Einstellungen zur Laufzeit ====== [[sysctl]] ====== 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. Kernel Bootparameter können beim Booten oder über die Konfigurationsdatei des [[admin_grundlagen:bootloader|Bootloaders]] übergeben werden. ====== Kernel Compile-parameter ====== Auf den meisten Systemen ist es nicht notwendig, den Kernel neu zu kompilieren. Es macht Unerfahrenen mehr Ärger als es bringt. Trotzdem ist es interessant, sich die Einstellungen anzusehen, die auf Kernel-Ebene möglich sind: http://kernel.xc.net/ ====== Dokus & Links ====== * http://www.linuxtopia.org/online_books/linux_kernel_index.html