Das tatsächliche Laufzeitverhalten unterscheidet sich also, abhängig vom Anwendungsfall, von dem auf einem echten Gerät. Im Zweifel behilft sich der Image-Bastler damit, die gewünschten Kommandos in einem Initskript zusammenzufassen, welches das System beim ersten Booten des Image abarbeitet und das sich dann selbst löscht.
Theorie und Praxis
Bereitstellung und Pflege eines Image sind relativ aufwändig, und gewöhnlich will der Entwickler ja in erster Linie, dass die eigene Software läuft. Wer ein von der Community betreutes Image für das Gerät verwendet, muss dieses nicht ständig an neue Entwicklungen auf dem Raspberry Pi selbst anpassen. Gemeinschaft 5 verwendet aus diesem Grund das originale Debian-Image.
Das Erstellen der ISO-Dateien auf dem Gerät übernehmen eigens entwickelte Hook-Skripte, die in Debian Live laufen, aber unabhängig von der CPU-Architektur funktionieren. Damit diese Hook-Skripte auch auf dem Raspberry Pi laufen, erzeugen wieder andere Skripte eine Systemumgebung, die der von Debian Live entspricht. Später aktualisiert eine dritte Variante von Skripten die Software über Apt-get- oder Git-Repositories.
Lediglich das Bauen eines Image mit neu angepassten Skripten dauert nun noch fünf bis sechs Stunden, was über Nacht passieren kann. Steht das Grundgerüst aber erst mal, sind Anpassungen und Erweiterungen schnell erledigt. Gekoppelt mit einem Git-Repository und Jenkins CI entsteht sogar eine kontinuierliche Integrations- und Buildumgebung.
Infos
- Jenkins CI: http://jenkins-ci.org
- Qemu: http://wiki.qemu.org
- Raspberry-Pi-Image mounten: https://github.com/amooma/GPiBE/blob/master/tools/mnt-pi-img.sh
- Gemeinschaft 5: http://amooma.de/gemeinschaft/gs5

