Porting or Vm'ing

Hello. We have an application that runs on QNX 2. The pc’s we use are getting old and hard to find. Are there options like porting or VM on a newer QNX version we might be able to use? The app would have to communicate with hardware like GPIB and NIC, serial ports, LPT etc. We actually have a Vm up and running on Windows 10, using Virtual Box, but can’t communicate to hardware. Thanks.

Yes, it’s possible to put QNX 2 in a virtual machine.

However, I have no idea if you would be able to talk to all the hardware you are interested in. You’ll have to attempt and find out.

Here’s a very handy link to a guy who ported all the versions of QNX (2, 4 etc) to VM’s.

Here’s a screen shot of QNX2 (3.21) in a VM

and here you can get the VM’s

Tons of great stuff at his site including old QNX manuals etc.

Good luck.


P.S. The wayback machine has a post about his efforts to put QNX2 in a VM

Thanks Tim. I’m thinking that if I VM on a newer version of QNX or Linux, then maybe the hardware issue would be more accommodating. Do you know if there are free os versions available. I’d like to take a stab at it.

Free O/S versions of what? If you mean QNX 2 I don’t think so. Obviously there are lots of free versions of Linux.

Even if the hardware options do happen to be more accommodating, the real time nature may not be there unless the VM is hosted on an ESXI server (in other words you likely won’t get real time performance hosting the VM under Windows or Linux).

Obviously this is a very old system you are maintaining. Is there a reason you don’t just update the software to run on a more modern O/S? Even if you don’t have the source code (ie its lost or you just bought a product made by another company), surely what the software does can be replicated since it could not have been that complex (limited memory so could not have been much code).


Yeah, I was wondering about the real time status, especially with Windows. Well I was more interested in a newer ver of QNX, like 6. Money is the issue, we are just trying to buy more time since the old systems are still up to the task. We have replaced some with LabView based systems. But they cost a lot, and there would be significant downtime and labor, due to wiring modifications and such.

I’ve run QNX 2 nicely in a VM for a number of years, the player version of VMWare. The problem as Tim suggests is hardware. You would need virtual drivers for the GPIB that probably don’t exist. In addition, if you are using Ethernet, your software may not support any of the available NIC drivers. Communicating out of QNX 2 is quite difficult. Usually this has meant using a virtual floppy, whose image gets written sector by sector to a real floppy. I may have once gotten my Iomega Zip driver to work on VM through the parallel port, but I’m not sure.

If you can replace your older QNX2 systems with Labview under Windows then your real time requirements are not that tight and your obviously not talking to custom hardware (ie a physical card in an ISA slot on the motherboard).

In that case, why not just use Linux since it’s free and reasonably easy to develop for. You might even be able to get to run in Visual Studio under Windows if it’s running in Labview.


Thanks Tim, I will bring this to the attention of my handlers. Very good info, that I was not aware of.