Good to Know Database

Raspbian Wheezy: Linux Kernel 3.2.27 kompilieren und installieren


Im momentan aktuellen Raspbian-Image (2012-12-16-wheezy-raspbian.zip) für den Raspberry Pi wird der Linux Kernel in Version 3.2.27 verwendet. Die folgende Anleitung soll Ihnen zeigen, wie Sie diesen Kernel unter Raspbian selber kompilieren und installieren können.

Raspbian aktualisieren und erforderliche Pakete installieren

Zuerst sollten Sie Ihr Raspbian-System auf den aktuellen Stand bringen und die vorhandenen Updates installieren.

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get dist-upgrade

Anschließend installieren Sie wenn nötig noch die folgenden Pakete.

pi@raspberrypi ~ $ sudo apt-get install gcc make

Quellcode herunterladen

Erstellen Sie jetzt ein Verzeichnis, in welchem die Kernelsourcen und die Firmware für den Raspberry Pi abgelegt werden.

pi@raspberrypi ~ $ mkdir ~/raspberrypi
pi@raspberrypi ~ $ cd ~/raspberrypi

Laden Sie jetzt das aktuelle Firmware-Archiv von Github herunter und entpacken das Archiv.

pi@raspberrypi ~/raspberrypi $ wget https://github.com/raspberrypi/firmware/archive/master.tar.gz -O firmware-master.tar.gz
pi@raspberrypi ~/raspberrypi $ tar xfz firmware-master.tar.gz

Im Anschluss laden Sie die Kernelsourcen herunter und entpacken das heruntergeladene Archiv ebenfalls.

pi@raspberrypi ~/raspberrypi $ wget https://github.com/raspberrypi/linux/archive/rpi-3.2.27.tar.gz -O linux-rpi-3.2.27.tar.gz
pi@raspberrypi ~/raspberrypi $ tar xfz linux-rpi-3.2.27.tar.gz

Kernel konfigurieren

Zum Konfigurieren des Kernels wechseln Sie zuerst in das soeben erstellte Verzeichnis.

pi@raspberrypi ~/raspberrypi $ cd linux-rpi-3.2.27

Um sicherzustellen, dass sich keine Dateien von einem früheren Kompiliervorgang zwischen den Sourcedateien befinden, rufen Sie den folgenden Befehl auf.

pi@raspberrypi ~/raspberrypi/linux-rpi-3.2.27 $ make mrproper

Erstellen Sie jetzt die Kernel-Konfigurationsdatei indem Sie die Konfigurationsdatei des aktuell verwendeten Kernels in die .config kopieren.

pi@raspberrypi ~/raspberrypi/linux-rpi-3.2.27 $ zcat /proc/config.gz > .config

Anschließend rufen Sie den folgenden Befehl auf. Sollten in der soeben erstellten Konfigurationsdatei noch nicht alle Einstellungen für die Kernelsourcen enthalten sein können Sie diese hier entsprechend festlegen.

pi@raspberrypi ~/raspberrypi/linux-rpi-3.2.27 $ make oldconfig

Kernel kompilieren

Sobald Sie die Konfiguration abgeschlossen haben, können Sie mit dem Befehl make den Kompiliervorgang starten. Auf dem Raspberry Pi dauert das Kompilieren des Kernels etwa 6 Stunden.

pi@raspberrypi ~/raspberrypi/linux-rpi-3.2.27 $ make

Neuen Kernel installieren

Nachdem der Kernel vollständig kompiliert wurde, können Sie diesen in das Verzeichnis /boot kopieren. Wenn Sie kein Risiko eingehen wollen, erstellen Sie zuvor eine Kopie des alten Kernels.

pi@raspberrypi ~/raspberrypi/linux-rpi-3.2.27 $ sudo cp arch/arm/boot/zImage /boot/kernel.img

Neue Kernelmodule installieren

Neben dem Kernel wurden auch die Kernelmodule erstellt. Diese installieren Sie einfach durch den folgenden Befehl.

pi@raspberrypi ~/raspberrypi/linux-rpi-3.2.27 $ sudo make modules_install

Firmware aktualisieren

Bevor Sie mit der Arbeit fertig sind, sollten Sie einige Dateien aus dem heruntergeladenen Firmware-Archiv in das Verzeichnis /boot kopieren. Auch hier können Sie vorsorglich Sicherheitskopien der alten Dateien erstellen.

pi@raspberrypi ~/raspberrypi/linux-rpi-3.2.27 $ cd ~/raspberrypi/firmware-master/boot
pi@raspberrypi ~/raspberrypi/firmware-master $ sudo cp bootcode.bin fixup.dat fixup_cd.dat kernel_emergency.img start.elf start_cd.elf /boot

Kernel laden

Nachdem jetzt der neu kompilierte Kernel und die Kernelmodule installiert und die Firmware-Dateien ebenfalls aktualisiert wurden, können Sie das System neu starten und überprüfen ob Raspbian problemlos startet.

pi@raspberrypi ~ $ sudo shutdown -r now

Sobald das System wieder läuft können Sie wie folgt die Kernelversion auslesen. Sie sollten zumindest am Build-Datum den neuen Kernel erkennen.

pi@raspberrypi ~ $ uname -a
Linux raspberrypi 3.2.27 #1 PREEMPT Sun Feb 3 17:04:27 CET 2013 armv6l GNU/Linux


Dieser Eintrag wurde am 03.02.2013 erstellt und zuletzt am 25.09.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_36_2087.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2016 by Georg Kainzbauer