Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:debian-spezifisch:kernel

Einen Vanilla-Kernel nach dem Debian-way bauen

Benötigte Pakete

Benötigt werden:

  • build-essential
  • kernel-package
  • fakeroot
  • libncurses5
  • libncurses5-dev
  • libncursesw5
  • libncursesw5-dev
  • libstdc++6
  • libstdc++6-dev

Vorbereitung

  • $ = User, #= root!
  • Zunächst werden die Sourcen des aktuellen Kernels von Kernel.org benötigt:
$ wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.XX.Y.tar.bz2
  • Anschließend werden die Quellen entpackt und in diesen Ordner gewechselt:
$ tar -xf linux-2.6.XX.Y.tar.bz2''\\
$ cd /inux-2.6.XX.Y''
  • Nun muss die aktuelle Konfigurationsdatei z. B. aus /boot in den Kernelordner kopiert werden
$ cp /boot/config-2.6.XX.Y .config''
  • Hier kann die Konfiguration noch mit
$ make menuconfig

an die eigenen Bedürfnisse angepasst werden. Wirkungsvoll ist vor allem die richtige Processor family im Abschnitt „Processor type and features“ auszuwählen. Hilfreich ist hier der Befehl

# cat /proc/cpuinfo | grep -e family -e model
  • Nicht vergessen das Makefile um die Revision zu ergänzen, anschließend den Kernel kompilieren:

Alle möglichen Pakete erzeugen:

$ make-kpkg --initrd buildpackage --us --uc --rootcmd fakeroot

Oder nur bestimmte Pakete erzeugen:

$ make-kpkg --initrd kernel_image kernel_headers --us --uc --rootcmd fakeroot

Die Optionen –us –uc verhindern das signieren der Pakete mit dem GPG-Key des Benutzers.

Bauen

Zu allerletzt können die gebauten Pakete installiert werden:

# dpkg -i linux-*.deb

Tipps & Tricks

Bei Mehrprozessorsystem empfiehlt es sich, den Kompilationsvorgang in mehrere Jobs zu splitten. Dazu wird in der Datei /etc/kernel-pkg.conf folgende Zeile ergänzt:

CONCURRENCY_LEVEL := X

X steht hierbei mindestens für die Zahl der Prozessoren, generell ist auch bei einem Einzelprozessorsystem zu empfehlen eine 2 einzutragen.

linux/debian-spezifisch/kernel.txt · Zuletzt geändert: 09.07.2013 21:33 (Externe Bearbeitung)