we have been running QNX2 in the industrial equipment we sell for almost 25 years; our equipment uses old 386 and 486 SBCs. it is getting difficult to find 386 and 486 SBCs, so i asked why we were were still using them; i was told that QNX2 could not run on modern computers. QNX2 is a 286-based OS, and i have been running it in a QEMU VM for several years, so i didn’t believe it. I tried booting an Intel Core i7 laptop from a boot floppy, but i just got the spinning arrow for a while, after which the boot stopped; i was able to type 255 characters (i’m assuming), but CTRL-Z would not bring up the login prompt). i then tried a working bootable QNX2 HDD using a circa 2002 SBC, but got the same result. when a co-worker of mine heard that i was running QNX2 in a QEMU VM, he tried to get it to run in VMware, but the boot diskette image would not boot (he, too, got the spinning arrow, which stopped after a few times around).
it occurred to me that the QNX2 second-stage bootloader might have some kind of loop counter in it that faster CPUs finish too quickly. QEMU uses what Fabrice Bellard, the author of QEMU, calls “micro-operations” to be able to simulate many processors, and it may default to that mode for x86 OSs as well. VMware probably attempted to run native x86 code when my co-worker tried to boot QNX2, and the ca. 2002 SBC was definitely running “bare metal.” i haven’t yet had a chance to finish investigating this, but i was wondering if anybody else has encountered this issue (and if so, if they have been able to work around it).