minix on arm doesn't work on qemu

642 views
Skip to first unread message

Justin Zhang

unread,
Aug 16, 2013, 2:37:38 AM8/16/13
to min...@googlegroups.com
Hi
I just found the kernel cannot boot up with the latest minix-arm build on qemu,

According to wiki, I used the previous version of qemu from here: https://launchpad.net/qemu-linaro/+milestone/2012.12

but it still didn't work.

I am using ubuntu 13.04, here is my error message and register dumping:

qemu: fatal: Trying to execute code outside RAM or ROM at 0x402f0400

R00=40014044 R01=402f0400 R02=00000000 R03=00000000
R04=00000000 R05=00000000 R06=00000000 R07=00000000
R08=00000000 R09=00000000 R10=00000000 R11=00000000
R12=00000000 R13=4020fcb0 R14=00000000 R15=402f0400
PSR=400001df -Z-- A sys32
s00=00000000 s01=00000000 d00=0000000000000000
s02=00000000 s03=00000000 d01=0000000000000000
s04=00000000 s05=00000000 d02=0000000000000000
s06=00000000 s07=00000000 d03=0000000000000000
s08=00000000 s09=00000000 d04=0000000000000000
s10=00000000 s11=00000000 d05=0000000000000000
s12=00000000 s13=00000000 d06=0000000000000000
s14=00000000 s15=00000000 d07=0000000000000000
s16=00000000 s17=00000000 d08=0000000000000000
s18=00000000 s19=00000000 d09=0000000000000000
s20=00000000 s21=00000000 d10=0000000000000000
s22=00000000 s23=00000000 d11=0000000000000000
s24=00000000 s25=00000000 d12=0000000000000000
s26=00000000 s27=00000000 d13=0000000000000000
s28=00000000 s29=00000000 d14=0000000000000000
s30=00000000 s31=00000000 d15=0000000000000000
s32=00000000 s33=00000000 d16=0000000000000000
s34=00000000 s35=00000000 d17=0000000000000000
s36=00000000 s37=00000000 d18=0000000000000000
s38=00000000 s39=00000000 d19=0000000000000000
s40=00000000 s41=00000000 d20=0000000000000000
s42=00000000 s43=00000000 d21=0000000000000000
s44=00000000 s45=00000000 d22=0000000000000000
s46=00000000 s47=00000000 d23=0000000000000000
s48=00000000 s49=00000000 d24=0000000000000000
s50=00000000 s51=00000000 d25=0000000000000000
s52=00000000 s53=00000000 d26=0000000000000000
s54=00000000 s55=00000000 d27=0000000000000000
s56=00000000 s57=00000000 d28=0000000000000000
s58=00000000 s59=00000000 d29=0000000000000000
s60=00000000 s61=00000000 d30=0000000000000000
s62=00000000 s63=00000000 d31=0000000000000000
FPSCR: 00000000
Aborted (core dumped)

hope anyone can help me on this. Any pointer will be appreciated.

Best
Justin



Thomas Veerman

unread,
Aug 16, 2013, 3:48:48 AM8/16/13
to min...@googlegroups.com
How much memory did you assign to the VM?

--
Thomas

--
You received this message because you are subscribed to the Google Groups "minix3" group.
To unsubscribe from this group and stop receiving emails from it, send an email to minix3+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Kees Jongenburger

unread,
Aug 16, 2013, 3:57:34 AM8/16/13
to min...@googlegroups.com
Hi Justin,


On Fri, Aug 16, 2013 at 8:37 AM, Justin Zhang <zjz19...@gmail.com> wrote:
Hi
I just found the kernel cannot boot up with the latest minix-arm build on qemu,

According to wiki, I used the previous version of qemu from here: https://launchpad.net/qemu-linaro/+milestone/2012.12

but it still didn't work.

I am using ubuntu 13.04, here is my error message and register dumping:

qemu: fatal: Trying to execute code outside RAM or ROM at 0x402f0400

Can you please provide some more information about qemu invocation and "prove" you are using the correct version (e.g. qemu-system-arm -version ).

Also did you build it yourself and if so provide the /configure output.

Kind regards

Justin Zhang

unread,
Aug 16, 2013, 11:09:44 AM8/16/13
to min...@googlegroups.com
Hi
Here is the version info:
QEMU emulator version 1.3.0 (qemu-linaro 2012.12), Copyright (c) 2003-2008 Fabrice Bellard

Here is the configure output:
Install prefix    /usr/local
BIOS directory    /usr/local/share/qemu
binary directory  /usr/local/bin
library directory /usr/local/lib
libexec directory /usr/local/libexec
include directory /usr/local/include
config directory  /usr/local/etc
local state directory   /usr/local/var
Manual directory  /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /home/junzhe/git/qemu-linaro-1.3.0-2012.12
C compiler        gcc
Host C compiler   gcc
Objective-C compiler gcc
CFLAGS            -O2 -D_FORTIFY_SOURCE=2 -g
QEMU_CFLAGS       -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -I/usr/include/libpng12   -I/usr/include/pixman-1 
LDFLAGS           -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g
make              make
install           install
python            python
smbd              /usr/sbin/smbd
host CPU          x86_64
host big endian   no
target list       arm-softmmu
tcg debug enabled no
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
-Werror enabled   no
pixman            system
SDL support       yes
curses support    yes
curl support      no
mingw32 support   no
Audio drivers     oss
Extra audio cards ac97 es1370 sb16 hda
Block whitelist  
Mixer emulation   no
VirtFS support    no
VNC support       yes
VNC TLS support   no
VNC SASL support  no
VNC JPEG support  no
VNC PNG support   yes
xen support       no
brlapi support    no
bluez  support    no
Documentation     no
NPTL support      yes
GUEST_BASE        yes
PIE               yes
vde support       no
Linux AIO support no
ATTR/XATTR support yes
Install blobs     yes
KVM support       yes
TCG interpreter   no
fdt support       yes
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
sigev_thread_id   yes
uuid support      no
libcap-ng support no
vhost-net support yes
Trace backend     nop
Trace output file trace-<pid>
spice support     no (/)
rbd support       no
xfsctl support    no
nss used          no
usb net redir     no
OpenGL support    yes
libiscsi support  no
build guest agent yes
seccomp support   no
coroutine backend ucontext
GlusterFS support no

Kees Jongenburger

unread,
Aug 16, 2013, 1:33:36 PM8/16/13
to min...@googlegroups.com
Hi

On Fri, Aug 16, 2013 at 5:09 PM, Justin Zhang <zjz19...@gmail.com> wrote:
Hi
Here is the version info:
QEMU emulator version 1.3.0 (qemu-linaro 2012.12), Copyright (c) 2003-2008 Fabrice Bellard
If you follow the guide you should end up with a different version


keesj@oeeo:~$ ./bin/qemu-system-arm -version
QEMU emulator version 1.3.50 (qemu-linaro from git), Copyright (c) 2003-2008 Fabrice Bellard


Greetings

Justin Zhang

unread,
Aug 16, 2013, 1:44:57 PM8/16/13
to min...@googlegroups.com
I mean, the reason of different version is because I am using the one from the link mentioned in the wiki.

Now I have rebuilt the qemu from git, the version is:

QEMU emulator version 1.3.50 (qemu-linaro from git), Copyright (c) 2003-2008 Fabrice Bellard

but I am still getting abort error:

qemu: fatal: Trying to execute code outside RAM or ROM at 0x402f0400

Best
Justin

Lionel Sambuc

unread,
Aug 16, 2013, 1:59:14 PM8/16/13
to min...@googlegroups.com
Hi,

Kees asked for two informations, you gave us the first (the qemu version), but didn't yet provide the second:

How are you starting the minix VM? (Please give us the full qemu command line you are using.)

While we are on this topic:
3) how did you clone the git?
4) and how did you compile?
5) what does the minix/.setting file contain?

(again, exact command lines/content)


Regards,

Lionel Sambuc

Justin Zhang

unread,
Aug 16, 2013, 2:55:50 PM8/16/13
to min...@googlegroups.com
Hi
The command that I used to start qemu:
qemu-system-arm  -M beaglexm -drive if=sd,cache=writeback,file=minix_arm_sd.img -clock unix -serial stdio -device usb-kbd -device usb-mouse -usb 

Cloning the git:
git clone git://git.linaro.org/qemu/qemu-linaro.git

checkout:
git checkout 72f7eb07b611766298fe2dc140533a0a6256b054

configure and build qemu:
./configure --target-list=arm-softmmu
make
make install

As for minix3:

.settings:
# beagleboard-xm
BASE_URL=http://www.minix3.org/arm/beagleboard-xm
FLAG=-DDM37XX
CONSOLE=tty02

I use releasetools/arm_sdimage.sh to generate the minix3 image

best
Justin

Kees Jongenburger

unread,
Aug 16, 2013, 4:17:42 PM8/16/13
to min...@googlegroups.com
On Fri, Aug 16, 2013 at 8:55 PM, Justin Zhang <zjz19...@gmail.com> wrote:
Hi
The command that I used to start qemu:
qemu-system-arm  -M beaglexm -drive if=sd,cache=writeback,file=minix_arm_sd.img -clock unix -serial stdio -device usb-kbd -device usb-mouse -usb 

can you do a "type  qemu-system-arm"? (perhaps that you are running a different qemu from the one you compiled) normal
./configure would install in /usr/local/bin/

Greetings

Justin Zhang

unread,
Aug 16, 2013, 5:07:03 PM8/16/13
to min...@googlegroups.com
/usr/local/bin/ is in my PATH.

keesj

unread,
Aug 19, 2013, 6:38:29 AM8/19/13
to min...@googlegroups.com
Hi Justin,


On Friday, August 16, 2013 11:07:03 PM UTC+2, Justin Zhang wrote:
/usr/local/bin/ is in my PATH.

I just followed the steps you mention in the mail. The resulting qemu is QEMU emulator version 1.3.50.
I must assume 1.3.0 is installed on your system and /usr/local/bin/qemu-system-arm is added after /usr/bin/qemu-system-arm
try hardcoding the qemu path.

Greetings 

Tiago Goto Sala

unread,
May 17, 2014, 2:27:53 PM5/17/14
to min...@googlegroups.com
Hey guys, sorry to revive this old post, but I'm having the exactly same problem as Justin.
I've followed the same steps shown in http://wiki.minix3.org/DevelopersGuide/MinixOnARM and http://wiki.minix3.org/DevelopersGuide/MinixOnLinaroQemuARM
and I'm getting exactly the same problem (the message is the same: Trying to execute code outside RAM or ROM at 0x402f0400
).

I'm using Mint 16, and tried with QEMU emulator version 1.3.0 and QEMU emulator version 1.3.50, but both gave me the same error output.

The code I executed was (in minix/src folder):
$HOME/qemu/bin/qemu-system-arm  -M beaglexm -drive if=sd,cache=writeback,file=minix_arm_sd.img -clock unix -serial stdio -device usb-kbd -device usb-mouse -us
(minix_arm_sd.img was created with releasetools/arm_sdimage.sh)

Any help is appreciated. Thanks!

Sincerely,
Tiago.

Emmanuel Blot

unread,
Sep 18, 2014, 11:47:50 AM9/18/14
to min...@googlegroups.com


> On Saturday, May 17, 2014 8:27:53 PM UTC+2, Tiago Goto Sala wrote:
> Hey guys, sorry to revive this old post, but I'm having the exactly same problem as Justin.

Hi Tiago,

Have you eventually managed to boot up Minix3 on qemu-linaro?
I just tried with QEMU-linaro 1.3 (2012.12) and the lastest QEMU-linaro 1.7 (2014.01), using the latest official Minix3 binary image (minix_arm_sd_beaglebones-3.3.0.img.bz2) with the very same error.

Host: OS X 10.9.5

configure --target-list=arm-softmmu
qemu-system-arm -M beaglexm -drive if=sd,cache=writeback,file=minix_arm_sd_beaglebones-3.3.0.img -clock unix -serial stdio -device usb-kbd -device usb-mouse -usb

qemu: fatal: Trying to execute code outside RAM or ROM at 0x402f0400

R00=40014044 R01=402f0400 R02=00000000 R03=00000000
R04=00000000 R05=00000000 R06=00000000 R07=00000000
R08=00000000 R09=00000000 R10=00000000 R11=00000000
R12=00000000 R13=4020fcb0 R14=00000000 R15=402f0400
PSR=400001df -Z-- A sys32
s00=00000000 s01=00000000 d00=0000000000000000
...

Cheers,
Manu

Lionel Sambuc

unread,
Sep 19, 2014, 7:17:59 AM9/19/14
to min...@googlegroups.com
Hi all,


QEMU emulates the BeagleBoard xM, so you have to compile for it (which is done by default) or use the BeagleBoard xM image.


Regards,

Lionel
> --
> You received this message because you are subscribed to the Google Groups "minix3" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to minix3+un...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Emmanuel Blot

unread,
Sep 19, 2014, 8:44:17 AM9/19/14
to min...@googlegroups.com
Hi Lionel,

> QEMU emulates the BeagleBoard xM,

The official QEMU 2.1 from Git?
I've built it yesterday, and I cannot find the BeagleBoard in the
supported machine list:

$ /usr/local/bin/qemu-system-arm --version
QEMU emulator version 2.1.0, Copyright (c) 2003-2008 Fabrice Bellard

$ /usr/local/bin/qemu-system-arm -M help
Supported machines are:
lm3s811evb Stellaris LM3S811EVB
versatileab ARM Versatile/AB (ARM926EJ-S)
versatilepb ARM Versatile/PB (ARM926EJ-S)
z2 Zipit Z2 (PXA27x)
realview-pb-a8 ARM RealView Platform Baseboard for Cortex-A8
connex Gumstix Connex (PXA255)
vexpress-a9 ARM Versatile Express for Cortex-A9
realview-eb ARM RealView Emulation Baseboard (ARM926EJ-S)
sx1 Siemens SX1 (OMAP310) V2
cubieboard cubietech cubieboard
n810 Nokia N810 tablet aka. RX-44 (OMAP2420)
lm3s6965evb Stellaris LM3S6965EVB
musicpal Marvell 88w8618 / MusicPal (ARM926EJ-S)
mainstone Mainstone II (PXA27x)
terrier Terrier PDA (PXA270)
verdex Gumstix Verdex (PXA270)
none empty machine
xilinx-zynq-a9 Xilinx Zynq Platform Baseboard for Cortex-A9
spitz Spitz PDA (PXA270)
canon-a1100 Canon PowerShot A1100 IS
sx1-v1 Siemens SX1 (OMAP310) V1
realview-eb-mpcore ARM RealView Emulation Baseboard (ARM11MPCore)
smdkc210 Samsung SMDKC210 board (Exynos4210)
kzm ARM KZM Emulation Baseboard (ARM1136)
highbank Calxeda Highbank (ECX-1000)
vexpress-a15 ARM Versatile Express for Cortex-A15
collie Collie PDA (SA-1110)
cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310)
nuri Samsung NURI board (Exynos4210)
n800 Nokia N800 tablet aka. RX-34 (OMAP2420)
integratorcp ARM Integrator/CP (ARM926EJ-S)
tosa Tosa PDA (PXA255)
virt ARM Virtual Machine
borzoi Borzoi PDA (PXA270)
midway Calxeda Midway (ECX-2000)
akita Akita PDA (PXA270)
realview-pbx-a9 ARM RealView Platform Baseboard Explore for Cortex-A9

> use the BeagleBoard xM image.

Would you have a link for this image, I'm not sure to understand which
image you are refering to?

To sum up:
* QEMU-linaro 1.3 (2012.12) crashes with last minix3.org .img file
* QEMU-linaro 1.7 (2014.01) crashes with last minix3.org .img file
* QEMU-official 2.1 (from Git) does not seem to support the BeagleBoard

Thanks,
BR,
Manu

Lionel Sambuc

unread,
Sep 19, 2014, 9:21:03 AM9/19/14
to min...@googlegroups.com
Hi Emmanuel,


No, as indicated on the wiki (http://wiki.minix3.org/DevelopersGuide/MinixOnLinaroQemuARM), you need the branch from linaro. AFAICT The BeagleBoard xM definition as not been integrated upstream.

As I am not close to the linaro and QEMU projects, I have no idea why it has bot been done.

For the image: http://www.minix3.org/download/minix_arm_sd_bbxm-3.3.0.img.bz2. This one can be used as well on a real BBxM.



Regards,

Lionel

Emmanuel Blot

unread,
Sep 19, 2014, 10:47:46 AM9/19/14
to min...@googlegroups.com
> No, as indicated on the wiki (http://wiki.minix3.org/DevelopersGuide/MinixOnLinaroQemuARM), you need the branch from linaro. AFAICT The BeagleBoard xM definition as not been integrated upstream.

Ok, this is what I got.

> For the image: http://www.minix3.org/download/minix_arm_sd_bbxm-3.3.0.img.bz2. This one can be used as well on a real BBxM.

This was the part I messed up, I picked up the wrong image from the web site.

Thanks a lot.
It now boots fine with QEMU-Linaro 1.7 (2014.01)

Best Regards,
Manu
Reply all
Reply to author
Forward
0 new messages