Hi…
I have the following mk.build file that produces a .boot image.
Every thing works (i.e. the system boots, I can ping, etc.), but the
qnet aspect of it is both slow and unreliable (i.e. qnet resets all the
time, drops out in the mist of data transfer, etc.).
However, when I slay io-net and restart it all over again, then… it
works fine!
(1) Any suggestions on what to do so that qnet starts correctly the
first time around? Is there any thing missing in this .build file??
(2) I wonder if you could indicate what to do so that I start the
/etc/rc.d/rc.local file from the script? Do I just call it from the
script?
Thanks…
Miguel.
###########################################################################
[search=/sbin:/usr/sbin:/bin:/usr/bin:/lib:/lib/dll:/boot/sys]
[virtual=x86,bios +compress] boot = {
startup-bios -Nmachine-name
startup-bios -s 64k
PATH=/proc/boot:/bin:/sbin
LD_LIBRARY_PATH=/proc/boot:/dev/shmem:/lib:/lib/dll:/usr/lib procnto
}
[+script] startup-script = {
Populate the kernel resource database
seedres
Start the PCI server for drivers that need pci.
display_msg “Starting pci-bios server…”
pci-bios &
waitfor /dev/pci
These env variables inherited by all the programs which follow
TERM=qansi
PATH=/proc/boot:/bin:/usr/bin:/sbin:/usr/sbin
LD_LIBRARY_PATH=/proc/boot:/lib:/lib/dll:/usr/lib
DL_DEBUG=1
Start the standard PC console driver and
make it the default output (reopen).
display_msg “Starting up console driver…”
devc-con -n4 &
waitfor /dev/con1
reopen /dev/con1
Pipe provides pipe() services.
display_msg “Starting pipe manager…”
pipe &
mqueue &
devc-pty &
waitfor /dev/pipe
Start eide driver to get drive access.
display_msg “Starting eide driver…”
devb-eide blk automount=hd0t79:/ &
#devb-eide eide dma,slave blk
auto=partition,cache=94M,alloc=94M,delwri=60 &
waitfor /bin 30
\
Network drivers and filesystems
display_msg “Starting Network driver…”
io-net -dspeedo -ptcpip
sleep 4
waitfor /dev/io-net
ifconfig en0 10.0.0.205 netmask 255.255.255.0 up
sleep 2
waitfor /dev/socket
mount -Tio-net -o"host=me5.me.com" npm-qnet.so
sleep 2
waitfor /net/saic5
netmanager
sleep 2
fs-nfs2 10.2:/usr/nto / 10.2:/ /usr/qnx4 &
welcome
display_msg “Welcome to Neutrino on an PC compatible BIOS system”
Start some extra shells on other consoles
reopen /dev/con2
[+session pri=10r] fesh &
reopen /dev/con3
[+session pri=10r] fesh &
[+session] fesh &
Start a high priority shell just in case…
reopen /dev/con4
[+session pri=30r] fesh &
[pri=25 +session] fesh &
Start the main shell
reopen /dev/con1
[+session pri=10r] fesh &
[+session] fesh
[+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
We use the “c” shared lib (which also contains the runtime linker)
/lib/libc.so
Programs require the runtime linker (ldqnx.so) to be at a fixed
location
[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so
Just incase someone needs floating point…
#fpemu.so
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
Include the network files so we can access files across the net
#devn-speedo.so
#npm-tcpip.so
#npm-qnet.so
###############################################################
The files above this line can be shared by mutiple processes
###############################################################
[data=c]
seedres
devc-con # Include a console driver
devb-eide # Include DiskOnChip driver.
pci-bios # Include pci server
/bin/mount
/bin/fesh
/sbin/pipe
/sbin/mqueue
/usr/bin/sleep
/usr/bin/ifconfig
################################################################
my opinions are mine, only mine, solely mine, and they are not related
in any possible way to the institution(s) in which I study and work.
Miguel Simon
Research Engineer
School of Aerospace and Mechanical Engineering
University of Oklahoma
http://www.amerobotics.ou.edu/
http://www.saic.com