Manchmal brauche ich einfach das eine oder andere Kernel Modul welches sich nicht im Vanilla Kernel meines Rasbian befindet, oder ich möchte unbedingt einige Module loswerden oder ich will einen aktuelleren linux Kernel.
Um eines oder alle diese Ziele zu erreichen muss ein neuer Linux Kernel für den Raspberry Pi angefertigt werden. Hier die Kurzanleitung wie dies in fünf einfach Schritten zu schaffen ist.:
1.) Linux Kernel Quellen herunterladen
Um den Aktuellen Kernel übersetzen zu können brauchen wir einige Module. Um diese zu Installieren nutzen wir apt-get install.:
sudo apt-get install bc git build-essential
Um den „aktuellen“ Linux Kernel zu bekommen holen wir über Git die Quellen:
git clone --depth=1 https://github.com/raspberrypi/linux
alternativ können wir auch einen aktuelleren Kernel (im Beispiel 4.5) holen lassen.:
git clone --depth=1 --branch=rpi-4.5.y https://github.com/raspberrypi/linux
und wechseln in das Installationsverzeichnis.
cd linux
2.) Default Konfiguration erstellen
Im Anschluss muss ich die default Linux Konfiguration für meinen Raspberry Pi erstellen, für Raspberry Pi 1 A oder B und das Compute Module:
KERNEL=kernel make bcmrpi_defconfig
für den Raspberry Pi 2 geht dies über:
KERNEL=kernel7 make bcm2709_defconfig
3.) Kernel konfiguration anpassen (optional)
um die Konfiguration des Linux Kernels anzupassen bietet Linux die
make menuconfig
oder alternativ
make nconfig
4.) Kernel übersetzen
um den Kernel im Anschluss zu compilieren die folgenden Zeilen ausführen:
make zImage modules dtbs
5.) Kernel Installieren
sudo make modules_install sudo cp arch/arm/boot/dts/*.dtb /boot/ sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/ sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/ sudo scripts/mkknlimg arch/arm/boot/zImage /boot/$KERNEL.img
Wenn der Kernel einen abweichenden Namen erhalten soll kann in der Datei config.txt die Zeile „kernel“ für den verwendeten Kernel angepasst werden.:
kernel=meinKernel.img