Linux Kernel bauen

Linux Kernel bauen


Hier ein kleine Anleitung wie ich meine Linux Kernel baue.

Ich hab mir hierfür eine separate Debian Build VM aufgesetzt und dort installieren wir erst mal die benötigten Packete
[stextbox id=“bash“]apt-get install -y build-essential ncurses-dev kernel-package fakeroot screen bc debhelper dh-make quilt fakeroot lintian[/stextbox]

Als nächstes laden wir uns die Kernel Sources von https://www.kernel.org/ herunter.
[stextbox id=“bash“]cd /mnt wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.5.tar.xz tar xf linux-3.13.5.tar.xz[/stextbox]

Jetzt können wir uns entweder durch alle Kernel Optionen durch quälen oder die letzte Kernel Config verwenden und dann noch die Neuerungen einstellen. Ich bevorzuge das letztere.
[stextbox id=“bash“]cd /mnt/linux-3.13.5 cp /boot/config-3.12-1-amd64 .config[/stextbox]

Jetzt kann man sich um die einzelne Kernel Module kümmern. Diese kann man entweder Fest in den Kernel einkompilieren (*) oder als Modul (M) welches dann geladen wird wenn der Kernel es brauch.
[stextbox id=“bash“]make menuconfig[/stextbox]

  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/lxdialog/checklist.o
  HOSTCC  scripts/kconfig/lxdialog/inputbox.o
  HOSTCC  scripts/kconfig/lxdialog/menubox.o
  HOSTCC  scripts/kconfig/lxdialog/textbox.o
  HOSTCC  scripts/kconfig/lxdialog/util.o
  HOSTCC  scripts/kconfig/lxdialog/yesno.o
  HOSTCC  scripts/kconfig/mconf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/mconf
scripts/kconfig/mconf Kconfig
.config:1690:warning: symbol value 'm' invalid for BMP085
.config:5386:warning: symbol value 'm' invalid for LUSTRE_LLITE_LLOOP

Hier sollte dann folgendes Menü kommen

menuconfig

Jetzt kann man das auswählen was man braucht. Um beim bauen mehrer CPUs zu verwenden sollte man diesen Befehl vorher noch ausführen
[stextbox id=“bash“]export CONCURRENCY_LEVEL=4[/stextbox]

Als nächstes starten wir den Kernel Bau. Dies kann je nach Performance des Systems etwas dauern, darum starte ich ihn immer in einem Screen.
[stextbox id=“bash“]make-kpkg clean
screen fakeroot make-kpkg –initrd –append-to-version=-apr-23-02-2014 kernel_image kernel_headers[/stextbox]

Das dauert jetzt ein wenig. Danach sollte man noch ein make clean machen da sonst einem recht schnell der Platz ausgehen kann.
[stextbox id=“bash“]make clean[/stextbox]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*