Linux is running on qemu-omap3

Linux is running on qemu-omap3

Update: 2010-02-20
I am too busy to do omap3 emulation these days. The guy at maemo has made great improvement in qemu omap3 emulation. Go to this page to get the latest qemu-omap3. But the latest version of qemu-omap3 does NOT have the script to create the nandflash. So use the script from the original one. Thanks.

Hi everyone, a good news for you. Linux in running successfully on qemu-omap3. Following is the screenshot.

However, MMC/USB/audio/LCD display/keyboard emulation are not ok . I will work on it.

In the following I will give you some informations of how to run qemu-omap3.

1. checkout qemu-omap3 from svn. Tag v0.01 is working.

svn checkout qemu-omap3

Or you can download it from .

2. make qemu-omap3

cd qemu-omap3
./configure --target-list=arm-softmmu

qemu-system-arm will be generated in directory qemu-omap3/arm-softmmu.

3. download the x-loader/u-boot/kernel image.

cd qemu-omap3/arm-softmmu
tar jxvf image-v0.01.tar.bz2

4. download the rootfs from beagle board site.


5. make nand flash image

cd qemu-omap3/arm-softmmu
cp ../ .
cp ../bb_nandflash_ecc .
./ x-load.bin.ift beagle-nand.bin x-loader
./ u-boot.bin beagle-nand.bin u-boot
./ uImage beagle-nand.bin kernel
./ rd-ext2-8M.bin  beagle-nand.bin  rootfs
./bb_nandflash_ecc beagle-nand.bin 0x0 0xe80000

6. run qemu-omap3

./qemu-system-arm -M beagle -mtdblock beagle-nand.bin

7. During the graphical emulation, you can use the following keys:

Toggle full screen
Switch to virtual console 'n'. Standard console mappings are:
Target system display
Serial port
Toggle mouse and keyboard grab.

Using Ctrl-Alt-3 to switch to beagle board serial port. You can see x-loader and u-boot booting message. When u-boot command line appears, type the following commands.

OMAP3 # nand read 0x80000000 0x280000 0x400000
NAND read: device 0 offset 0x280000, size 0x400000
4194304 bytes read: OK
OMAP3 # nand read 0x81600000 0x680000 0x800000
NAND read: device 0 offset 0x680000, size 0x800000
8388608 bytes read: OK
OMAP3 # setenv bootargs 'console=ttyS2,115200n8 ramdisk_size=8192 root=/dev/ram0 rw rootfstype=ext2 initrd=0x81600000,8M nohz=0ff'
OMAP3 # bootm 0x80000000

Linux will boot with some debug information of qemu-omap3. Enjoy it.

2008/12/15(YYYY/MM/DD) Category:QEMU,Linux
Tag: QEMU, OMAP3, beagle-board

blog comments powered by Disqus START Linux is running on qemu-omap3,/blog/2008/12/15/linux-is-running-on-qemu-omap3,2008/12/15,QEMU,Linux END