1,381
edits
Changes
From IGEP - ISEE Wiki
QEMU
,→Board Emulation
= '''QEMU on IGEP Boards''' =
[http://wiki.qemu.org/Main_Page '''QEMU'''] is a [http://en.wikipedia.org/wiki/Central_processing_unit processor] [http://en.wikipedia.org/wiki/Emulator generic and open source machine emulator] that relies on dynamic [http://en.wikipedia.org/wiki/Binary_translation binary translation] to achieve a reasonable speed while being easy to port on new host CPU architecturesand virtualizer.
== 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> -m : Memory assigned to the Virtualized board in Mega Bytes. [[Image:QEMU boot.png|thumb|center]] == Tips == === Resize Rootfs Partition === We will resize our rootfs partition adding 1 GB at end.
First we create a new raw file using qemu-img as: <pre>$ cd qemu-linaro img create -f raw addon.raw 1G </pre> With addon.raw we concatenate it at end of our image file as: <pre>$ cat addon.raw >> igep-nano.img </pre> Next step it's modify the partition table information. We will use cfdisk utility for modify the information. <pre>$ sudo cfdisk igep-nano.img </pre> Next step it's select your rootfs partition as this picture shows
$ make sudo e2fsck -f /dev/loop0