Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:linux:buildroot:start [2016-08-17 16:59] mgehrig2software:linux:buildroot:start [2022-09-21 09:16] (aktuell) Urs Graf
Zeile 1: Zeile 1:
 ====== Buildroot ====== ====== Buildroot ======
-<box green 30% right | Quick Links> +<box green 20% right | Quick Links> 
-{{ http://buildroot.uclibc.org/images/logo.png | Buildroot Logo }}+{{ http://buildroot.uclibc.org/images/logo.png?70 | Buildroot Logo }}
 ---- ----
   * [[http://buildroot.uclibc.org/ | Projektwebseite]]   * [[http://buildroot.uclibc.org/ | Projektwebseite]]
Zeile 8: Zeile 8:
  
  
-Buildroot ist ein Tool, um eingebettete Linux Systeme zu generieren. Es besteht aus Makefile, Patches und Skripts: Daraus werden Toolchain, Root-Filesystem, Kernel und Bootloader generiert. Es unterstützt die gängigsten CPU Architekturen (x86, ARM, PowerPC, ...) und viele Software-Pakete wie zum Beispiel: BusyBox, OpenSSH-Server, OpenCV, Qt, ...+Buildroot ist ein Tool, um eingebettete Linux-Systeme zu generieren. Es besteht aus Makefile, Patches und Skripts: Daraus werden Toolchain, Root-Filesystem, Kernel und Bootloader generiert. Es unterstützt die gängigsten CPU Architekturen (x86, ARM, PowerPC, ...) und viele Software-Pakete wie zum Beispiel: BusyBox, OpenSSH-Server, OpenCV, Qt, ...
  
 Der Vorteil von Buildroot ist, dass sehr kleine Images erzeugt werden können und dass die Konfiguration relativ einfach ist. Alle Einstellungen könne bei Bildroot graphisch (menuconfig) konfiguriert werden. Der Vorteil von Buildroot ist, dass sehr kleine Images erzeugt werden können und dass die Konfiguration relativ einfach ist. Alle Einstellungen könne bei Bildroot graphisch (menuconfig) konfiguriert werden.
  
 +----
  
-=== Beispiel =========================================================+**[[.:buildrootsystemerstellen | Eigenes System mit Buildroot erstellen ]]**
  
-[[.:zoom:start | Buildroot auf dem Zoom Board]]+----
  
  
Zeile 47: Zeile 48:
  
  
- +==== Datum und Zeit setzen ====
-=== Download ===================================================== +
- +
-Ein Buildroot-Release kann von der Projektwebseite heruntergeladen werden oder mit Git: +
 <code> <code>
-git clone git://git.buildroot.net/buildroot+date -s "2016-08-17 16:56"
 </code> </code>
  
-Als erstes muss ein Release ausgewählt werden. Alle Releases können mit //git tag// angezeigt werden. Am besten macht man einen eigenen Branch, damit die Konfiguration gleich eingecheckt werden kann:+==== Toolchain ==== 
 +Je nach Architektur und verwendeter Hardware muss die passende Toolchain verwendet werden, siehe [[software:linux:buildroot:cross-toolchain|Toolchain für Buildroot]]
  
-<code> +=====Beispiele===== 
-$ git checkout -b work 2014.08 +  * [[software:linux:emdebian:phycore-mpc5200b|Installation von Emdebian Grip oder Buildroot-FS auf den Phytec phyCORE-MPC5200B]] 
-</code>+  * [[software:linux:buildroot:zoom:start|Buildroot auf dem ZOOM-Board]]
  
  
- 
-=== Konfiguration ===================================================== 
- 
-Alle Einstellungen werden über ein ncurses-UI gemacht: 
- 
-<code> 
-$ make menuconfig 
-</code> 
- 
-Unter //Build options// => //Download dir// kann der Ordner angegeben werden, in den alle heruntergeladenen Sourcen gespeichert werden. Das beschleunigt den Build und spart Speicherplatz, falls Buildroot für mehrere Boards oder für unterschiedliche Konfigurationen verwendet wird. 
- 
-Nachdem die Einstellungen gemacht wurden, kann alles, was von den Default-Werten abweicht in eine Datei gespeichert werden (//defconfig//): 
- 
-<code> 
-$ make savedefconfig 
-</code> 
- 
-Sobald man mit den Einstellung zufrieden ist, kann man das File //defconfig// nach //config/<boardname>_defconfig// verschieben und in Git aufnehmen. Eine solche Konfiguration wird folgendermassen geladen: 
- 
-<code> 
-$ make <boardname>_defconfig 
-</code> 
- 
- 
-=== Build ===================================================== 
- 
-Der Kompiliervorgang wird mit //make// gestartet. Die Parallelisierungsoption darf hier **nicht** verwendet werden (<del>make -j8</del>): 
- 
-<code> 
-$ make 
-</code> 
- 
-Die Ausgabe befindes sich im Ordner //output//. 
- 
-==== Datum und Zeit setzen ==== 
-<code> 
-$ date -s "2016-08-17 16:56 
-</code>