plex86 ported to NetBSD/i386 41
hubertf writes "plex86 is now works on a second Open Source operating system. So far plex86 only
supported Linux as host platform, and thanks to Frank van der Linden of Wasabi Systems, it
now also works on the i386 port of the NetBSD multi-platform operating system.
Tested operating systems include FreeDOS beta 4, MS-DOS 6.22, Red Hat 6 Linux and NetBSD 1.5.
See the NetBSD site for more information.
Mac OS X (Score:1)
Re:Trend in free software.... (Score:3)
Alas there are more and more bad programs that use Linux peculiarities, making the port unnecessary hard (and thus sinning against the common UNIX philosophy).
The longer a program is isolated on one UNIX variant, the bigger chances are that it will be hard to port afterwards, that it will rely upon non-standard API's i.e. bad design. Thus it is good for the program to be ported ASAP.
Re:Great (Score:1)
I think it's impossible to ask that every vendor release the source to all their applications or even provide precompiled binaries for every possible platform their program could run under. Including an x86 emulator in the kernel could open up a world of programs to users.
Developers intent on continuing to use C, C++ to deliver their applications could do so and still reach a sizable audience, whereas vendors could also use Java as a more "forward looking" solution, except aside from the backend, enterprise machines, Java's largely missed it's original mark of being a common API across all platforms.
Re:What about Darwin? (Score:1)
Re:Great (Score:2)
Closed source drivers are not an issue, because most hardware is architechture-specific. Meaning that a driver for my PC's TV-tuner card would not be much use in my Apple G4, because my TV-tuner card won't work in my G4. Or my soundcard, or my videocard, or my modem. So there's no point in emulating the driver on a different system, because the hardware can't be used anyway.
So now we're written an entire processor emulator (x86 only) so that the very small minority of people that are using Linux on alternative hardware will be able to run WordPerfect? The majority of closed-source Linux applications that most people would want to run, are games. And games are very performance sensitive, so they don't take well to being emulated; a task that's guaranteed to kill your speed.
It's just not really a very useful feature to have.
Re:Only Linux, eh? (Score:1)
Re:Trend in free software.... (Score:1)
I've never posted to Usenet so I guess my vote doesn't count. I suppose that's ok because I'd vote multiple times anyway. If you want to talk about OS you use then I vote for OpenBSD, FreeBSD, NetBSD, 4 or 5 Linux's, Beos, QNX, Atheos, etc.
Re:Trend in free software.... (Score:1)
Errm. I am referring to "Thus it is good for the program to be ported ASAP."
plex86 is a very complex piece of code, mostly because of the presence of a linux kernel module that plays tricks to do the virtualisation.
In presence of such code, early port can put an unecessary burden on the project, because it 'freezes' the avalaible options (unless they want to break the NetBSD port, which can cost developers). OTOH, it can have a very benefit effect by showing at early stages of development what are linux kludges, and what are not.
Btw, I am extremely impressed here. I wouldn't have bet anything on a BSD port. (Now, if someone could port it to FreeBSD...)
Cheers,
--fred
Great (Score:1)
FreeBSD port? (Score:1)
Re:What about Darwin? (Score:3)
Darwin is the core of Apple's Mac OS X but it's Open Source, BSD-compatible & runs on x86 as well as PowerPC. Indeed Apple has made special effort to release Darwin for x86, it's not just by happenstance.
Thus the original very cogent point that Plex86 could be ported to Darwin running on x86. No where was mentioned MacOS X or PowerPC (though they've been brought up many times in other places recently.)
I agree that this would indeed be very interesting, if only for the surrealism.
Who could have predicted 5 years ago that Jobs would return to Apple, have a coup & take over the company, then have Apple buy Next, Open Source the core of their OS, build in BSD-compatibility, make it backwards-compatible with the notoriously idiosyncratic MacOS then release it. To then put an emultor on top of this whole series of suprises would be frosting*.
Please folks, before you invest the effort into posting please read what the original poster says & not what you guessed from a quick scan.
* Yes there's VirtualPC etc. but they're MacOS-only and just not as neat as Plex86 though they're arguably more stable & more polished, as well as technically much more sophisticated.
Re:Mac OS X (Score:1)
This accounts for its performances, but limits its portability...
Re:Trend in free software.... (Score:1)
The hardest part of porting something as complex as Plex86 to a different OS is figuring out where to start. Just comparing the kernel modules for Linux and NetBSD will teach you a wealth of knowledge, and for the small but important details in the non-kernel bits, grepping for __NetBSD__ tells you where to start your port. After that, it is a small issue of coding and debugging.
It's not just about more eyeballs or exposing bugs in the primary development platform, it's also about lowering the barrier for other ports, which can accelerate the eyeballs effect.
What about Darwin? (Score:3)
Can anybody explain, exactly, why some OS/emulator combinations don't work? I assume it has to do with unsupported hardware (i.e. Darwin only work with Intel PIIX IDE controllers, and maybe all the emulators emulate a VIA controller)
Re:Trend in free software.... (Score:2)
And I want to test running NetBSD-1.5 inside Plex86 running on NetBSD-1.5:)
This is muchos cool!
Degrees of porting difficulty (Score:3)
I generally agree with your remark about unix software being easily ported to other unix-alikes. At least for user-space things. For the most part.
Kernel space things may be much more difficult to port. You may be dealing with totally different API's. Or even different concepts, for an extreme example, such as kernel loadable modules, vs. VXD's, vs. Mac OS "Extensions", etc. (Using the term "kernel space" very loosly here.)
A bad program may, as you say, be unnecessarily be difficult to port. But a program difficult to port is not necessarily bad.
The question that has not been asked here is: how much of Plex86 is user-space? Doesn't it involve some Kernel trickery in order to achieve the virtualization? I got that impression from Kevin Lawton's paper here: http://www.plex86.org/research/paper.txt [plex86.org]
Re:Trend in free software.... (Score:2)
Porting this to NetBSD really isn't the same as porting to Windows or BeOS. BSDs and Linux share a very similar programming interface, most software can be ported between Linux and the BSDS without too much extra work, and in the long run probably keeps code that may be very linux dependent from being introduced. The biggest effort in porting Plex86 was probably the kernel module, the rest probably just needs to be adjusted to not make use of a few linux specifics.
In the long run, a small outlay of effort porting to NetBSD gains more developers who could work on Plex86. A port to FreeBSD would also be a very good thing.
treke
License issues (Score:1)
Re:License issues (Score:1)
Re:What about Darwin? (Score:4)
The point of this is that instructions do not have to be emulated because an x86 instruction on FreeBSD, say, is the same machine code instruction on Windows. It's the APIs that are different. So rather than emulating hardware, Plex86 "passes-through" the machine instructions to the hardware unchanged, achieving very low drag on performance.
So what you want is Bochs, pure and simple. I do hope that Bochs development doesn't permanently stall now that it's creator is working on Plex86. It's a good product, and frankly, I'd love to run x86 apps on OpenBSD on an Alpha.
VMWare will almost certainly port their stuff to the MacOSX, though probably not Darwin. I'll bet that Bochs is ported to Darwin soon, as it runs on three other BSD's
Re:Degrees of porting difficulty (Score:1)
it boots but is it usable? (Score:2)
I don't want a lot, I just want it all!
Flame away, I have a hose!
This is what free software is all about (Score:1)
Unlike a commercial software shop, doing the NetBSD port doesn't take away any resources from the main development path.
And as it has been pointed out many times, the more eyes working on a project, and sharing the results makes for faster and better development.
Re:Trend in free software.... (Score:1)
Status of BeOS port? (Score:1)
Re:Great (Score:2)
Re:Great (Score:1)
It could also lead to accelerated developement of "proprietary" drivers for all sorts of non-x86 PC's.
Am I wrong in these assumptions? Or do they just need to be fleshed out some more?
Re:Great (Score:2)
Implemented the way you describe, a kernel-level emulator could only allow binaries to be run on the same sort of system, with a different processor. So my x86 Linux binaries could be made to run on my Alpha Linux box. Where's the advantage there? It wouldn't let me run Windows applications on my Alpha, unless I installed Windows into the Boch's virtual hard drive. And that's no better than just running Bochs as a regular application.
Trend in free software.... (Score:1)
Now that's funny! (Score:1)
Couldn't have said it better.
Re:Trend in free software.... (Score:1)
In my experience, it has always been easier to get it running on other platforms early in the game... it helps boost spirts. (read: seems like you got something done)
Later.
Re:Trend in free software.... (Score:1)
plex86 (Score:1)
/.: news for people who care about plex86 (Score:1)
I mean, come on, this is like the third or fourth story in as many days! Or at least it seems like. Can we have a plex86 section to put these in?
Re:Yeah... (Score:1)
What you wish for is not relevant as Plex86 is a virtualization, not emulation of the x86 platform. It is not intended to run on any other architecture, as that would be emulation, not virtualization.
Yeah... (Score:1)
Re:What about Darwin? (Score:3)
Only Linux, eh? (Score:1)
Re:Yeah... (Score:1)
plex runs native code, and only intercepts "interresting" calls. -> speed.
- Hubert
Re:What about Darwin? (Score:1)
What good would that be? VMWare also is a virtualization system, thus on MacOSX, which runs only on PowerPC, you would only be able to run other PowerPC systems (Linux, NetBSD, a second instance of MacOSX).
Since MacOSX itself already is based on UNIX (FreeBSD) there isn't too much need for that I guess. The main use for VMWare is to run Windows in Linux/FreeBSD (the linux VMWare runs in FreeBSD too), or to run non-Windows inside of Windows.
Somone has probably already said this but... (Score:2)
One -- Once the full version is complete it will be very difficult to start porting it, having to deal with inconsitancies in unixes and other OS's. Not to mention optimizing it for a platform, may have to be done at a lower level, which would be easy if it were built into the tree early, and hard if it were done later (so it might never happen)
Two -- By forcing yourself to develop cross platform, you run into the limitations of your design and logic sooner, forcing you to fix it. Cheap workarounds get tossed out in favor of better solutions, because cheap workarounds and sloppy hacks are system dependant, and your working cross several platforms. Just look at what a POS Netscape 4.x is (ok so there is nothing better for unix at the moment) under unix, and under macintosh. It was designed for win32 first, and not designed cross platform. The win32 version is great, and I almost never have problems with it, although I cannot say the same for the linux/freebsd/mac versions. Now compare those to QuakeIII. I've never had it crash in windows, or in Linux, or on a macintosh. (I've had numerous QuakeII crashes under linux though) And its fast under all three systems.
Now nobody reading this here is John Carmack (exept of course for John, if he reads this far down in the posts) so yea, none of us are going to pull it off quite as well, but we can at least try. Come to think of it, its probably the least painfull way we could all improve our own projects.