Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung Nächste Überarbeitung Beide Seiten, nächste Überarbeitung | ||
lpi1:kernel [2013/11/15 16:17] 127.0.0.1 Externe Bearbeitung |
lpi1:kernel [2015/05/07 14:06] jan_buecken [Modul-Optionen setzen] |
||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
lspci | lspci | ||
lspci -v | lspci -v | ||
+ | lspci -vv -nn # mit ids | ||
===== SCSI ===== | ===== SCSI ===== | ||
lsscsi | lsscsi | ||
Zeile 32: | Zeile 33: | ||
modprobe -r dummy | modprobe -r dummy | ||
- | Wenn das nicht geht, weil das Modul in Benutzung ist, dann kann man | + | Wenn das nicht geht, weil das Modul in Benutzung ist, dann kann man versuchen: |
rmmod -w dummy | rmmod -w dummy | ||
Zeile 62: | Zeile 63: | ||
==== Modul-Optionen setzen ==== | ==== Modul-Optionen setzen ==== | ||
Beispiel: 2 Dummy-Interfaces erstellen | Beispiel: 2 Dummy-Interfaces erstellen | ||
+ | === einmalig === | ||
+ | modprobe dummy numdummies=2 | ||
+ | === dauerhaft === | ||
+ | |||
+ | ''/etc/modprobe.d/dummy_params.conf'' : | ||
+ | (( veraltet: | ||
''/etc/modprobe.conf'' : | ''/etc/modprobe.conf'' : | ||
+ | )) | ||
<file>options dummy numdummies=2</file> | <file>options dummy numdummies=2</file> | ||
Zeile 70: | Zeile 78: | ||
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 137: | Zeile 142: | ||
* 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 207: | Zeile 176: | ||
|b|System _sofort_ rebooten| | |b|System _sofort_ rebooten| | ||
|o|System _sofort_ ausschalten| | |o|System _sofort_ ausschalten| | ||
+ | |k|Alle Prozesse diese Terminals killen| | ||
sysctl -w 'kernel.sysrq=1' | sysctl -w 'kernel.sysrq=1' |