Freitag, 15. Juni 2012

Mit QEMU für Windows einen ARM Prozessor emulieren

Um das System für meinen RaspPi schon mal im Voraus konfigurieren zu können, habe ich das "raspberrypi-fedora-remix-14-r1.img" mal unter Windows emuliert.

Benutzt habe ich
Außerdem benötigt man natürlich das Raspberry Pi Fedora Remix image, welches hier: http://downloads.raspberrypi.org/download.php?file=/images/fedora/14/r1-06-03-2012/raspberrypi-fedora-remix-14-r1.img.gz herunter zu laden ist.

Ich habe eine QEMU-Version mit diversem Zubehör wie keymaps, netzwerktreiber, zImage 3.0.4 Kernel und dergleichen zusammengestellt, der hier (http://www.mediafire.com/?7q9j133nkeux32k) herunter zu laden ist. Das Archiv muss einfach nur entpackt werden. Zum Verzeichnis braucht man lediglich die "fedora.ext3"-Datei bzw. das "raspberrypi-fedora-remix-14-r1.img"-Image hinzu zu fügen und die enthaltende "run.bat" entsprechend anzupassen:
REM Start qemu on windows.
@ECHO OFF
SET SDL_VIDEODRIVER=windib
SET SDL_AUDIODRIVER=dsound
SET QEMU_AUDIO_DRV=dsound
SET QEMU_AUDIO_LOG_TO_MONITOR=0
qemu-system-arm -m 256 ^
 -hda fedora.ext3 ^
 -M versatilepb ^
 -kernel zImage ^
 -cpu arm1176 ^
 -append "root=/dev/sda" ^
 -serial stdio ^
 -redir tcp:2222::22 ^
 -net nic,model=ne2k_pci,vlan=0,name=eth0 ^
 -net user,vlan=0,net=192.168.16.233/24 ^
 -rtc base=2012-06-15 ^
 -k de 

Das Vergrößern bzw. Umwandeln des SD-Card-Images habe ich mittels Ubuntu in einer VirtualBox durchgeführt, da mir derzeit keine Windows mittel bekannt sind die so etwas adäquat durchführen. Dazu habe ich zunächst Ubuntu gebootet, und dann ein 3G großes file namens "fedora.ext3" aus /dev/zero erzeugt.

Anschließend das Filesystem erzeugt:


nun brauchen wir das fedora-SDCard Image, dazu den Ubuntu Filebrowser öffnen und "smb://{Host-System-Name}/d$/pfad" öffnen. Danach wird man aufgefordert sich am Host-System zu authentifizieren:
So angemeldet kann die datei nach Ubuntu kopiert werden und anschließend mittels "file" die Dateieigenschaften abgerufen werden um den Mountpoint zu berechnen:
Bildunterschrift hinzufügen
Der Startsektor der Partition 2 ist wie oben zu lesen 206848


im nächsten Schritt erzeugen wir zwei Verzeichnisse, z.B. "mnt" und "mnt2" und mounten das Image sowie die oben erstellte fedora.ext3 Partition auf die Folder um die Dateien aus dem Img in das ext3 fs zu kopieren:

  sudo mount -o loop,offset=$[206848*512] raspberrypi-fedora-remix-14-r1.img mnt
   sudo mount -o loop rootfs3G.ext3 mnt2
   sudo cp mnt/* mnt2 -a



dann noch fedora.ext3 auf's Windows Filesystem kopieren. Fertig


viel Spaß bei emulieren! :)