help!! qnxbase.build gives error: /bin/sh failed

i used "qnxbase.build " to build a bootable CD, it gives me 2 errors:

  1. /.diskroot file for root not found

  2. spawn of /bin/sh failed: no such file or directory

after this, it just stops here. what’s going on?? following is my qnxbase.build

The build file for QNX Neutrino booting on a PC

[virtual=x86,bios +compress] boot = {
# Reserve 64k of video memory to handle multiple video cards
startup-bios -s64k

# PATH is the *safe* path for executables (confstr(_CS_PATH...))
# LD_LIBRARY_PATH is the *safe* path for libraries (confstr(_CS_LIBPATH))
#    i.e. This is the path searched for libs in setuid/setgid executables.
PATH=/proc/boot:/bin:/usr/bin:/opt/bin LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll:/opt/lib procnto-instr

}

[+script] startup-script = {
# To save memory make everyone use the libc in the boot image!
# For speed (less symbolic lookups) we point to libc.so.2 instead of libc.so
procmgr_symlink …/…/proc/boot/libc.so.2 /usr/lib/ldqnx.so.2

# Default user programs to priorty 10, other scheduler (pri=10o)
# Tell "diskboot" this is a hard disk boot (-b1)
# Tell "diskboot" to use DMA on IDE drives (-D1)
# Start 4 text consoles buy passing "-n4" to "devc-con" (-o)
# By adding "-e" linux ext2 filesystem will be mounted as well.
[pri=10o] PATH=/proc/boot diskboot -b1 -D0 -odevc-con,-n4 -odevc-con-hid,-n4

}

Include the current “libc.so”. It will be created as a real file using

its internal “SONAME”, with “libc.so” being a symlink to it. The symlink

will point to the last “libc.so.*” so if an earlier libc is needed

(e.g. libc.so.1) add it before the this line.

libc.so
libhiddi.so
libusbdi.so

Include all tie files for the default filesystems

libcam.so
io-blk.so
cam-disk.so
fs-qnx4.so
fs-dos.so
fs-ext2.so
cam-cdrom.so
fs-cd.so

USB for console driver

devu-ehci.so
devu-ohci.so
devu-uhci.so
devh-usb.so
devh-ps2ser.so

These programs only need to be run once from the boot image.

“data=uip” will waste less memory as the ram from the boot

image will be used directly without making a copy of the data

(i.e. as the default “data=cpy” does). When they have been

run once, they will be unlinked from /proc/boot.

[data=copy]
seedres
pci-bios
devb-eide
devb-amd
devb-aha2
devb-aha4
devb-aha7
devb-aha8
devb-adpu320
devb-ncr8
devb-umass
devb-ahci
devb-mvSata
umass-enum
umass-enum.cfg
io-usb
io-hid
diskboot
slogger
fesh
devc-con
devc-con-hid

These files will be unlinked after the system has started

to release the memory back to the system. They are only

needed during boot. If needed later on, they will be loaded

from the boot device.

unlink_list={
/proc/boot/devb-*
}

Ranzhang,

I’ve never built a bootable CD before, but I can tell you that

Tell “diskboot” this is a hard disk boot (-b1)

[pri=10o] PATH=/proc/boot diskboot -b1 -D0 -odevc-con,-n4 -odevc-con-hid,-n4

You might want to change that -b1 to -b2 (CD) and try again.

Tim

In a Neutrino system, almost everything is a file; devices, data, and even services are all typically represented as files. This lets you work with local and remote resources easily from the command line, or through any program that works with files.
It then makes copies of the standard build files in /boot/build (except multicore ones) and calls them qnxbase-drvrup.build and qnxbasedma-drvrup.build.