QNX NC 6.2.1 + QEMU

Hello,

I am new to qnx and would like to try it out. However, because I dont want to play with partitions I am trying it under qemu (i know I am asking for pain doing this, but hey its good pain :slight_smile: ). I have downloaded the QNX NC 6.2.1 cd and I can get it to boot. I press space and force partition install. It goes along alright until it gets to select a disk which gives me no options to select. no matter what I press i get invalid option and no other thing to do than reboot. I realise that qemu hasn’t got pci working correctly but surely there is a work around for this (I mention pci as it was the problem I had installing Syllable)?? I mean the disk is there, completely empty with no partition map on it at all. It should be detected as the first IDE drive but the menu has no options implying that it hasn’t been detected (even when I turn verbose on). The only message I get is the:

No PnP bios detected (no error) (or something similar).

has anybody encountered this?? any help would be greatly appreciated. i know its possible as there are screenshots: hhungry.hp.infoseek.co.jp/qnx.jpg

I don’t know about qemu but VMWare is support. There is even a native VMware gfx driver in 6.3.

Without emulation of PCI bios it think it requires a custom boot image and startup. Could be worse if qemu implemention of PCI is buggy.

I must apologise as there was an error in my above post. the demodisk works perfectly under qemu. with the 6.2.1 NC bootable cd must one have a pre-partitioned disk or is a completely empty image enough for QNX to auto-detect?? because surely if the demo disk works, the cd should also work???

I’ve got QNX 6.3.0 booting from a disk image in both Bochs and Qemu. For Qemu, you need a very recent build, as they recently fixed something to do with hard disks, and I could only boot from CD-Rom with versions not having that fix. The following version of Qemu did boot QNX for me:

h6.dion.ne.jp/~kazuw/qemu-wi … dows-2.zip

I believe that QemuInstall-20041207.exe from freeoszoo also booted QNX for me from disk image.

With Bochs (which I tried first), I had trouble finishing the installation process, but that could have been my inexperience using the software.
The image I created with Qemu boots fine in Bochs.

Networking is the issue I am now working on. In Bochs, QNX recognizes the network card. With Qemu, QNX does not recognize the network card.
I’d like to use a virtual network inside the PC, and Qemu apparently supports that easily with -user-net. How can I get QNX to recognize the Qemu NE2k network card?

I haven’t played with networking too much in Bochs, but so far I haven’t seen connectivity.

I’d like to use TAP-Win32 (see dev.realistanew.com/win32net/ which is related to PearPC) but haven’t figured out how to hook that up with Bochs or Qemu. Any thoughts would be appreciated.

By the way, how can I build a non-commercial image of QNX? Right now my image has one of our academic licenses in it. If I could build a non-commercial QNX image, would it be legal to post the image for others to use?

It would also be nice to build a very small QNX image. I’d like to use the image with Qemu or Bochs so that each student can develop their software in Momentics on an XP machine, and use qconn to debug their programs on a QNX host simulated on the XP machine. I’ve used some of the command-line tools to create a floppy which boots QNX, but it is not obvious to me how to build an image which will accept qconn connections for debugging purposes.

Thanks for any help,
Craig Scratchley

Here’s an update.

I believe that Qemu has problems with it’s PCI implementation. By using the -isa option of Qemu, I can disable PCI. Then an ISA ne2000 card is used. QNX still doesn’t recognize the card, but I understand that I can manually install the driver, etc.

I’ve tried the following:

#io-net -d ne2000 -p tcpip
#netmanager

Does that look correct?

If I then launch photon (ph), the network configuration utility shows me a device (en0) to configure. Tried DHCP, but I just end up with an hour-glass which doesn’t go away.

Any suggestions would be appreciated.

 Craig Scratchley

yep, except that ISA cards don’t have a proper auto-detect system so you have to specify the ioport and irq to match the card.

After a lot of fussing around, I eventually got networking working for QNX in Bochs using TAP-Win32. I could not get userland networking working with the Versions of QEMU that I tried. I used both Bochs and QEMU to build the image. Things are working fairly well, and qconn seems to do what it is supposed to. Let me know if you have any questions. Since QEMU is much faster than Bochs, hopefully a future version of QEMU will support networking in QNX.

It works for me:
io-net -d ne2000 ioport=0xc100,irq=10 -p tcpip
mount -T io-net devn -ne2000.so
ifconfig -a
then go to network, select dhcp and checkbox enable device
and then Apply i I have internet connection on my qnx inside qemu.
qemu wersion 0.9 windows xp sp2 and qnx 6.2

Yeah, the last version of QEMU I used a year or two ago was working better with QNX and I was able to do some networking. I still did have some problems with “userland” networking when I tried launching two instances of QNX and having them both communicate with the Windows host.

Here was my file magenta.bat:

[color=blue][b]:: Copyright © 2007 W. Craig Scratchley
:: School of Engineering Science, SFU, BC, Canada V5A 1S6
:: ENSC 351, July 2007
:: Copying and distribution of this file, with or without modification,
:: are permitted in any medium without royalty provided the copyright
:: notice and this notice are preserved.

qemu.exe %1 %2 %3 %4 %5 %6 -soundhw sb16 -net nic,macaddr=52:54:00:12:34:56,model=ne2k_isa -net user -net socket,listen=:1234 -m 64 -redir tcp:14868:10.0.2.15:4868 -redir tcp:18000:10.0.2.15:8000 -redir tcp:10021:10.0.2.15:21 -redir tcp:10023:10.0.2.15:23 -redir tcp:24868:10.0.2.16:4868 -redir tcp:28000:10.0.2.16:8000 -redir tcp:20021:10.0.2.16:21 -redir tcp:20023:10.0.2.16:23 -snapshot -hda “magentaQNX630SP3IDE4.img” -L “.”

:: Should I use a port different than 1234? – On a student Laptop, Norton thought there was a worm program involved.[/b]

And here was my file magentaCdFloppy.bat:

[color=blue][b]:: Copyright © 2007 W. Craig Scratchley
:: School of Engineering Science, SFU, BC, Canada V5A 1S6
:: ENSC 351, July 2007
:: Copying and distribution of this file, with or without modification,
:: are permitted in any medium without royalty provided the copyright
:: notice and this notice are preserved.

magenta.bat -cdrom //./d: -fda //./a:[/b]

And here was my file wintermute.bat:

[color=blue][b]:: Copyright © 2007 W. Craig Scratchley
:: School of Engineering Science, SFU, BC, Canada V5A 1S6
:: ENSC 351, July 2007
:: Copying and distribution of this file, with or without modification,
:: are permitted in any medium without royalty provided the copyright
:: notice and this notice are preserved.

qemu.exe %1 %2 %3 %4 -soundhw sb16 -net nic,macaddr=52:54:00:12:34:57,model=ne2k_isa -net socket,connect=127.0.0.1:1234 -m 32 -snapshot -hda “wintermuteQNX630SP3IDE4.img” -L “.”

:: Should I use a port different than 1234? – On a student Laptop, Norton thought there was a worm program involved.[/b]

Since that time, VMware has released free versions of their product (like VMware Server 1.x), and I have found VMware to be superior in a number of ways. I use an academically licensed version of VMware Workstation and my students use the free VMware Player. I believe VMware is available for Windows as well as one or more distributions of Linux.