Embedded Systeme haben nämlich nicht unbedingt Standard Intel-Prozessor, sondern arbeiten oft mit einem ARM (wie beispielsweise auch der Raspberry Pi), einem PowerPC oder einem stromsparenden Prozessor, der nur einen reduzierten Befehlssatz eines 386 oder 486 beherrscht.
Auf der Heimatseite http://buildroot.org/ steht ein gepacktes Tar-File zum Download bereit. Im Dateinamen ist auch immer Jahr und Monat der Entstehung kodiert.
tar xzf buildroot-xxxx.xx.tar.gzNach dem Entpacken der Datei steht eine Umgebung zur Verfügung, mit der das eigentliche Dateisystem erstellt wird. Der erste Schritt besteht also darin, das Zielsystem zu konfigurieren. Ähnlich wie bei der Kernelgenerierung wird mit dem Befehl make gearbeitet.
cd buildroot-2015-02 make menuconfigVermutlich muss zum weiteren Arbeiten erst das Entwicklungspaket für ncurses installiert werden. Auf einem Debian-System erfolgt dies mit den folgenden Befehlen:
su - # apt-get install ncurses-devNach diesem Aufruf erscheint ein Menü, in welchem das Zielsystem konfiguriert wird.
Mit den Cursortasten wechselt man, mit der Returntaste wechselt man in einen Unterbereich, dem man mit Exit wieder verlässt. Mit der Leertaste lassen sich Punkte an- und abwählen.
Im Bereich Kernel kann angewählt werden, dass mit dem Buildroot auch ein Kernel eingebunden werden kann. Dazu muss ein Defconfig name angegeben werden, beispielsweise i386 oder armel. Er gibt die Zielplattform an.
Unter den Linux Kernel Extensions kann auch der Patch für Realtime angewählt werden, der für viele embedded Systems wichtig ist.
In den Filesystem images sollte ext-Unterstützung angewählt werden.
Auch eine Bootloader-Unterstützung ist vorhanden.
Nach dem Verlassen der Hauptebene ist die Konfiguration beendet. Die Konfiguration ist wie bei der Kernel-Generierung in der Datei .config hinterlegt. Nun wird das System erstellt.
makeDas fertige Dateisystem befindet sich in einer Tar-Datei namens rootfs.tar im Unterverzeichnis output/images. Im nächsten Schritt wird ein Medium vorbereitet, das später zum Booten des embedded Systems verwendet werden soll. Das kann beispielsweise eine Flash-Speicherkarte sein. Nach der Partitionierung und erstellung des Dateisystems wird das Root-Filesystem des Mediums gemountet.
# mount /dev/sdb1 /mnt # cd /mnt # tar xf /home/arnold/buildroot/output/images/rootfs.tar