Parallels VM for Mac

I have got my new MacBook Pro and am now trying to get QNX to boot
under Parallels Desktop. This is the equivalent of VMware for Max OS X
on Intel.

Parallels will work out of the box with MS-DOS, Windows 3.1 through to
Windows XP as well as OS/2, BSD, and many Linux distros. So I am
optimistic that it should work with QNX x86 without too much pain.
Unfortunately it doesn’t, yet.

To try to figure out why not, I have made a small test boot image which
is included below. When I boot with this image, the following is
displayed on the Parallels emulated console:

Hit Esc for
altboot…
System page at phys:0000f000 user:fed11000 kern:fed13000
Starting next program at vf000e480

At this point the CPU is busy but nothing further is displayed.

To me, this looks like the startup-bios succeeds but for some reason it
never gets to the point where it starts to run the startup-script.

Can anyone throw any insight into what might be going on? Any
suggestions on how to proceed from here?

NB I am currently using 6.2.1 for my tests but can try 6.3 if anyone
thinks it will make a difference.

Thanks.

Rob Rutherford
Ruzz Technology


###########################################################################

Neutrino on an PC BIOS compatible system

###########################################################################

[virtual=x86,bios +compress] boot = {
startup-bios -Nruzztest -v -Dconsole
PATH=/proc/boot:/x86/bin
LD_LIBRARY_PATH=/proc/boot:/dev/shmem:/x86/lib:/x86/dll procnto
}

[+script] startup-script = {
display_msg Starting startup-script

Start up some consoles

devc-con -n4 &
reopen /dev/con1

display_msg Welcome to Neutrino on an PC compatible BIOS system

Start the pci server

seedres
pci-bios &
waitfor /dev/pci

display_msg Started pci-bios OK Now Starting disk drivers

Disk drivers (The default one and some fun others for your pleasure…)

devb-eide blk automount=hd0t79:/,automount=hd0t77:/usr/qnx4 &

devb-eide blk automount=hd0t79:/,cache=2m,delwri=5 &

Wait for a bin for the rest of the commands (up to 60 secs)

waitfor /x86/bin 60

display_msg Started disk drivers OK. Now What?

Some common servers

pipe &
mqueue &
devc-ser8250 &
devc-pty &

Start a debug server for debugging programs

waitfor /dev/ser1
[+session] pdebug /dev/ser1 &

These env variables inherited by all the programs which follow

SYSNAME=nto
TERM=qansi

Start some extra shells on other consoles

reopen /dev/con2
[+session] sh &
reopen /dev/con3
[+session] sh &

Start a high priority shell just in case…

reopen /dev/con4
[pri=25 +session] sh &

Start the main shell

reopen /dev/con1
[+session] sh

[+session] login -p

}

Cheat and make the /temp point to the shared memory area…

[type=link] /tmp=/dev/shmem

Redirect console messages for syslog

[type=link] /dev/console=/dev/con1

Programs require the runtime linker (ldqnx.so) to be at a fixed location

[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so

add symbolic links for bin and lib (files in /usr/nto. e.g. with devb-eide)

[type=link] /bin=x86/bin
[type=link] /lib=x86/lib
[type=link] /dll=x86/dll
[type=link] /sys=x86/sys

We use the “c” shared lib (which also contains the runtime linker)

libc.so

Just incase someone needs floating point…

fpemu.so.2

Include the socket library

libsocket.so

Include the hard disk files so we can access files on the disk

libcam.so
io-blk.so

filesystem required shared libs

cam-disk.so
fs-qnx4.so

cdrom required shared libs

cam-cdrom.so
fs-cd.so

The files above this line can be shared by mutiple processes

[data=c]

Executables must currently be below this line

Include a console driver

devc-con

Include the disk drivers.

devb-eide

Include pci server

pci-bios
seedres

###############