qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Confused


From: Jim C. Brown
Subject: Re: [Qemu-devel] Confused
Date: Sat, 26 Mar 2005 19:56:44 -0500
User-agent: Mutt/1.4i

On Fri, Mar 25, 2005 at 10:52:11PM -0800, Jamie Aczel wrote:
> Hello,
> 
> I'm attempting to sort out the discrepancies between a "WINE for PPC"  
> guide posted on some mailing lists last year  
> (http://lists.terrasoftsolutions.com/pipermail/yellowdog-general/2004- 
> June/014468.html) which makes references to the "qemu-i386" binary;
> 
> The reality, which is that none of the bundled versions of QEMU for PPC  
> I've found, nor a self-compile of QEMU 0.6.1, include this binary;
> 

qemu-i386 was still included in 0.6.0 - I haven't checked more recent versions
but I don't remember it being removed from the source.

Normally qemu is used to emulate an entire system: cpu, ram, hard disk, etc.
qemu-i386 provides translations for individual linux binaries - also
provided a translation layer so the binary could make syscalls to the native
kernel. You need to do a './configure --target-list=i386' in order to enable
it.

> and another mailing list post (URL lost, unfortunately) that explained  
> that the "qemu-i386" binary is the 'fast' version of the program for  
> x86 virtualization on x86 hosts, with no instruction set translation,  
> and should not exist or run on PPC systems.

This is wrong. The person was either thinking about qemu-fast (now defunct)
or the qemu accelerator (also known as kqemu). qemu-i386 is perfect for
running x86 binaries on PPC (such as Wine) via translation.

> 
> If that's correct, how did the writer of the first post get it to work?  
> Is there any way to run Linux/x86 programs (specifically WINE) in  
> recent QEMU versions without installing an entire host system? I'm  
> actually using OS X, so if the platforms are too different for seamless  
> emulation across them, this searching may all be useless...
> 

The catch is that qemu-i386 will only work when you are trying to run Linux
x86 binaries on a non-x86 Linux host. It works by translating between different
kernel archs. To get it to work on OSX, you'd have to do what (last I heard -
this may no longer be correct) Darwine is doing: provide a translation layer
between qemu-i386 and OSX, that converts Linux syscalls into OSX calls.

-- 
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.




reply via email to

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