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
###############