[Buildroot] Teil 2: Software – Konfiguration
- Buildroot Programmierung Tutorial
- gepostet am 28.Juni 2022
Vorheriger Artikel: [Buildroot] Teil 1: Embedded Linux
Generell müssen wir zwischen den Kernel-Funktionalitäten und der Software, mit der man dann auf die Funktionen zugreift, unterscheiden.
Deaktiviert man zum Beispiel den Sound im Kernel, so gibt es keine Sound-Unterstützung, auch wenn die Software dafür auf dem System vorhanden ist.
In diesem Beitrag wollen wir mal ein paar einfache Softwareanpassungen vornehmen – der Kernel kommt dann später dran.
Konfigurationsdatei .config
Die zuvor geladene Konfigurationsdatei [...]_defconfig
wurde im letzten Artikel mit make [...]_defconfig
in die Datei .config
geladen und dort werden auch die Änderungen vorgenommen.
Diese Änderungen kann man per Hand machen und danach den Kompiliervorgang starten. Es ist jedoch nicht so einfach, welche Einstellungen gesetzt werden müssen. Für bestimmte bestimmte Funktionen werden teilweise auch verschiedene Werte gesetzt.
menuconfig
Eine Hilfe bei der Konfiguration ist das Tool menuconfig
.
$ make menuconfig
Mit diesem Konfigurationstool können sehr viele Software-Anpassungen vorgenommen werden und es setzt die entsprechenden Werte in der .config
Datei. Wenn zum Beispiel der Editor nano oder Python mit in die Linux-Version kompiliert werden sollen, so sind auch direkt entsprechende Module hinterlegt die angeben, woher die Pakete geladen werden sollen und wohin sie kopiert werden müssen.
In der Default-Config hat das System den Hostname buildroot
und keinen Texteditor. Das wollen wir nun ändern.
Hostname und Begrüßung
Unter System configuration
und System hostname
bzw. System banner
kann der Hostname und der Begrüßungstext geändert werden.
Die Änderung wird nach dem Speichern entsprechend auch in der .config Datei sichtbar.
Root Passwort
Das Root-Passwort kann ebenfalls unter System configuration
gesetzt werden.
Texteditor nano
Der Texteditor nano
kann unter Target packages
/ Text editors and viewers
ausgewählt werden.
Manchmal haben Pakete oder Optionen auch Abhängigkeiten. menuconfig
zeigt diese Abhängigkeiten dann auch an. In diesem Falle ist nano
von WCHAR
abhängig, das unter toolchain
ausgewählt werden kann.
Nach Auswahl von WCHAR
ist nano
dann verfügbar.
In der .config
Datei sind die zugehörigen Werte nun entsprechend gesetzt.
Diese kleine Änderung soll stellvertretend für all die Änderungen stehen, die am Linux-System vorgenommen werden können.
Im Anschluss wird der Kompiliervorgang gestartet.
$ make -j8
Build Error
Hin und wieder kann es zu Fehlern beim Kompiliervorgang kommen.
Abhilfte schafft hier ein Clean Build
$ make clean
$ make -j8
Custom
Das nun kompilierte Linux startet mit den entsprechenden Änderungen. und der Texteditor nano
ist ebenfalls an Board.
Nächster Teil: [Buildroot] Teil 3: Ordnerstruktur