Bochs x86 IA-32 Emulator 2.1 Released
Asmodeus writes "Just noticed that the 2.1 release of the Bochs IA-32 emulator is out at the Bochs home page
For those not in the know, Bochs is an open source implementation of the x86 instruction set(s) and a virtual PC (al la VMWare) which is capable of booting FreeDOS and Linux under the host control of another OS."
Wow.... ummmm.... slashdot?
;-)).
Could we not post "news" about things that came out an eon ago? Seriously... ROFL,,,,
----->
Bochs is kind-of OK. I use it regularly when I work on my exokernel project and it really IS A GREAT developing/debugging tool (especially if compiled with the GDB stubs
However, however, however... I wouldn't consider Bochs useful for anything other than hacking around with kernel/os stuff. Bochs needs a re-write from scratch and emulate a real standard PC motherboard - not an 80386 with i486, pentium, athlon, mmx, PCI, USB, ATA etc... hacks around it. PCI support is non-existent. Video is flakey - well you can get VESA-compliant > 800x600 if you physically change the source (easy). All emulated devices are ISA "bus"-based. Over the years stuff just kind-of gotten piled on, and on and on - with no sensible strucure. I am not talking out of my ass either - at some point in my life I felt that Bochs would be a great project to hack.
And it runs on more than just IA-32. I have it running on my dual Alpha 533. Runs win98.
-- Having a Creationist Museum is like having an Atheist place of worship
qemu seems to do emulation right. It would be nice if the emulation community would get behind it.
Xen has already been covered on slashdot
Actually, PPC emulation on x86 has been added to SheepShaver by Gwenole Beauchesne. Currently its only for Linux and can run up to Mac OS 8.6 with support for some new world roms. More info here.
If you want a free, open-source and (fairly) portable x86 emulator that provides better performance than Bochs then you could do far worse than QEMU. It uses a nifty dynamic recompilation techinque for its CPU emulation which gives much better speed than Bochs's interpretive emulation while remaining relatively easy to port.
It's a young project, and it has a long way to go before it'll be a real alternative to VMWare for most people, but it's getting there pretty quickly - the recently released 0.5.2 can already run Windows 98.
It can emulate AMD's 64 bit processor just fine.
Regards,
Steve
I actually got Windows 98 installed and running on my Powerbook running OS X 10.3.
It took several hours for it just to install, so long that I went to bed while waiting for it to finish.. and when I woke up, the install stopped somewhere and needed me to click continue or something. Took several more hours after that to install, for a total of something like eight hours, if not more.
Once installed it ran EXTREMELY slow, and considering the OS X port of Bochs can't get online.. well, besides the fun of installing it, it's useless.
QEMU's not as mature as Bochs, but it's much faster, based on dynamic translation; you might think of it as a little more like a JIT compiler than an emulator. The other really interesting thing about QEMU is that in addition to a full-machine emulation mode, it can run Linux binaries from one architecture directly, translating the system call parameters as necessary. In theory at least you should be able to run binary-only x86 software -- or win32 programs on Wine -- on Linux-PPC for instance.
Chu vi parolas Vikipedion?
of the silliness/interesting possibilities of layering all these things:
....
Win98 on top of
VMWare on top of
Boch (or some other x86) on top of
OS/X, Linux, FreeBSD of top of
hehe, stupid, but might be fun to try if you got spare cpu power laying around... + plus you get to see what exactly VMware is doing to hardware (by looking a Bochs layer), or swap it around, and see what exactly Win98 is doing. Might be useful to find out all that hidden "functionality" in Windows for something like the Wine project. Just mouthing off here though...
Bochs is really a debugging tool for people writing their own OS. It's written to be accurate and portable, not fast or convenient. For those of us not writing our own operating systems, we're just not the target audience.
I've already extolled the virtues of QEMU's interesting capabilities and much greater speed. It's also I think a little easier to use than Bochs. It's not point and click, but it's a little more UNIX-friendly: you can run it from the command line in a sane manner compared with trying to cobble together a cryptic configuration file for Bochs.
QEMU isn't perfect, though. While the latest release will run Windows 98, it may spontaneously crash during installation, etc, and so far only runs under Linux (though a Darwin port is in the works).
Chu vi parolas Vikipedion?
I suspect the future of emulation/virtualization environments will resemble dynamic translation projects like HP's Dynamo as described here. Unfortunately, HP's papers on this project are from 1999, so there doesn't appear to be much activity lately. Anyway, combining something like Dynamo with a virtualization environment would allow non-native applications to run without the excessive overhead of Bochs. In theory.
Actually, there exists a PPC simulator. It is made by Virtutech. Haven't tried it, though, so I don't know how well it works.
It's not just theory. Dynamo was just another implementation of dynamic binary translation, with perhaps some more optimization than usual, but nothing that far out. Dynamic binary translation has been used in all speed-sensitive commercial emulators since mid-1990's, most notably in Digital's FX32, various PC emulators on Mac, and of course the Transmeta "code morphing" firmware. Apparently the QEMU guys are succeeding in their effort to create an open source implementation of the technology. There's nothing theoretical about it anymore.
One fun thing is that I have the saved state of several DOS games on a small USB drive. I can then play those games on a W2K machine at work. Save them and the continue them at home on OSX. The drive even contains both of the executables to I can just plug this thing into any PC or Mac and carry on playing. No need to know the hardware of the underlying machine and set up a config file for it.
PS On my own 1.2GHz Athlon my games run way too fast. (Eg. Populous is way outta control!)
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
It can also run ..... probably XP as well if product activation works.
Let me think about this. Supposedly product activation does not reveal any personally identifiable information. Anyone could do an activation.
I suppose that Bochs emulates a given set of hardware. So it always looks like you have one motherboard. The emulated MAC address could be hardcoded, as long as Bochs also were to emulate a separate "masquerade" to the outside. When Bochs initializes a hard drive, it would assign a fixed serial number.
Where I'm going is that some evil thief could activate XP on a Bochs. Then that activation might work for any other thief who needs to run XP on Bochs.
I'll see your senator, and I'll raise you two judges.
It's good to see that there is recent news. However, since the project has been reduced to provide only a lightweight VM and is thus only capable of running instances of Linux on Linux, it is far less usefull. Don't get me wrong -- there's still some value in being able to run multiple instances of Linux on the same box. However, I think many were hoping that Plex86 would offer a no-cost gateway to switching from Windows to Linux. For anybody out there who has only one or two pieces of software that keep them on Windows, a free and fully functional virtualization layer would have been very well received. VMWARE is an awesome piece of software, but people who are looking to switch to a FREE OS like Linux are going to balk at having to pay $300 for the transition period.
GreyPoopon
--
Why is it I can write insightful comments but can't come up with a clever signature?