Buildfile for an NFS-mounting target

Updated: April 19, 2023

Here's a sample buildfile for an NFS-mounting target.

Note: In a real buildfile, you can't use a backslash (\) to break a long line into shorter pieces, but we've done that here, just to make the buildfile easier to read.
###########################################################################
##
## QNX Neutrino RTOS on the fictitious ABC123 board
##
###########################################################################
##
## SUPPORTED DEVICES:
##
## SERIAL:  RS-232 ports UART0 and UART1
## PCI:     4 PCI slots
## NETWORK: AMD 79C973
## FLASH:   4MB Intel Strata Flash
## USB:     UHCI USB Host Controller
##
##  - For detailed instructions on the default example configuration for
##    these devices see the "CONFIGURING ON-BOARD SUPPORTED HARDWARE"
##    section below the build script section, or refer to the BSP docs.
##  - Tip: Each sub-section which relates to a particular device is marked
##         with its tag (ex. SERIAL). You can use the search features of
##         your editor to quickly find and add or remove support for
##         these devices.
##
###########################################################################
##
## NOTES:
##
###########################################################################

###########################################################################
## START OF BUILD SCRIPT 
###########################################################################

[image=0x800a0000]
[virtual=armle-v7,srec] .bootstrap = {
###########################################################################
## default frequency for 4kc is 80MHz; adjust -f parameter for different 
## frequencies
###########################################################################
    startup-abc123 -f 80000000 -v
    PATH=:/proc/boot procnto-32 -v 
}

[+script] .script = {

    display_msg Welcome to the QNX Neutrino RTOS on the ABC123 board

    #######################################################################
    ## SERIAL driver
    #######################################################################
    devc-ser8250 -e -c1843200 -b38400 0x180003f8,0x80020004 \
0x180002f8,0x80020003 &
    waitfor /dev/ser1
    reopen /dev/ser1

    slogger2 &
    pipe

    #######################################################################
    ## PCI server
    #######################################################################
    display_msg Starting PCI server...

    pci-abc123 &
    waitfor /dev/pci 4
    
    #######################################################################
    ## FLASH driver
    #######################################################################
    # display_msg Starting flash driver...
    #
    # devf-abc123 &
    
    #######################################################################
    ## NETWORK driver
    ##  - substitute your IP address for 1.2.3.4
    #######################################################################
    display_msg Starting on-board ethernet with the v6 TCP/IP stack...
     
    io-pkt-v6-hc -decm
    if_up -p ecm0
    ifconfig ecm0 1.2.3.4

    #######################################################################
    ## REMOTE_DEBUG (gdb or Momentics)
    ##  - refer to the help documentation for the gdb, qconn and the IDE
    ##    for more information on remote debugging
    ##  - the commands shown require that NETWORK be enabled too
    #######################################################################
    # devc-pty &
    # waitfor /dev/ptyp0 4
    # qconn port=8000



    #######################################################################
    ## USB driver
    #######################################################################
    # display_msg Starting USB driver...
    #
    # io-usb-otg -duhci &
    # waitfor /dev/io-usb/io-usb 4
    
    #######################################################################
    ## These env variables are inherited by all the programs which follow
    #######################################################################
    SYSNAME=nto
    TERM=qansi
    PATH=:/proc/boot:/bin:/sbin:/usr/bin:/usr/sbin
    LD_LIBRARY_PATH=:/proc/boot:/lib:/usr/lib:/lib/dll

    #######################################################################
    ## NFS_REMOTE_FILESYSTEM
    ##  - This section is dependent on the NETWORK driver
    ##  - Don't forget to properly configure and run the nfsd daemon on the
    ##    remote file server.
    ##  - substitute the hostname or IP address of your NFS server for
    ##    nfs_server. The server must be exporting
    ##    "/usr/qnx630/target/qnx6/armle-v7".
    #######################################################################
    display_msg Mounting NFS filesystem...
     
    waitfor /dev/socket 4
    fs-nfs3 nfs_server:/usr/qnx630/target/qnx6/armle-v7 /mnt

    [+session] ksh &
}

[type=link] /bin/sh=/proc/boot/ksh
[type=link] /dev/console=/dev/ser1
[type=link] /tmp=/dev/shmem

###########################################################################
## uncomment for NFS_REMOTE_FILESYSTEM
###########################################################################
[type=link] /bin=/mnt/bin
[type=link] /sbin=/mnt/sbin
[type=link] /usr/bin=/mnt/usr/bin
[type=link] /usr/sbin=/mnt/usr/sbin
[type=link] /lib=/mnt/lib
[type=link] /usr/lib=/mnt/usr/lib
[type=link] /etc=/mnt/etc

libc.so
libgcc_s.so.1
/usr/lib/ldqnx.so.2=ldqnx.so.2
libm.so

###########################################################################
## uncomment for NETWORK driver
###########################################################################
devnp-usbnet.so
libsocket.so

###########################################################################
## uncomment for USB driver
###########################################################################
# devu-hcd-uhci.so
# libusbdi.so

devc-ser8250

###########################################################################
## uncomment for REMOTE_DEBUG (gdb or Momentics)
###########################################################################
# devc-pty
# qconn

###########################################################################
## uncomment for PCI server
###########################################################################
pci-abc123
pci

###########################################################################
## uncomment for FLASH driver
###########################################################################
# devf-abc123
# flashctl

###########################################################################
## uncomment for NETWORK driver
###########################################################################
io-pkt-v6-hc
ifconfig
nicinfo
netstat 
ping

###########################################################################
## uncomment for USB driver
###########################################################################
# io-usb-otg
# usb

###########################################################################
## uncomment for NFS_REMOTE_FILESYSTEM
###########################################################################
fs-nfs3

###########################################################################
## general commands
###########################################################################
ls
ksh
pipe
pidin
uname
slogger2
slog2info
slay

###########################################################################
## END OF BUILD SCRIPT
###########################################################################