Emulate Windows xp on Bananian with qemu

8 3432
Hi Guys,

As my last try I' writing this post. I'm attempting to create a working version of Windows Xp under Bananian on my BananaPi.
Could You help me to get it work please?

Theese are the steps I followed:

0. installed qemu with 'sudo apt-get install qemu'
1. created an image file 'qemu-img create -f qcow2 /home/public/xp.img 2000M'
2. started installation with a previously downloaded windows xp sp3 installer disk (msdn 32-bit) 'qemu-system-x86_64 -cpu core2duo -hda /home/public/xp.img -cdrom /home/public/xp_installer.iso -boot d -m 512M -smp 2'
3. windows installer loaded, there was no problem with partitioning and copying files, after the first reboot the grafical installer is not able to start i got an error message after bios boot 'Error loading operation system'
It seemed to be an emulator-side bios problem, so I downloaded qemu bios 'wget -O /usr/share/qemu/sgabios.bin' but it did not solve the problem.

I also tried different methods (installed xp on a windows host, then migrate the image file to the BananaPi...but when I used the image with qemu I got the error message again 'Error loading operation system'). I would be okay with anykind of working x86 system on BananaPi, I'm not sticed to Xp. When I tried to use Debian i386 net installer (qemu-system-x86_64 -cpu core2duo -hda /home/public/debian_linux.img -cdrom /home/public/debian-7.8.0-i386-netinst.iso -boot d -m 512M -smp 2 -vga cirrus) it gave a black screen on install.

Any ideas?

Tanks in advance!
What kind of HD controller is your qemu emulating? Same question goes for the video card.

BTW, why are you using a x86_64 emulation? Though you're probably running in 32bit compatibility mode (since your XP is 32bit), it occurs to me that running a 32bit emulation would be faster in the first place.

Thanks for the reply!

How can I determine the HD controller type? (I think I use default controller comes with qemu)

Video card used: Cirrus CLGD 5446

If I use qemu-system-i386 instead of qemu-system-x86_64 the problem also occurs.

I have no idea, but qemu can emulate different stuff. Aside from just trying to configure one or another, I can't give good suggestions. If any x86 emulation breaks, chances are that your qemu version is broken.

Thanks at all. I will report here if I manage to solve the problem.

I could not manage to make it work on bananian 15.04 or raspbian 14.12, but i works perfectly on lubuntu 14.12. Now I can emulate 32-bit windows xp with qemu-system-i386 with ease.

If I might ask: At what speed? Is it usable (for what)? Thanks for the heads-up, BTW.

Nope. It is not usable. Tomorrow I will try to investigate this method ... k3_on_bananapi.html

Looking at this Exagear stuff, it is probably just qemu-based, too - only using the emulation in userland only. That's what those qemu binaries do that do not have the "-system-" in their name. Since the API between kernel and userland is defined and about the same on all platforms (all that is needed is an ABI translation layer), doing such things isn't too hard.

So if it is a Linux application that you want to run, give qemu-i386 a try. Note that you need to collect the needed libraries for the application in a dedicated directory (like /usr/gnemul/qemu-i386 or similar, qemu-i386 will tell you when run without arguments) - so better prepare the application in a full x86 system and then copy over the needed parts.

I'm quite skeptical over the claimed "5x" improvement, though. This will depend on the workload. If it is kernel bound - e.g. lots of I/O - that might be true. If it is just CPU bound in userspace (algorithmic complexity, say video/audio codecs, encryption, ...), it will be just the same as a full-system qemu.

You have to log in before you can reply Login | Sign Up

Points Rules