Openmoko auf Qemu aufsetzen: Difference between revisions

From
Jump to navigation Jump to search
No edit summary
(Netzwerkranbindung hinzugefügt)
Line 15: Line 15:


=== aktuelle Version ===
=== aktuelle Version ===

Es müssen erst einmal ein paar Anpassungen vorgenommen werden. In $OPENMOKODIR/setup-env muss $[OMDIR} auf "$OPENMOKODIR" gesetzt werden.
Außerdem muss in $OPENMOKODIR/openembedded/_MTN/options auf "$OPENMOKODIR/OE.mtn" gesetzt werden. Wenn man jetzt auch noch die richtigen
Pfade in bitbake-Fehlermeldungen sehen will, sollte man auch $OPENMOKODIR/bitbake/lib/bb/*.pyc löschen.


Die aktuelle Version der Quelltexte bekommt man mit make update. Danach sollte man mit make die aktuellen Images bauen können.
Die aktuelle Version der Quelltexte bekommt man mit make update. Danach sollte man mit make die aktuellen Images bauen können.
Line 25: Line 21:


Sobald man die Quellen unter /home/ploetz/openmoko z.B. per mount bereit gestellt hat, funktioniert ein Aufruf von make einwandfrei und
Sobald man die Quellen unter /home/ploetz/openmoko z.B. per mount bereit gestellt hat, funktioniert ein Aufruf von make einwandfrei und
erstell ein aktuelles Image.
erstellt ein aktuelles Image.

Für den Fall, dass man alles neu kompilieren möchte, müssen erst einmal ein paar Anpassungen vorgenommen werden. In $OPENMOKODIR/setup-env muss $[OMDIR} auf "$OPENMOKODIR" gesetzt werden.
Außerdem muss in $OPENMOKODIR/openembedded/_MTN/options auf "$OPENMOKODIR/OE.mtn" gesetzt werden. Wenn man jetzt auch noch die richtigen
Pfade in bitbake-Fehlermeldungen sehen will, sollte man auch $OPENMOKODIR/bitbake/lib/bb/*.pyc löschen.


=== Netzwerkverbindung zu Openmoko in Qemu aufbauen ===

Das Ganze funktioniert nach der Anleitung unter [http://wiki.openmoko.org/wiki/OpenMoko_under_QEMU#Setting_up_USB_connection]. In unserem Fall kann man allerdings das Kompilieren weglassen. Wichtig ist bloß, dass die Module cdc_ether und gadgetfs (Parameter ''default_uid=$MEINE_UID'') geladen sind. Und unter /dev/gadget das GadgetFS eingehängt wurde (andere Mountpoints funktionieren nicht). Danach startet man die Emulator mit den zusätzlichen Parametern ''-usb -usbgadget'' (falls nicht schon vorhanden). Jetzt wartet man ab bis das System vollständig gestart ist, wechselt dann mit Ctrl-Alt-2 zum Qemu-Monitor und führt dort "usb_add gadget:1" aus. Danach im Hostsytem noch ''ifconfig usb0 inet 192.168.0.200 netmask 255.255.255.0'' und damit sollte man das emulierte Gerät unter 192.168.0.202 erreichen können. Normales Login per SSH funktioniert, beim Versuch per SSHFS das Dateisystem zu mounten, wird die Verbindung aber abgebrochen.

Revision as of 15:12, 2 June 2007

Openmoko auf Qemu aufsetzen

Als aller erstes sollte man Henryks Tarball (2,5GB) ziehen und nach $OPENMOKODIR entpacken (dann ca. 9GB).

Version aus dem Tarball

Um das schon erstellte Image in Qemu per 'make run-qemu' zu nutzen, müssen zunächst die Links in '$OPENMOKODIR/build/qemu/openmoko' angepasst werden. Dazu einfach in diesem Verzeichnis

ln -sf ../../../openmoko/trunk/src/host/qemu-neo1973/openmoko
ln -sf ../../tmp/deploy/images/openmoko-devel-image-fic-gta01-20070521103704.rootfs.jffs2
ln -sf ../../tmp/deploy/images/u-boot-gta01bv4-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2041.bin
ln -sf ../../tmp/deploy/images/uImage-2.6-moko10-r0_0_2006_0-fic-gta01.bin

ausführen. Jetzt sollten alle nötigen Symlinks stimmen und man kann in $OPENMOKDIR per 'make run-qemu' den Emulator starten.

aktuelle Version

Die aktuelle Version der Quelltexte bekommt man mit make update. Danach sollte man mit make die aktuellen Images bauen können. Leider funktioniert das solange nicht, bis man entweder alles neu baut oder $OPENMOKODIR=/home/ploetz/openmoko ist, da sämtliche gecachten Dateien diesen Pfad enthalten.

Sobald man die Quellen unter /home/ploetz/openmoko z.B. per mount bereit gestellt hat, funktioniert ein Aufruf von make einwandfrei und erstellt ein aktuelles Image.

Für den Fall, dass man alles neu kompilieren möchte, müssen erst einmal ein paar Anpassungen vorgenommen werden. In $OPENMOKODIR/setup-env muss $[OMDIR} auf "$OPENMOKODIR" gesetzt werden. Außerdem muss in $OPENMOKODIR/openembedded/_MTN/options auf "$OPENMOKODIR/OE.mtn" gesetzt werden. Wenn man jetzt auch noch die richtigen Pfade in bitbake-Fehlermeldungen sehen will, sollte man auch $OPENMOKODIR/bitbake/lib/bb/*.pyc löschen.


Netzwerkverbindung zu Openmoko in Qemu aufbauen

Das Ganze funktioniert nach der Anleitung unter [1]. In unserem Fall kann man allerdings das Kompilieren weglassen. Wichtig ist bloß, dass die Module cdc_ether und gadgetfs (Parameter default_uid=$MEINE_UID) geladen sind. Und unter /dev/gadget das GadgetFS eingehängt wurde (andere Mountpoints funktionieren nicht). Danach startet man die Emulator mit den zusätzlichen Parametern -usb -usbgadget (falls nicht schon vorhanden). Jetzt wartet man ab bis das System vollständig gestart ist, wechselt dann mit Ctrl-Alt-2 zum Qemu-Monitor und führt dort "usb_add gadget:1" aus. Danach im Hostsytem noch ifconfig usb0 inet 192.168.0.200 netmask 255.255.255.0 und damit sollte man das emulierte Gerät unter 192.168.0.202 erreichen können. Normales Login per SSH funktioniert, beim Versuch per SSHFS das Dateisystem zu mounten, wird die Verbindung aber abgebrochen.