Homepage Wiki Forum Buy

Bootloader übersetzen und installieren

Aus GNUBLIN

Inhaltsverzeichnis

Apex Bootloader(8MB und 32MB Support) mit Gnublin-Distribution

Der Bootloader ist der erste Code, den der Prozessor nach dem Reset ausführt. Hauptaufgabe des Bootloaders ist es, den Linux-Kernel von der SD-Karte in den RAM zu laden und dann den Kernel auszuführen.

Um den Apex Bootloader fuer das Gnublin kompilieren zu können, wird nur die Gnublin Distribution benötigt.

Der Bootloader wird beim start des build_GNUBLIN_support_package.sh Skripts automatisch kompiliert. Die Konfiguration für den Bootloader wird ebenfalls automatisch geöffnet.

Auswahl des richtigen RAM

Zuerst startet man das build_GNUBLIN_support_package.sh. Die menuconfig vom Bootloader öffnet sich automatisch.

Hat man das Script schon einmal ausgeführt, so löscht man die Datei .stamp_bootloader und startet dann erst das build_GNUBLIN_support_package.sh Skript.

Nach öffnen der menuconfig kann man unter der Einstellung Platform Setup -> Choose RAM size die Größe des RAM Speichers auswählen. Genaue angaben zu diesem Schritt gibt es im Artikel Gnublin Distribution.


Apex Bootloader(8MB und 32MB Support) per Hand aus dem Quellcode

Zuerst lädt man sich die Datei apex-1.6.8.tar.gz herunter. Diese befindet sich im Gnublin-Distribution Git Repository. Mit

git clone https://github.com/embeddedprojects/gnublin-distribution.git

kann man sich die komplette Gnublin-Distribution kopieren. Die apex-1.6.8.tar.gz Datei liegt anschließend im Verzeichnis

gnublin-distribution/lpc3131/bootloader/apex/1.6.8

Möchte man nicht die komplette Distribution herunterladen, kann man sich auch nur die einzelne Datei mit

wget https://github.com/embeddedprojects/gnublin-distribution/raw/master/lpc3131/bootloader/apex/1.6.8/apex-1.6.8.tar.gz

besorgen.

Anschließend wird das Archiv entpackt:

tar xfvz apex-1.6.8.tar.gz
cd apex-1.6.8

Nun kann man mit der Konfiguration beginnen (bzw. braucht man natürlich vorab die Toolchain). Wenn diese vorhanden ist kann man loslegen:

make menuconfig

Dort können einige Einstellungen geändert werden, z.B. unter Platform Setup -> Choose RAM size die Größe des RAM Speichers auswählen, oder unter Environment -> Default kernel command line die Default command line ändern. Beendet wird das menuconfig mit 2x[ESC].

Nachdem man die neue .config gespeichert hat, kann Bootloader kompiliert werden:

make

Wenn der Vorgang erfolgreich beendet wurde, liegt im selben Verzeichnis ein Softlink zur Datei apex.bin - der Bootloader.

Nun muss der Bootloader nur noch wie im nächsten Abschnitt gezeigt auf die SD-Karte kopiert werden.

Kopieren des Bootloaders

sudo dd if=/dev/zero of=/dev/<partition des bootloaders>
sudo dd if=apex.bin of=/dev/<partition des bootloaders>

Auf welcher Partition liegt der Bootloader

Ist man sich nun unsicher mit der richtigen Partition der SD Karte so geht man am besten wie folgt vor:

sudo gparted

Danach öffnet sich gparted und oben rechts sieht man die möglichen Geräte. Hat man eine 2GB SD Karte so sieht das wie folgt aus:

Bootloader.png

Auf der SD Karte sollten in der Regel zwei Partitionen vorhanden sein. Eine für das Rootfs und eine für den Bootloader. Das Dateisystem für die Partition des Bootloaders zeigt immer Unbekannt an. In diesem Fall die Partition sdd2

Also um den Bootloader auf die SD Karte zu kopieren, müsste man bei dieser SD Karte im Bild, wie folgt vorgehen:

sudo dd if=/dev/zero of=/dev/sdd2
sudo dd if=apex.bin of=/dev/sdd2
In anderen Sprachen