Product SiteDocumentation Site

8.10.6. Einen Kernel-Patch anwenden

Einige Leistungsmerkmale sind im Standardkernel nicht enthalten, da sie entweder noch nicht ausgereift sind, oder da es Meinungsverschiedenheiten zwischen dem Entwickler des Quellcodes und den Kernelbetreuern gibt. Solche Merkmale können als Patches verbreitet werden, die dann jeder auf die Kernelquellen anwenden kann.
Debian verbreitet einige dieser Patches in den Paketen linux-patch-* und kernel-patch-* (zum Beispiel linux-patch-grsecurity2, das einige der Sicherheitsrichtlinien des Kernels verschärft). Diese Pakete installieren Dateien in das Verzeichnis /usr/src/kernel-patches/.
Um einen oder mehrere dieser installierten Patches anzuwenden, rufen Sie den Befehl patch im Quellenverzeichnis auf und beginnen dann wie oben beschrieben mit der Kompilierung des Kernels.
$ cd ~/kernel/linux-source-2.6.32
$ fakeroot make-kpkg clean
$ zcat /usr/src/kernel-patches/diffs/grsecurity2/grsecurity-2.1.14-2.6.32.13-201005151340.patch.gz | patch -p1
$ fakeroot make-kpkg --append-to-version -grsec --revision 1 --initrd kernel-image
$ ls ../*.deb
../linux-image-2.6.32-falcot_1_i386.deb
../qc-usb-modules-2.6.32-falcot_0.6.6-7+1_i386.deb
../linux-image-2.6.32-grsec_1_i386.deb
Beachten Sie, dass ein bestimmter Patch nicht unbedingt mit jeder Kernelversion funktioniert; patch kann scheitern, wenn sie auf die Kernelquellen angewendet werden. Dann wird eine Fehlermeldung mit Einzelheiten zu diesem Fehlschlag angezeigt; in diesem Fall sollten Sie in der Dokumentation nachsehen, die im Debian-Paket des Patches zur Verfügung steht (im Verzeichnis /usr/share/doc/linux-patch-*/). Meistens gibt der Betreuer dort an, für welche Kernelversionen sein Patch gedacht ist.