On Sat, Aug 02, 2014 at 10:49:22PM +0200, Torbjörn Granlund wrote: > Qemu versions 1.7.0, 1.7.1, 2.0.0, 2.1.0 do not run Debian mips64 BE or > LE stably. While install in 32-bit mode typically works, running the > 64-bit kernel causes qemu to segfault or abort after a while. > > How to reproduce: > > Grab installation kernel and initrd: > > ftp://ftp.debian.org/debian/dists/wheezy/main/installer-mips/current/images/malta/netboot/vmlinux-3.2.0-4-4kc-malta > ftp://ftp.debian.org/debian/dists/wheezy/main/installer-mips/current/images/malta/netboot/initrd.gz > > Start qemu-system-mips64 and perform an installation. Choose defaults, > i.e., "Standard system utilities" and "SSH server". > > qemu-system-mips64 -M malta -m 256 -nographic \ > -drive file=disk.img,if=virtio,index=0 \ > -net nic,macaddr=52:54:00:13:06:64 -net user,hostfwd=tcp::20008-:22 \ > -kernel vmlinux-3.2.0-4-4kc-malta \ > -initrd initrd.gz \ > -append "console=ttyS0" > > Copy out /boot somehow. I usually do "Execute a shell" just before the > installation is about to finish, and there do > > mount /dev/vda2 /target > mount /dev/vda1 /target/boot > mount -t proc proc /target/proc > mount --rbind /sys /target/sys > mount --rbind /dev /target/dev > chroot /target bash > /etc/init.d/ssh start > > (assuming "put all files in one partition" was chosen; mount commands > might need adjustment for other partitioning schemes). > > Then from the host system I do > > scp -pr -P 20008 localhost:/boot . > > and then quit the shell and finish up the installation. (Alternatively > use qemu-nbd or guestfish.) > > Then boot the installed system: > > qemu-system-mips64 -M malta -cpu 5Kc -m 256 \ > -drive file=disk.img,if=virtio,index=0 \ > -net nic,macaddr=52:54:00:13:06:64 -net user,hostfwd=tcp::20008-:22 \ > -kernel boot/vmlinux-3.2.0-4-5kc-malta \ > -initrd boot/initrd.img-3.2.0-4-5kc-malta \ > -append "root=/dev/vda1 console=ttyS0" \ > -nographic -serial null -monitor null > > Then, log in to the system ("ssh -p 20008 root@localhost) and try the > system. It will crash within hours, but usually within minutes.
I have installation running in qemu-system-mips with weeks of uptime without any problem. I have however tried the above with QEMU 2.1, and I have been unable to reproduce the issue. > Safe crash strategy: > > package_list="gcc g++ gdb make emacs23-nox postfix sharutils zsh rsync ntp" > apt-get -y install $package_list gcc-multilib g++-multilib > > Not crashed yet? Let's provoke it somewhat more: It didn't crash for me. > wget https://ftp.gnu.org/gnu/gmp/gmp-6.0.0a.tar.bz2 > tar xf gmp-6.0.0a.tar.bz2 > cd gmp-6.0.0 > (configure && make && while true; do make check; done) >&/dev/null > > Note that I have reproduced this problem on several host machines. Host > system stability is not the root cause. The host system has been either > GNU/Linux or FreeBSD. I have not found a stable setup since before qemu > 1.7.0. I know it was stable around 1.5.x or 1.6.x. (Even older qemus > executed a few instructions incorrectly, making them inadequate for my > use.) > It's now running for more than 48 hours, and hasn't crashed yet. Could you give us more details about your host, especially if it is a 32-bit or a 64-bit one? Also a cat /proc/cpuinfo would be useful as some instructions are enabled or not depending on the host support. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net