1,381
edits
Changes
From IGEP - ISEE Wiki
QEMU
,→Board Emulation
= '''QEMU on IGEP Boards''' =
[http://wiki.qemu.org/Main_Page '''QEMU'''] is a generic and open source machine emulator and virtualizer.
When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performance.
When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. QEMU supports virtualization when executing under the Xen hypervisor or using the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, server and embedded PowerPC, and S390 guests.
QEMU documentation can be found [http://wiki.qemu.org/Manual here].<br>
== Build QEMU with IGEP support ==
$ [http://git.linaro.org/gitweb?p=qemu/qemu-linaro.git;a=summary git clone git://git.linaro.org/qemu/qemu-linaro.git]
Download IGEP support patch for QEMU from this [http://downloadswww.igepisee.esbiz/QEMUcomponent/zoo/item/0001qemu-IGEP_QEMU_support.path emulator link ]and after that apply the patch as: <pre>$ cd qemu-linaro $ patch -p1 < 0001-IGEP_QEMU_support.path</pre> Configure the sources for build with this command: <pre>$ ./configure --target-list=arm-softmmu --prefix=/opt/qemu-linaro</pre> Build the sources: <pre>$ make </pre> Install QEMU: <pre>$ make install</pre> Optionally you can download from [http://www.isee.biz/component/zoo/item/qemu-emulator here] the QEMU binaries, we suggest install it under /opt directory with the right user execution permissions.<br> == Board Emulation == Go to your qemu install directory.<br> <pre>$ cd /opt/qemu-linaro/bin</pre> We provide a QEMU ready image based on Ubuntu/Linaro Nano (Oneric 11.11) image, it can be download from [http://www.isee.biz/component/zoo/item/qemu-emulator here] (first uncompress it).<br> The image has 2 partitions (you can see the partitions using fdisk -ul command as: fdisk -ul igep-nano.img)<br> Device Boot Start End Blocks Id System<br> igep-nano.img1 * 63 106494 53232 c FAT32 LBA (Boot)<br> igep-nano.img2 106496 1048575 470016 83 Linux (Root filesystem)<br> Optionally you can mount the partitions in you host PC and modify the content as:<br> <pre>First Partition: $ mount -o loop,offset=$[63*512] igep-nano.img /mnt/tmp</pre><pre>Second Partition: $ mount -o loop,offset=$[106496*512] igep-nano.img /mnt/tmp</pre> Now you're ready for execute the emulator in a console with this command:<br> <pre>qemu-system-arm -M igep -m 512 -clock unix -serial stdio -drive file=igep-nano.img,if=sd,cache=writeback -usb -monitor telnet:localhost:7100,server,nowait,nodelay -device usb-kbd -device usb-mouse</pre> Parameters:<br>
$ make sudo e2fsck -f /dev/loop0