Autor: sledge0303
E-Mail: sledge@nixhelp.de
Version: 1.1
Stand: 27.02.2008 10:30 Uhr
In diesem Howto wird erklärt, wie man einen Kernel-DEB selbst erstellen sowie Patches in die Sourcen einspielen kann.
Der Autor übernimmt keine Haftung wenn ihr einen nicht funktionierenden Kernel erstellt!
«< 60% round red|ACHTUNG ACHTUNG ACHTUNG ACHTUNG :::
Aus gegeben Anlass möchte ich noch auf folgende Sachen hinweisen:
Alle meine Howtos und Tutorials dienen lediglich als Hilfmittel für Installationen und ersetzen KEIN fehlendes Grundlagenwissen in Sachen Linux und Administration!!!
Wenn du kein Grundlagenwissen vorweisen kannst oder nicht in der Lage bist alle Schritte nachzuvollziehen, solltest du dich dringend selbst fragen ob es unbedingt ein eigener Server sein muss oder jemanden mit Ahnung auf diesem Gebiet mit der Installation deines Servers beauftragen.
::: »>
apt-get install -y kernel-package libncurses5-dev fakeroot wget bzip2 dash patch make automake
Anschließend wechseln wir nach /usr/src
cd /usr/src
und laden uns die Kernelsourcen. Wir wählen den Kernel 2.6.24.2 und patchen diesen mit dem grsec-patch.
wget http://www.de.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.2.tar.gz wget http://www.grsecurity.net/~spender/grsecurity-2.1.11-2.6.24.2-200802192340.patch
Danach entpacken wir die Source und wechseln in das Verzeichnis rein
tar zxf linux-2.6.24.2.tar.gz cd linux-2.6.24.2
Als erstes Patchen wir die Sourcen mit dem grsec Patch. Beachtet aber bitte, falls neuere Patche im Gegensatz zu diesem Howto bereits angeboten werden, diese dann auch den entsprechenden Kernelsourcen anpassen.
patch -Np1 < ../grsecurity-2.1.11-2.6.24.2-200802192340.patch
Benutze deine alte config oder erstelle mit Hilfe der Ausgaben von lspci und lsmod eine neue.
Alternativ können wir die neuste .config von OVH benutzen:
wget ftp://ftp.ovh.net/made-in-ovh/bzImage/2.6-config-xxxx-std-ipv4-32 mv 2.6-config-xxxx-std-ipv4-32 .config
Bei einer Intel Pro/1000 ist ab Kernel 2.6.24 kein Patch mehr notwendig, allerdings muss der PCI-Express Treiber für diese NIC zusätzlich statisch aktiviert werden
CONFIG_E1000=y CONFIG_E1000_NAPI=y # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set CONFIG_E1000E=y
fakeroot make-kpkg --revision=etch.personal1 kernel_image --config menuconfig
Um grsec zu aktivieren, musst du unter der Kerneloption 'Security Options –> grsecurity –> grsecurity statisch in den Kernel aktivieren (*). Danach hast Optionen wie 'Security Level'. Diesen nicht höher als Medium stellen!
Man kann sein System, die chroots sehr schön mit grsec absichern, genausoschnell kann man sich aussperren oder die Kiste kommt wegen paranoider Sicherheitseinstellungen nicht mehr hoch oder blockierst den Netzzugang deines Servers…
Sind alle Einstellungen vorgenommen worden, die letzte Messe gesungen, speicherst du alle getätigten Einstellungen ab und anschließend wird 'automatisch' im Anschluss das .deb gebaut. Es befindet sich anschließend im /usr/src Verzeichnis, also eine Ebene tiefer.
Solltet ihr während des kompilierens einen Fehler bekommen und make-kpkg bricht ab, diesen entsprechend beheben und vor dem erneuten kompilieren
make-kpkg clean
ausführen. Damit werden die temporären Dateien von make gelöscht und so verhindert ihr diesen gleichen Fehler im nächsten Vorgang.
Installieren kannst das deb mit
dpkg -i $PAKETNAME.deb
Jetzt noch schnell den Bootloader updaten
LILO:
nano /etc/lilo.conf
GRUB:
update-grub