Workshop Cross Toolchain für GNU/Linux


Details
Der Workshop ist ein Modul der Embedded Linux Deep Insight bbv Academy (https://bbv.ch/de/bbv-academy/course/58454253/embedded-linux-deep-insight.html).
## Lernziele
- Kennen der Komponenten einer Toolchain: Tools (Compiler, Linker, ...), sysroot (Header, Libraries, ...)
- Kennen der wichtigsten Optionen einer Cross-Toolchain: CPU Architektur, ABI, C-Library
- Wissen, woher man eine Cross Toolchain bekommt
- Wissen, wie Applikation und Libraries zusammenspielen^[Es ist noch nicht klar, ob die kursiven Teile behandelt werden können]
- Wissen, wie Buildsysteme mit der Cross Toolchain zusammenarbeiten
- Kennen der Schwierigkeiten beim Cross-Compilieren (eigener Code und FLOSS)
## Inhalt
Im Theorie-Teil wird erläutert, was eine Cross Toolchain ist und wieso man diese benötigt.
Die Bestandteile einer Cross Toolchain werden erklärt.
Es wird vermittelt, woher man eine Cross Toolchain bekommt und wo die Schwierigkeiten beim selber bauen liegen.
Das Lab beginnt mit dem bauen einer eigenen Cross Toolchain mit crosstool-ng.
Für die wichtigsten Einstellungen der Cross Toolchain diskutieren wir die verschiedenen Optionen.
Die neu gebaute Cross Toolchain werden wir untersuchen und ergründen, wieso die verschiedenen Artefakte erstellt wurden.
Mit der Cross Toolchain Cross-Kompilieren wir nun eine einfache Applikation.
Weiter erstellen wir eine Library welche wir aus der Applikation benutzen.
Wir benutzen ein Build System wie make, cmake oder qmake um die Applikation zu bauen.
## Voraussetzungen
- Erste GNU/Linux Erfahrungen (die Teilnehmer sollten sich auf der Kommandozeile zurecht finden)
- Minimale C++ Kenntnisse
- Laptop mit aktueller Debian basierter GNU/Linux Distribution (für andere Distributionen kann keine Hilfe angeboten werden; Es werden Memory-Sticks mit Ubuntu zur Verfügung gestellt)
Eintreffen ist ab 18:15 Uhr, wir beginnen um 18:45 Uhr.
Es gibt verschiedene Präsentationen von und für Embedded GNU/Linux Entwickler.

Workshop Cross Toolchain für GNU/Linux