qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-discuss] Compile qemu 2.2.0 i386-softmmu on arm / Raspberry PI seg


From: Ariyoshi Juna
Subject: [Qemu-discuss] Compile qemu 2.2.0 i386-softmmu on arm / Raspberry PI segfaults
Date: Fri, 26 Dec 2014 11:47:38 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0

Hi


I tried to compile i386-softmmu / qemu-system-i386 on a raspberry pi running raspbian:

$ uname -a
Linux raspberrypi 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l GNU/Linux

So my steps were:

wget 'http://wiki.qemu-project.org/download/qemu-2.2.0.tar.bz2'
tar xf qemu-2.2.0.tar.bz2
cd qemu-2.2.0
./configure --target-list="i386-softmmu" --enable-sdl --disable-kvm --enable-curses
make -j 4
# around 2h compile time, no problems reported

Then I tested the result with the linux image from 'http://wiki.qemu.org/download/linux-0.2.img.bz2':

$ qemu-2.2.0/i386-softmmu/qemu-system-i386 -curses -m 64 linux-0.2.img

After ~2 min. into the boot process booting failed with qemu segfaulting. Here's the gdb bt:
(gdb) bt
#0  0x00023428 in cpu_x86_exec ()
#1 0x0004ba14 in qemu_tcg_cpu_thread_fn () at /home/pi/qemu/qemu-2.2.0/cpus.c:1354 #2 0xb6adbbfc in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#3  0xb6a70968 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
#4  0xb6a70968 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

I tried this more than once, and on rare occasions the kernel inside the VM has an oops instead or just locks up. I also tried to boot memtest86+ (http://www.memtest.org/download/5.01/memtest86+-5.01.iso.gz)

$ qemu-2.2.0/i386-softmmu/qemu-system-i386 -curses -cdrom memtest86+-5.01.iso

This shortly shows the mem test screen initializing and then the VM reboots. I also tried -cpu 486 and -m 16 and -m 64 with memtest, no change. I also tried the above with qemu 2.1.2, same behavior. Then I checked my gcc that is installed:

$ gcc --version
gcc (Debian 4.6.3-14+rpi1) 4.6.3

After checking the repos I found that gcc 4.8 is available. So I installed it and recompiled qemu 2.2.0 with:

cd qemu-2.2.0
make clean
./configure --target-list="i386-softmmu" --enable-sdl --disable-kvm --enable-curses --disable-vnc --cc=gcc-4.8 --host-cc=gcc-4.8 --cxx=g++-4.8 --objcc=gcc-4.8
make -j 4
# around 2h compile time, again no problems reported

The resulting binary showed the same behavior / problems. I'm a bit at loss here what the issues might be ... is it the compiler, or is some lib on my system buggy? Is there something in qemu / TCG that "does not work" on arm / rpi / BCM2835? Is my pi/sd-card faulty ... I haven't noticed any other problems on the system so far?


Thanks for any pointers in advance :)

Rene





reply via email to

[Prev in Thread] Current Thread [Next in Thread]