Linux is running on qemu-omap3

Dec 15th, 2008 | Posted by yajin | Filed under OMAP, emulation

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 http://qemu-omap3.googlecode.com/svn/tags/v0.01 qemu-omap3

Or you can download it from http://qemu-omap3.googlecode.com/files/qemu-omap3-v0.01.tar.bz2 .

2. make qemu-omap3

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

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
wget http://qemu-omap3.googlecode.com/files/image-v0.01.tar.bz2
tar jxvf image-v0.01.tar.bz2

4. download the rootfs from beagle board site.

wget http://beagleboard.googlecode.com/files/rd-ext2-8M.bin

5. make nand flash image

cd qemu-omap3/arm-softmmu
cp ../bb_nandflash.sh .
cp ../bb_nandflash_ecc .
./bb_nandflash.sh x-load.bin.ift beagle-nand.bin x-loader
./bb_nandflash.sh u-boot.bin beagle-nand.bin u-boot
./bb_nandflash.sh uImage beagle-nand.bin kernel
./bb_nandflash.sh 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:
Ctrl-Alt-f
Toggle full screen
Ctrl-Alt-n
Switch to virtual console 'n'. Standard console mappings are:
1
Target system display
2
Monitor
3
Serial port
Ctrl-Alt
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 beagleboard.org # nand read 0x80000000 0x280000 0x400000
NAND read: device 0 offset 0x280000, size 0x400000
4194304 bytes read: OK
OMAP3 beagleboard.org # nand read 0x81600000 0x680000 0x800000
NAND read: device 0 offset 0x680000, size 0x800000
8388608 bytes read: OK
OMAP3 beagleboard.org # setenv bootargs 'console=ttyS2,115200n8 ramdisk_size=8192 root=/dev/ram0 rw rootfstype=ext2 initrd=0x81600000,8M nohz=0ff'
OMAP3 beagleboard.org # bootm 0x80000000

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

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 for more information. I do not know whether the steps in this artilcle can be used in the new version of qemu-omap3.

  1. satheesh babu
    Dec 17th, 2008 at 18:46
    Reply | Quote | #1

    I am unable to do a checkout of the omap3 directory for getting the source code to build it. SVN returns an error that PROPFIND could not connect to the server. But, i can see the dir and its contents on the web site. Do u have a tar zipped copy of this source dir which i can copy through my browser?

    thanks
    satheesh

  2. yajin
    Dec 17th, 2008 at 20:07
    Reply | Quote | #2

    Hi satheesh, You can download it from http://qemu-omap3.googlecode.com/files/qemu-omap3-v0.01.tar.bz2 . Thanks.

  3. Badarinarayan
    Dec 17th, 2008 at 23:36
    Reply | Quote | #3

    Hi,
    I am using ubuntu host machine for this purpose.
    I'm getting some error while launching
    ./qemu-system-arm -M beagle -mtdblock beagle-nand.bin -nographic

    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    Segmentation fault

    All other steps worked flaw-less but while launching I'm getting this error

  4. yajin
    Dec 18th, 2008 at 11:14
    Reply | Quote | #4

    @Badarinarayan
    Hi Badarinarayan, that's because script bb_nandflash.sh is not compatible with ubuntu dash. Two tips for resolving this problem. You can try ANY of these.

    1. dpkg-reconfigure dash
    choose Install dash as /bin/sh? with NO.

    2. change bb_nandflash.sh
    #! /bin/sh
    ->
    #! /bin/bash

    Wish it helps you.

  5. satheesh babu
    Dec 18th, 2008 at 17:36
    Reply | Quote | #5

    hi yajin,
    I am able to build and run the qemu-arm-system exec, but on Linux boot up, the processs hangs. I tried 3 times - in the first attempt it hung with a kernel panic and in the next two attempts it hangs after few "block prints"related to "omap3_cm_dp114_update". Following is the full log (sorry for pasting it here as i can't find an option to attach a file!). Any info to debug this would be very helpful. I compiled qemu using gcc ver 4.1.1 on Fedora.
    OMAP3 beagleboard.org # setenv bootargs 'console=ttys2,115200n8 ramdisk_size=
    2 root=/dev/ram0 rw rootfstype=ext2 initrd=0x81600000,3M'
    OMAP3 beagleboard.org # printenv
    bootcmd=
    stdin=serial
    stdout=serial
    stderr=serial
    bootargs=console=ttys2,115200n8 ramdisk_size=3072 root=/dev/ram0 rw rootfstyp
    xt2 initrd=0x81600000,3M

    Environment size: 155/131068 bytes
    OMAP3 beagleboard.org # bootm 0x80000000
    ## Booting kernel from Legacy Image at 80000000 ...
    Image Name: Linux-2.6.28-rc6-omap1
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 1598048 Bytes = 1.5 MB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
    OK

    Starting kernel ...

    smc 80e80414 insn 1600070
    Uncompressing Linux..........................................................
    .......................................... done, booting the kernel.
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    omap_gpio_module_write: Read-only register 0x49058000
    omap_dma4_write: Read-only register 0x480560b4
    omap_dma4_write: Read-only register 0x480560b8
    omap_dma4_write: Read-only register 0x480560bc
    omap_dma4_write: Read-only register 0x480560c0
    omap_dma4_write: Read-only register 0x48056114
    omap_dma4_write: Read-only register 0x48056118
    omap_dma4_write: Read-only register 0x4805611c
    omap_dma4_write: Read-only register 0x48056120
    omap_dma4_write: Read-only register 0x48056174
    omap_dma4_write: Read-only register 0x48056178
    omap_dma4_write: Read-only register 0x4805617c
    omap_dma4_write: Read-only register 0x48056180
    omap_dma4_write: Read-only register 0x480561d4
    omap_dma4_write: Read-only register 0x480561d8
    omap_dma4_write: Read-only register 0x480561dc
    omap_dma4_write: Read-only register 0x480561e0
    omap_dma4_write: Read-only register 0x48056234
    omap_dma4_write: Read-only register 0x48056238
    omap_dma4_write: Read-only register 0x4805623c
    omap_dma4_write: Read-only register 0x48056240
    omap_dma4_write: Read-only register 0x48056294
    omap_dma4_write: Read-only register 0x48056298
    omap_dma4_write: Read-only register 0x4805629c
    omap_dma4_write: Read-only register 0x480562a0
    omap_dma4_write: Read-only register 0x480562f4
    omap_dma4_write: Read-only register 0x480562f8
    omap_dma4_write: Read-only register 0x480562fc
    omap_dma4_write: Read-only register 0x48056300
    omap_dma4_write: Read-only register 0x48056354
    omap_dma4_write: Read-only register 0x48056358
    omap_dma4_write: Read-only register 0x4805635c
    omap_dma4_write: Read-only register 0x48056360
    omap_dma4_write: Read-only register 0x480563b4
    omap_dma4_write: Read-only register 0x480563b8
    omap_dma4_write: Read-only register 0x480563bc
    omap_dma4_write: Read-only register 0x480563c0
    omap_dma4_write: Read-only register 0x48056414
    omap_dma4_write: Read-only register 0x48056418
    omap_dma4_write: Read-only register 0x4805641c
    omap_dma4_write: Read-only register 0x48056420
    omap_dma4_write: Read-only register 0x48056474
    omap_dma4_write: Read-only register 0x48056478
    omap_dma4_write: Read-only register 0x4805647c
    omap_dma4_write: Read-only register 0x48056480
    omap_dma4_write: Read-only register 0x480564d4
    omap_dma4_write: Read-only register 0x480564d8
    omap_dma4_write: Read-only register 0x480564dc
    omap_dma4_write: Read-only register 0x480564e0
    omap_dma4_write: Read-only register 0x48056534
    omap_dma4_write: Read-only register 0x48056538
    omap_dma4_write: Read-only register 0x4805653c
    omap_dma4_write: Read-only register 0x48056540
    omap_dma4_write: Read-only register 0x48056594
    omap_dma4_write: Read-only register 0x48056598
    omap_dma4_write: Read-only register 0x4805659c
    omap_dma4_write: Read-only register 0x480565a0
    omap_dma4_write: Read-only register 0x480565f4
    omap_dma4_write: Read-only register 0x480565f8
    omap_dma4_write: Read-only register 0x480565fc
    omap_dma4_write: Read-only register 0x48056600
    omap_dma4_write: Read-only register 0x48056654
    omap_dma4_write: Read-only register 0x48056658
    omap_dma4_write: Read-only register 0x4805665c
    omap_dma4_write: Read-only register 0x48056660
    omap_dma4_write: Read-only register 0x480566b4
    omap_dma4_write: Read-only register 0x480566b8
    omap_dma4_write: Read-only register 0x480566bc
    omap_dma4_write: Read-only register 0x480566c0
    omap_dma4_write: Read-only register 0x48056714
    omap_dma4_write: Read-only register 0x48056718
    omap_dma4_write: Read-only register 0x4805671c
    omap_dma4_write: Read-only register 0x48056720
    omap_dma4_write: Read-only register 0x48056774
    omap_dma4_write: Read-only register 0x48056778
    omap_dma4_write: Read-only register 0x4805677c
    omap_dma4_write: Read-only register 0x48056780
    omap_dma4_write: Read-only register 0x480567d4
    omap_dma4_write: Read-only register 0x480567d8
    omap_dma4_write: Read-only register 0x480567dc
    omap_dma4_write: Read-only register 0x480567e0
    omap_dma4_write: Read-only register 0x48056834
    omap_dma4_write: Read-only register 0x48056838
    omap_dma4_write: Read-only register 0x4805683c
    omap_dma4_write: Read-only register 0x48056840
    omap_dma4_write: Read-only register 0x48056894
    omap_dma4_write: Read-only register 0x48056898
    omap_dma4_write: Read-only register 0x4805689c
    omap_dma4_write: Read-only register 0x480568a0
    omap_dma4_write: Read-only register 0x480568f4
    omap_dma4_write: Read-only register 0x480568f8
    omap_dma4_write: Read-only register 0x480568fc
    omap_dma4_write: Read-only register 0x48056900
    omap_dma4_write: Read-only register 0x48056954
    omap_dma4_write: Read-only register 0x48056958
    omap_dma4_write: Read-only register 0x4805695c
    omap_dma4_write: Read-only register 0x48056960
    omap_dma4_write: Read-only register 0x480569b4
    omap_dma4_write: Read-only register 0x480569b8
    omap_dma4_write: Read-only register 0x480569bc
    omap_dma4_write: Read-only register 0x480569c0
    omap_dma4_write: Read-only register 0x48056a14
    omap_dma4_write: Read-only register 0x48056a18
    omap_dma4_write: Read-only register 0x48056a1c
    omap_dma4_write: Read-only register 0x48056a20
    omap_dma4_write: Read-only register 0x48056a74
    omap_dma4_write: Read-only register 0x48056a78
    omap_dma4_write: Read-only register 0x48056a7c
    omap_dma4_write: Read-only register 0x48056a80
    omap_dma4_write: Read-only register 0x48056ad4
    omap_dma4_write: Read-only register 0x48056ad8
    omap_dma4_write: Read-only register 0x48056adc
    omap_dma4_write: Read-only register 0x48056ae0
    omap_dma4_write: Read-only register 0x48056b34
    omap_dma4_write: Read-only register 0x48056b38
    omap_dma4_write: Read-only register 0x48056b3c
    omap_dma4_write: Read-only register 0x48056b40
    omap_dma4_write: Read-only register 0x48056b94
    omap_dma4_write: Read-only register 0x48056b98
    omap_dma4_write: Read-only register 0x48056b9c
    omap_dma4_write: Read-only register 0x48056ba0
    omap_dma4_write: Read-only register 0x48056bf4
    omap_dma4_write: Read-only register 0x48056bf8
    omap_dma4_write: Read-only register 0x48056bfc
    omap_dma4_write: Read-only register 0x48056c00
    omap_dma4_write: Read-only register 0x48056c54
    omap_dma4_write: Read-only register 0x48056c58
    omap_dma4_write: Read-only register 0x48056c5c
    omap_dma4_write: Read-only register 0x48056c60
    omap_gpio_module_write: Read-only register 0x49058000
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    Unassigned mem writel 680050a0 = 0x402000b0 pc c0188a10
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update

  6. yajin
    Dec 18th, 2008 at 17:58
    Reply | Quote | #6

    @satheesh babu
    Hi satheesh,
    Firstly, I suggest you using gcc 3.4 to compile qemu.
    Secondly, the bootargs in u-boot is wrong.
    You must set bootargs as following:
    setenv bootargs 'console=ttyS2,115200n8 ramdisk_size=8192 root=/dev/ram0 rw rootfstype=ext2 initrd=0x81600000,8M nohz=0ff'
    Please notice initrd=0x81600000,8M not initrd=0x81600000,3M.

  7. satheesh babu
    Dec 18th, 2008 at 18:48
    Reply | Quote | #7

    @satheesh babu
    hi Yajin,
    Sorry for the trouble. Looks like the issue was related to a typo that i did with the bb_nandflash_ecc command. Now I am able to reach the Linux prompt. I want to check whether the network interface support has been added. Primarily, I am trying to see whether I can run tftp from QEMU-beagle and get my app executable from another PC and then run the executable. If its not ready yet, how can i run an app as of now? Do i need to rebuild the rootfs for Linux with my app in one of the directories?

    Great work from your side!

    thanks
    satheesh

  8. yajin
    Dec 18th, 2008 at 19:05
    Reply | Quote | #8

    The USB network emulation is not supported right now. So you can not use tftp to upload applications to rootfs. Currently, you should rebuild rootfs although it's boring......
    I am working on MMC/SD and USB emulation. After finishing, you could put applications into emulated SD card image or using usb net to upload your appliation.
    Thanks for your interest in qemu-omap3.

  9. satheesh babu
    Dec 19th, 2008 at 12:50
    Reply | Quote | #9

    @yajin
    Do you have the source for the busybox RD file system which you are using for qemu-omap3? I couldn't find the source code on Beagle Google site.
    Sorry for the repeated trouble!

    thank you
    satheesh

  10. satheesh babu
    Dec 19th, 2008 at 12:51

    Do you have the source code for the busybox RD file system you are using for qemu-omap3? I couldn't find it on Beagle's Google project site.
    Sorry for the repeated trouble!

    thank you
    satheesh

  11. yajin
    Dec 19th, 2008 at 14:25

    Sorry satheesh babu, ,I do not have the source code. I just download the image from beagle board site. You can ask at beagle board google group.

  12. Mark A. Yoder
    Jan 26th, 2009 at 12:06

    It works! I just followed your instructions and it worked.

    I did get the following errors when starting qemu:

    omap_venc_write: Bad register 0x48050c00
    omap_venc_write: Bad register 0x48050c04
    omap_venc_write: Bad register 0x48050c8c
    omap_venc_write: Bad register 0x48050c98
    omap_venc_write: Bad register 0x48050c9c
    omap_venc_write: Bad register 0x48050cac
    omap_venc_write: Bad register 0x48050cbc
    omap_venc_write: Bad register 0x48050cc0
    omap_diss_write: Bad register 0x48050044
    omap_diss_write: Bad register 0x48050048
    omap_diss_write: Read-only register 0x48050050
    omap_diss_write: Read-only register 0x48050058
    omap_disc_write: Bad register 0x48050414
    omap_disc_write: Bad register 0x480504a8

    I also got the following from the boot loader:

    ***** Warning - bad CRC or NAND, using default environment

    However, linux still booted up.

    Now, what's next? Can I fire up X windows?

    --Mark

  13. David Doscher
    Jan 27th, 2009 at 01:12

    Thanks for the qemu / omap3 info. I am able to get the OMAP3 system up using the instructions above.

    What I need to do is re-compile the kernel and bring the system back up. Can you provide me with information about how to rebuild the kernel ?

    I have an actual OMAP35x board and tried to restart the qemu/omap3 system using the default kernel from the system and with one I rebuilt. The qemu system will hang right after the kernel load (using bootm). Also, I have tried with a kernel I build from OpenEmbedded.org for OMAP.

    Basically, I just need to know where the source is for your original kernel and build instructions so I an reproduce it.

    Thanks,
    David

  14. Sofia
    Jan 27th, 2009 at 02:07

    Hi Yajin,

    I was trying to build the qemu...I am running into an error whenever I try to do a make for qemu-omap3...It gives me an error saying:

    make: *** No rule to make target `../libqemu_common.a', needed by `qemu-system-arm'. Stop

    -Sofia

  15. yajin
    Feb 3rd, 2009 at 13:40

    >What I need to do is re-compile the kernel and bring the system back up. Can you provide me with information about how to rebuild the kernel ?

    I use the kernel from http://www.beagleboard.org/uploads/2.6_kernel_revb-v2.tar.gz.

    make CROSS_COMPILE=arm-none-linux-gnueabi- distclean
    make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_defconfig

    And then diselect MMC/I2C/USB support in kernel. It may works.

  16. yajin
    Feb 3rd, 2009 at 13:42

    >Now, what's next? Can I fire up X windows?

    Hi Mark, not yet right now. Currently qemu-omap3 is not complete and many works need to be done first.

  17. Alisson
    Feb 5th, 2009 at 02:22

    Hi, I am trying to use the linux framebuffer driver with the beagle emulator. The driver is present in the kernel listed above. Moreover, when i write into the framebuffer device (/dev/fb0), it actually writes to the right physical memory space, but nothing appears on the display. I verified the OMAP display controller registers through the QEMU monitor and they seem to be well initialised. Where could be the problem?

  18. yajin
    Feb 6th, 2009 at 12:46

    Maybe the display controller emulation is not correct. You can add some debug information into qemu and see what has happened.......

  19. Alisson
    Feb 9th, 2009 at 17:37

    @yajin
    I found what could be a bug in the display controller emulation (hw/omap_dss.c). After the fix, i managed to install DirectFB and SDL on the ramdisk and to make them work.
    Thank you for the tip .

  20. xi_qh
    Mar 4th, 2009 at 14:25

    Hi yajin:
    I compile qemu and do everything in your user manual.
    But when I boot, qemu hang up at picture of beagle board.
    So I press ctrl+alt+3, and input
    "OMAP3 beagleboard.org # nand read 0x80000000 0x280000 0x400000
    OMAP3 beagleboard.org # nand read 0x81600000 0x680000 0x800000
    OMAP3 beagleboard.org # setenv bootargs 'console=ttyS2,115200n8 ramdisk_size=8192 root=/dev/ram0 rw rootfstype=ext2 initrd=0x81600000,8M nohz=0ff'
    OMAP3 beagleboard.org # bootm 0x80000000
    I can see the below
    Uncompressing Linux..........................................................
    .......................................... done, booting the kernel.
    Then system hang up.
    why?

  21. xi_qh
    Mar 4th, 2009 at 16:23

    this is my boot log:
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    smc 40200910 insn e1600070
    omap3_gp1_fclk 13000000
    omap3_gp10_fclk 32768
    omap3_gp11_fclk 32768
    omap3_gp10_fclk 32768
    omap3_gp11_fclk 32768
    omap3_gp10_fclk 32768
    omap3_gp11_fclk 32768
    omap3_gp10_fclk 32768
    omap3_gp11_fclk 32768
    omap3_gp1_fclk 13000000
    coreclk 332000000
    coreclk 332000000
    coreclk 332000000
    coreclk 332000000
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 96000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    omap3_gp2_fclk 13000000
    omap3_gp3_fclk 13000000
    omap3_gp4_fclk 13000000
    omap3_gp5_fclk 13000000
    omap3_gp6_fclk 13000000
    omap3_gp7_fclk 13000000
    omap3_gp8_fclk 13000000
    omap3_gp9_fclk 13000000
    omap3_gp1_fclk 13000000
    omap3_gp2_fclk 13000000
    omap3_gp3_fclk 13000000
    omap3_gp4_fclk 13000000
    omap3_gp5_fclk 13000000
    omap3_gp6_fclk 13000000
    omap3_gp7_fclk 13000000
    omap3_gp8_fclk 13000000
    omap3_gp9_fclk 13000000
    omap_sdrc_write: bad SDRAM idle mode 0
    omap_sdrc_write: bad SDRAM idle mode 0
    smc 80008414 insn 1600070
    omap3_gp1_fclk 13000000
    coreclk 332000000
    coreclk 332000000
    coreclk 332000000
    coreclk 332000000
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 96000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    omap3_gp2_fclk 13000000
    omap3_gp3_fclk 13000000
    omap3_gp4_fclk 13000000
    omap3_gp5_fclk 13000000
    omap3_gp6_fclk 13000000
    omap3_gp7_fclk 13000000
    omap3_gp8_fclk 13000000
    omap3_gp9_fclk 13000000
    omap3_gp1_fclk 13000000
    omap3_gp2_fclk 13000000
    omap3_gp3_fclk 13000000
    omap3_gp4_fclk 13000000
    omap3_gp5_fclk 13000000
    omap3_gp6_fclk 13000000
    omap3_gp7_fclk 13000000
    omap3_gp8_fclk 13000000
    omap3_gp9_fclk 13000000
    coreclk 332000000
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 96000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 96000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    omap_venc_write: Bad register 0x48050c0c
    omap_venc_write: Bad register 0x48050c18
    omap3_96m_fclk 96000000
    omap3_54m_fclk 54000000
    omap3_dss1_alwon_fclk 144000000
    omap3_cam_mclk 216000000
    omap3_per_alwon_clk 288000000
    omap3_48m_fclk 48000000
    omap3_12m_fclk 12000000
    omap3_cm_dpll4_update
    omap_venc_write: Bad register 0x48050c00
    omap_venc_write: Bad register 0x48050c04
    omap_venc_write: Bad register 0x48050c8c
    omap_venc_write: Bad register 0x48050c98
    omap_venc_write: Bad register 0x48050c9c
    omap_venc_write: Bad register 0x48050cac
    omap_venc_write: Bad register 0x48050cbc
    omap_venc_write: Bad register 0x48050cc0
    omap_diss_write: Bad register 0x48050044
    omap_diss_write: Bad register 0x48050048
    omap_diss_write: Read-only register 0x48050050
    omap_diss_write: Read-only register 0x48050058
    omap_disc_write: Bad register 0x48050414
    omap_disc_write: Bad register 0x480504a8

  22. Jack
    May 5th, 2009 at 22:53

    Hi all and congratulation for you work. Is it possible to add other components, like gcc or something else?

  23. Jack
    May 6th, 2009 at 22:00

    Another question: I've prepared a usb pen with a complete Angstrom and boot partition, is it possible to launch the entire system from USB emulating a complete boot? Thank you in advance

  24. yajin
    May 7th, 2009 at 16:29

    The guy at maemo has made great improvement in qemu omap3 emulation. Go to https://garage.maemo.org/scm/?group_id=877 for more information.

  25. olds
    Oct 7th, 2009 at 19:02

    @Badarinarayan
    I have the same problem.
    message as below: ( I can't fix it. )
    [root@localhost arm-softmmu]# ./qemu-system-arm -M beagle -mtdblock beagle-nand.bin -nographic
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    gptimer ckl 8000
    Illegal instruction

  26. prasanna reddy
    Nov 19th, 2009 at 20:05

    I had build beagledroid linux kernel with arm compiler. after executing bootm command... while booting linux kernel my qemu got crashed..... I could not find the problem...

    Can any one help me to debug linux kernel on eclipse IDE with qemu-Omap3 ?

    Thanks in advance

  27. Alejandro
    Feb 20th, 2010 at 11:11

    Hey Yajin very good work, I follow every step and it works nicely.
    I am running 64 bit Mandriva 2008.1 on a AMD 5600 with 4G of RAM
    Thank you very much!!

  28. Priyank Desai
    Feb 26th, 2010 at 13:17

    I tried emulating using different kernel images with beagleboard defconfigs...but none seems to work...even uImage downloaded from elinux.org/Beagleboard doesnt work. What can i do to make it work? Thanks.

  29. yajin
    Feb 27th, 2010 at 11:37

    H

    Priyank Desai :

    I tried emulating using different kernel images with beagleboard defconfigs...but none seems to work...even uImage downloaded from elinux.org/Beagleboard doesnt work. What can i do to make it work? Thanks.

    The emulation of beagle borad is not complete. It can only run the kernel from http://code.google.com/p/qemu-omap3/downloads/list. The guy at maemo has made great improvement in qemu omap3 emulation. Go to https://garage.maemo.org/scm/?group_id=877 for more information.