Kernel als DEB bauen


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!

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.

1. Installation der Abhängigkeiten


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

2. Patchen und Config

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

3. Kernel kompilieren

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


zurück zum Seitenindex


Eigene Werkzeuge