[MeeGo-dev] qemu: fatal: Trying to execute code outside RAM or ROM at 0x00018020
Toni Nikkanen
toni at tuug.fi
Tue Apr 6 10:28:50 CDT 2010
On Tue, Apr 06, 2010 at 04:44:29PM +0200, Belisko Marek wrote:
> Hi,
>
> I build my own image for meego and try to run it in qemu.
> Always get following error:
>
> ./qemu-system-arm -M n900 -mtdblock
> /home/open-nandra/Download/image_meego/meego-1.0-arm-n900-201004061454.img
> -serial stdio -clock unix
> VNC server running on `::1:5900'
> qemu: fatal: Trying to execute code outside RAM or ROM at 0x00018020
>
> R00=40014044 R01=00018020 R02=00000000 R03=00000000
> R04=00000000 R05=00000000 R06=00000000 R07=00000000
> R08=00000000 R09=00000000 R10=00000000 R11=00000000
> R12=00000000 R13=40205cb0 R14=00000000 R15=00018020
> PSR=400001d3 -Z-- A svc32
> Aborted
I can only offer a guess.
Last week when I was experimenting also with Qemu (see http://www.tuug.fi/~toni/serendipity/index.php?/archives/18-N900-running-on-Mac-OS-X.html),
I found that if you get to the stage where qemu crashes to "qemu: fatal: Trying to execute code outside RAM or ROM at 0x00018020",
then your MTD image is such that Qemu recognizes the bootloader and executes it. But for some reason, maybe because the loader
is the wrong kind or the rest of your image is not correct, it goes on to execute the wrong bytes as code and crashes.
Chcek the size of your image: Is it exactly 276824064 bytes long?
Here is how I have figured out the MTD image layout for N900 is:
Loader 128kB
config 384kB
log 256kB
kernel 2048kB
initfs 2048kB
rootfs 257280
plus 8 megabytes = 8192kB of OOB data at the end. This makes a total of 256+8MB = 264MB.
(Juha Riihimäki of Nokia helped me figure out some of the parts.)
More information about the MeeGo-dev
mailing list