doku:linux_debian_kernel
Table of Contents
Das “Debian-Kernel-Mini-Howto” von hier http://a.ctdo.de/wiki/doku.php?id=debian-kernel-howto kopiert und fuer mich angepasst.
Vorbereitung
Installation benötigter Debian-Pakete
aptitude install --with-recommends kernel-package libncurses-dev bzip2 module-assistant
- in
/etc/kernel-pkg.confkann manmaintainer :=undemail :=anpassen
Installation Kernel-Sourcen (und evtl. Patches)
cd /usr/src wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2 tar xjf linux-2.6.28.tar.bz2 wget http://vserver.13thfloor.at/Experimental/patch-2.6.28-vs2.3.0.36.2.diff cd linux-2.6.28 patch -p1 < ../patch-2.6.28-vs2.3.0.36.2.diff cd .. mv linux-2.6.28 linux-2.6.28-vs2.3.0.36.2
Konfiguration des Kernels
cd linux-2.6.28-vs2.3.0.36.2
cp /boot/config-`uname -a | awk '{print $3}'` .config
make oldconfig
oder (wenns der Kernel unterstützt):
cp /proc/config.gz cd linux-2.6.28-vs2.3.0.36.2 gunzip ../config.gz
dann noch die .config.old nach .config kopieren
- Die Kernel-Konfiguration kann dann z.B. über
make menuconfigeingesehen und angepasst werden. - Tipps zum Anpassen des Kernels:
- Alle definitiv nicht benötigten Treiber abwählen (z.B. ISDN, Firewire, Multimedia-Kram)
- Definitiv ständig benötigte Treiber fest einbauen, nicht als Modul - man spart sich die initrd (Initial RAM Disk).
- Wichtige Treiber sind die, die mit dem Plattensystem zu tun haben: IDE, SCSI, SATA, das verwendete (Root-)Filesystem
- für Notebooks: Treiber für Geräte, die nicht ständig in Betrieb sind, als Modul bauen
- der erste
make menuconfig-Durchlauf ist allgemein relativ aufwändig - Wenn man das einmal für ein System gemacht hat, ist das Übernehmen einer laufenden Konfiguration für neue Kernel ein Kinderspiel
Erzeugen der Kernel-Pakete
- Kernel- und Modulpakete werden mit einem einzigen Befehl
make-kpkgerzeugt - Es wird eine Revisions-Bezeichnung mitgegeben; darüber kann man den Kernel leichter zuordnen und gezielt wieder entfernen
make-kpkg cleanräumt das Build-System aufmake-kpkg kernel_image modules_imageerzeugt die Debian Kernel- und Modul-Pakete- Parameter
–revision $Wert.$Zahlund–append-to-version $Wert.$Zahlidentifizieren das individuelle Paket, $Wert kann z.B. der Rechnername oder das Rechnermodell sein, $Zahl eine fortlaufende Nummer, wenn man verschiedene Konfigurationen des gleichen Kernels baut. - Parameter
–initrdsorgt für die Erzeugung der Initial RAM Disk, sofern benötigt - im Beispiel wird eine geänderte Kernel-Konfiguration
.01für ein ThinkpadX24erstellt und mit meinen Initialendsgekennzeichnet; eine Inital RAM Disk wird nicht benötigt - außerdem wird die Dauer des Vorgangs mittimegestoppt:
cd /usr/src/linux-2.6.28-vs2.3.0.36.2 make-kpkg clean time make-kpkg kernel_image modules_image --config oldconfig --revision x24ds.01 --append-to-version x24ds.01
- Der Vorgang dauert je nach verwendetem Rechner und ausgwählter Konfiguration eine gewisse Zeit; das zeitliche Messen des Vorgangs dient zur Orientierung.
- Nach Abschluss befinden sich die .deb-Dateien unter
/usr/src
Installation der Pakete
- die Kernel- und Modul-Pakete können nun mit auf das Zielsystem übetragen werden und mit
dpkg -i $Paketnameinstalliert werden.
cd /usr/src dpkg -i linux-image-2.6.28*.deb dpkg -i modules-image-*.deb
- Anschließend sollte man /boot/grub/menu.lst oder /etc/lilo.conf überprüfen, ob der neue Kernel auch beim Booten voreingestellt ist.
- ggfls
update-grub reboot
doku/linux_debian_kernel.txt · Last modified: by 127.0.0.1
