Virtualizing QNX 2

(Note this is a guest post by Antoni Sawicki aka Tenox)

Enter 1988… around that time Microsoft just released MS-DOS 4.01 and IBM shipped OS/2 1.1. Compare to the other two, this QNX was years ahead of its time. Pretty much on every aspect. Now, some 25 years later QNX2 is still found running industrial machinery, clean rooms, avionics and military hardware. Some people report systems up and running non-stop for 15 years and longer!

It took me similar amount of time to acquire usable media set. QNX is an embedded system and never really seen life on a desktop machine, so finding these floppies was rather hard and expensive adventure. Fortunately I can finally let it see some daylight. Let’s examine how the system will install on a modern hardware under VMware Workstation.

qnx2-disks

The install is rather straight forward. Floppy boot comes with a login prompt.

qnx2-vmware-floppyboot

After you log in as qnx you need to swap the floppy disk to Boot Utilities and run install. The script guides you through setup steps.

qnx2-vmware-install

First you need to select the disk controller. For compatibility mode QNX 2 provides access via int 13 (real mode).

qnx2-vmware-disk

Then you partition the disk. QNX partition type is either 7, 8 or 9. You will be asked to mark it bootable later on.qnx2-vmware-part

Then you have to select the kernel. QNX can operate in real mode and protected mode on AT286. qnx2-vmware-kernel

The install script copies all the data from distribution floppy disks, asks about boot loader and active partition. Finally you get to choose some video options.

qnx2-vmware-video

The system also asks about networking options. Unfortunately it only works with custom Arcnet cards so I skipped this. Once complete you are asked to remove the boot floppy disk and reboot the machine. This is what comes up after first hard disk boot.

qnx2-vmware-firstboot

I guess what is in the system will be the a topic of another post.

Updates:
You may also be be interested in QNX Windows and Fun with QNX 4 Networking posts.

23 thoughts on “Virtualizing QNX 2”

  1. It’s a difficult situation because the system is by no means dead or even obsolete. Dell Unix for instance was plainly abandoned and forgotten a long time ago. With QNX2 it’s unfortunately different. It’s still widely used in the embedded world. Worse, the manufacturer (QNX) still sells licenses for it. I have worked pretty hard to get my own copy.

    You can get aclock-demo bootable floppy which has a second console and few utilities like ls and tsk to play around. http://www.tenox.tc/out/aclock-qnx2-boot.img

    And don’t give hope, someone will probably eventually slip it away somewhere.

  2. The only available commands are in /cmds directory, I don’t think it is enough for cloning that aclock qnx2 fdimage onto a harddisk:

    C:\TEMP\WINDOWS>qemu-system-i386.exe -nographic -curses -fda aclock-patched-qnx2-boot.img -net none -snapshot -m 16
    [shortened]
    Login: /
    $ ls
    bitmap +boot +cmds +config
    $ ls boot
    os.2.21atp
    $ ls cmds
    aclock ed ls sh
    cat ed.macros mount timer
    colors login rtc tsk
    $ ls config
    float.slib sys.init
    $ mount
    Drive 1: Floppy, 1.4M, p=1
    $tty0 = $con , Colour at 0030
    $tty1 = $lpt , Parallel at 0378
    $tty2 = $sid , Colour at 0030
    $tty3 = $mdm , Serial at 03F8
    Library(6A): Software Math
    $

  3. That aclock disk boots in MESS. I’d be interested in hearing more about the NIC and the possibility of adding support for that to MESS (I wrote the NE2000 emulation for it).

    1. Unfortunately QNX 2 does not support NE2000 or any other Ethernet. It only supports Arcnet, and not even generic. It only works with Corman Arcnet cards. Currently sold by http://www.betech.biz/ . I have a working Arcnet driver for Qemu but we are still short of Corman BIOS and chipset.

      1. Is information about the qemu arcnet driver available somewhere? I’m assuming it’s for some other arcnet device? When I asked roughly 10 years ago, QNX didn’t want to give out details about how you interface to the card (which would obviously be useful if you wanted to emulate it), I guess if the cards are still being sold that might still be the case.

          1. So the BIOS is the only special thing about them – you can get some other generic arcnet card which has documentation about its memory-mapped interface, and the only difference between that card and the QNX one is the BIOS?

            I can’t say I ever looked up any information about the various chips on the QNX arcnet card so wouldn’t know if they’re generally documented or not.

            1. A late response but…

              So I know a little about Corman cards, not enough to write a driver. The card uses a standard Arcnet chip. The chip usually interfaces via io-ports. The Corman card has it engineered to use have those ports accessed as memory map. There is also the boot EPROM and some sort of EEPROM to store settings.

  4. If anyone wants QNX 4.25 floppy images and CD ISO I have copies. Did some major searching and found them tucked away on a server in Russia. Nothing has come up yet for QNX 2.x yet. 🙁 This is the holy grail ….I’ll keep looking.

    Cheers,
    Rob

  5. I have virtualized QNX2 and have it talking to a Siemens PLC running machine control software and this works great, but what is missing is the ARCNet connection. I also need to emulate this and was planning on writing a driver that sends ARCNet traffic over the local Ethernet network (as broadcast UDP traffic). I have several Corman ARCnet cards and confirm that it is using a standard SMC COM90C165LJ chipset and standard PHY drivers, but the issue is they’re using an FPGA (Actel A40MX02-F). The ROM bios is easy enough to copy, but it is unclear what precisely the function of the FPGA is. I believe the statement of an earlier user is correct, they are using memory mapped I/O to simplify access. I’ve purchased an ISA to USB converter and intent to interrogate the ARCNet card to see what I can learn.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.