Wenn du jemals ein Linux-System für ein STM32MP157 Evalboard aufsetzen wolltest, bist du hier genau richtig! Diese Anleitung zeigt dir, wie du mit Buildroot schnell und effizient eine lauffähige Linux-Distribution erstellst – so schnell, dass du in kürzester Zeit ein einfaches helloWorld.sh Skript ausführen kannst.

Warum Buildroot und STM32MP157?
Buildroot ist ein leichtgewichtiges Tool, das speziell dafür entwickelt wurde, Embedded-Linux-Systeme schnell und einfach zu erstellen. In Kombination mit dem STM32MP157, einem leistungsstarken Evalboard, kannst du eine minimalistische, stabile und anpassbare Linux-Distribution aufsetzen – ohne dabei in der Komplexität von Yocto oder anderen Tools zu versinken.
Kurz gesagt: Für Einsteiger, die schnell Ergebnisse sehen wollen, ist dies die ideale Lösung.
Was brauchst du?
- Ein STM32MP157 Evalboard (Ich verwende das STM32MP157F-DK2).
- Einen PC mit Linux (Ich verwende Xubuntu).
- MicroSD-Karte (mindestens 8 GB)
- Micro-USB-Kabel
- Externes Netzteil
- Internetzugang
Schritt 1: Installiere die notwendigen Tools
Auf deinem Linux-PC müssen einige Pakete installiert sein. Öffne ein Terminal und führe die folgenden Befehle aus:
sudo apt update
sudo apt install -y build-essential git wget cpio unzip python3
Zusätzlich empfehle ich, make und gcc in der neuesten Version zu verwenden, um Kompatibilitätsprobleme zu vermeiden.
$ make --version
GNU Make 4.3
$ gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Schritt 2: Lade Buildroot herunter
Bevor wir nun Buildroot herunterladen, macht es noch Sinn kurz einen Blick in die Doku zu werfen: https://buildroot.org/docs.html
Nun wechsel in ein Verzeichnis deiner Wahl und klone das Buildroot-Repository:
git clone https://gitlab.com/buildroot.org/buildroot.git
cd buildroot
git checkout 2024.02.8
Oder lade die neueste stabile Version direkt herunter:
wget https://buildroot.org/downloads/buildroot-<version>.tar.gz
tar -xzf buildroot-<version>.tar.gz
cd buildroot-<version>
Schritt 3: Konfiguriere Buildroot für das STM32MP157
Bevor wir mit dem Konfigurieren starten, lass uns kurz ins Buildroot Verzeichniss schauen:
Buildroot heruntergeladen und nun?
Buildroot macht es dir leicht, da es für viele Boards bereits vordefinierte Konfigurationen gibt. Für das STM32MP157 gibt es ein vorkonfiguriertes Skript:
$ make stm32mp157c_dk2_defconfig
#
# configuration written to /home/marcel/development/tmp/buildroot/buildroot/.config
#
Dieser Befehl legt die grundlegenden Einstellungen für dein Board fest.
Schritt 4: Passe die Konfiguration an
Jetzt kannst du die Konfiguration weiter anpassen. Führe dazu das Buildroot-Konfigurationstool aus:
make menuconfig
Da wir ein minimales System bauen, müssen wir an der Konfiguration nichts ändern. Du kannst aber folgendes überprüfen:
- Toolchain: Stelle sicher, dass die passende Toolchain ausgewählt ist (normalerweise ARM Cortex-A7 kompatibel).
- Filesystem: Ist das Root-Filesystem als ext4 konfiguriert.
- Zusätzliche Pakete: Suche nach
BusyBoxund stelle sicher, dass es aktiviert ist.
Speichere ggf. die Änderungen und verlasse das Menü.
Schritt 5: Baue dein Linux-System
Jetzt kommt der spannende Teil: der Build-Prozess.
make
Dieser Prozess kann je nach Systemleistung einige Minuten dauern.
Am Ende erhältst du alle benötigten Dateien, inklusive eines Linux-Kernels und eines Root-Filesystems. Zudem das für uns notwendige SD-Karten Image sdcard.img.
Schritt 6: Flashe dein Image auf das Board
Das fertige Images kannst du über eine SD-Karte auf das STM32MP157 laden. Dazu kopiere die Dateie wie folgt:
sudo dd if=output/images/sdcard.img of=/dev/mmcblk0 bs=1M
Hinweis: Überprüfe mit lsblk ob die SD-Karte vom Hostsystem erkannt wurde und unmounte sie ggf. mit umount
Schritt 7: Hello World auf deinem STM32MP157
Jetzt wollen wir nun unser helloWorld.sh Skript erstellen und testen
$ echo '#!/bin/sh' >> helloWorld.sh
$ echo 'echo "Hello World"' >> helloWorld.sh
$ chmod 755 helloWorld.sh
$ ./helloWorld.sh
Hello World
Cool, das Linux-System ist aufgesetzt und das Skript kann ausgeführt werden.
Warum ist das die schnellste Methode?
Mit Buildroot sparst du dir stundenlange Konfigurationsarbeit, da es für das STM32MP157 bereits optimierte Einstellungen gibt. Der einfache Workflow macht es besonders einsteigerfreundlich – und trotzdem flexibel genug für fortgeschrittene Anpassungen.

Schreiben Sie einen Kommentar