Overo emulation in qemu
From Gumstix User Wiki
Revision as of 10:06, 22 November 2011 by Trevor Woerner (Talk | contribs) (update to include general purpose qemu image generating script)
Contents
Ash Charles has been working with Riku from the Qemu-linaro team to get support for the Overo hardware working in Qemu!
Pre-Compiled Images
Here are Ash's steps for working with pre-compiled images:
- binary executable for qemu available here (for x86_64):
- http://dl.dropbox.com/u/211887/qemu-system-arm
- MD5:c375b7d0338e3e8cd7009e69f3aaae74
- overo angstrom image with a kernel, MLO, u-boot packed:
- http://dl.dropbox.com/u/211887/overo.img.gz
- MD5:3545dbd2e7ffac3d352a7bc9e92373bf
- download, gunzip the overo.img.gz and run with:
# ./qemu-system-arm -M overo -m 256 -sd ./overo.img -clock unix -serial stdio
- (mouse & keyboard don't work currently but the console session is usable)
From Sources
- build your overo image using bitbake/OE as usual:
$ cd $OVEROTOP
$ bitbake omap3-console-image
- build the MLO program:
$ bitbake x-load
- get the sources for and build qemu with overo support:
$ cd $OVEROTOP
$ git clone git://git.linaro.org/qemu/qemu-linaro.git
$ cd qemu
$ ./configure --prefix=$OVEROTOP/local --target-list=arm-softmmu
$ make install
$ export PATH=$OVEROTOP/local/bin:$PATH
- there are numerous ways to generate the qemu image file:
# export OEDONE=$OETMP/deploy/glibc/images/overo
- Ash Charles wrote a script specifically for generating Overo qemu images:
# assemble-image.sh $OVEROTOP/overo.img $OEDONE/MLO-overo $OEDONE/u-boot-overo.bin $OEDONE/uImage-overo.bin $OEDONE/omap3-console-image-overo.tar.bz2
- or using a more general-purpose script for generating qemu images which includes support for Overo:
# mkqemuimg.sh --partpercents 5 --format ",mkfs.ext3" --bootarm "$OEDONE/MLO-overo,$OEDONE/u-boot-overo.bin,$OEDONE/uImage-overo.bin" 1073741824 $OVEROTOP/overo.img ",$OEDONE/omap3-console-image-overo.tar.bz2"
- then run the image under qemu:
- <code># qemu-system-arm -M overo -m 256 -sd $OVEROTOP/overo.img -clock unix -serial stdio -net user -device usb-kbd -device usb-mouse