Home / LinuxUser / 2013 / 11 / Transparente Architektur-Emulation mit Qemu

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Eingebettet

Transparente Architektur-Emulation mit Qemu

Beeren pflücken

Um das Raspberry-Pi-Image an die eigenen Bedürfnisse anzupassen, mounten Sie es am besten mit einem kleinen Skript [3], das in diesem Beispiel aus der Portierung der quelloffenen Telefonanlage Gemeinschaft 5 [4] stammt:

# mnt-pi-img.sh 2013-02-09-wheezy-raspbian.img /mnt

Es berücksichtigt die zwei Partitionen, die das Image enthält: Eine FAT-Partition für den Bootbereich und eine Ext4-Systempartition. Zudem setzt es Loop-Mounts für /dev/pts, /sys sowie /proc und kopiert die Qemu-Emulatordatei an die richtige Stelle im Dateisystem, damit sie innerhalb der Chroot-Umgebung zur Verfügung steht. Sie sollten das Skript auch beim finalen Aushängen der Gerätedateien verwenden.

Mit dem Befehl sudo chroot /mnt wechseln Sie direkt in die Chroot-Umgebung. Hier nehmen Sie alle notwendigen Änderungen vor, zu denen unter anderem das Installieren und Deinstallieren von Paketen über apt-get, das Kompilieren von Software und das Anpassen der Konfiguration gehören (Abbildung 1). Es ist in der Tat fast so, als würde man tatsächlich auf einem Raspberry Pi arbeiten. Nur Dienste, die man starten muss, um sie zu konfigurieren (etwa MySQL), lassen sich in dieser Umgebung schwieriger handhaben. Läuft ein ähnlicher Netzwerkdienst mit gleichem Port bereits auf dem Hostsystem, lässt er sich nicht ein zweites Mal starten.

Abbildung 1

Abbildung 1: In mehreren Schritten erstellen Sie aus einem Debian-Image für ARM ein angepasstes Image für den Raspberry Pi.

Das tatsächliche Laufzeitverhalten unterscheidet sich also, abhängig vom Anwendungsfall, von dem auf einem echten Gerät. Im Zweifel behilft sich der clevere Image-Bastler damit, die gewünschten Kommandos in einem Init-Skript zusammenzufassen, welches das System beim ersten Booten des Image abarbeitet und das sich dann selbst löscht.

Theorie und Praxis

Bereitstellung und Pflege eines Images sind relativ aufwendig, und gewöhnlich will man 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.

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 einmal, lassen sich Anpassungen und Erweiterungen schnell erledigen. In Kombination mit einem Git-Repository und Jenkins CI entsteht sogar eine kontinuierliche Integrations- und Build-Umgebung.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...