###########################################################################
#
# Neutrino 6.5.1 on the bcm2835 Raspberry p1 Board, with an ARM1176JZ-F core
#
###########################################################################
#
# On-board devices:
# ----------------
# device:   bcm2835 PL011 UART 
#       devc-pl011 -e -F -b115200
# device:   eMMC 
#       devb-mmcsd mmcsd 
[image=0x00200000]
[+compress]

# Default load using UBoot

[virtual=armle,raw] .bootstrap = {
	startup-bcm2835 -v
	PATH=/proc/boot:/bin:/usr/bin:/usr/photon/bin:/opt/bin:/sbin:/usr/sbin:/usr/lib:/tmp:/etc
	LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll:/opt/lib:/usr/photon/lib:/usr/lib:/tmp:/etc procnto-v6 -v
}
[+script] .script = {
    # Initialise the console
    procmgr_symlink ../../proc/boot/libc.so.3 /usr/lib/ldqnx.so.2
	display_msg Welcome to Neutrino 6.5.1 on the RaspBerry P1 Board
	display_msg Starting pl011 driver...
    devc-pl011 -e -F -b115200 
	waitfor /dev/ser1 
	reopen /dev/ser1 

	display_msg Starting slogger and pipe servers...
    # Start some common servers
    slogger &
    pipe &
	syslogd &

	#######################################################################
    ## SD memory card driver
    #######################################################################
    display_msg Starting SD memory card driver...
    devb-mmcsd mmcsd 
	waitfor /dev/hd0t11
    #mount -tdos /dev/hd0t11 /sd	
	#######################################################################
    ## audio PCM/I2S driver: this version we don't support audio 
    #######################################################################
	#io-audio -d i2s   
	
    # Start the main shell
	SYSNAME=nto
	TERM=qansi
	HOME=/		
	LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll:/usr/lib:/opt/lib
	PATH=/proc/boot:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/lib:/opt/bin
	SHELL=/bin/sh
	DISPLAY=127.1:0
	HOSTNAME=Neutrino
	TMPDIR=/tmp
	LOGNAME=root
	setconf _CS_LIBPATH /proc/boot:/lib:/usr/lib:/lib/dll:/lib/dll/mmedia:/usr/photon/lib:/usr/photon/dll:/usr/photon/plugins:/usr/lib:/opt/lib:/tmp
	setconf _CS_PATH /proc/boot:/bin:/usr/bin:/usr/photon/bin:/sbin:/usr/sbin:/usr/photon/bin:/usr/photon/savers:/usr/local/bin:/usr/lib:/opt/bin
	
	#######################################################################
    ## Graphic driver
    #######################################################################
	# Start lcd with 800x600 resolution
	#io-display -dvid=800,did=600 -c /etc/system/config/display.conf
	#Photon &
	#waitfor /dev/photon
	#io-graphics -c /etc/system/config/display.conf &
	#sleep 1
	# Start Photon Window Manager
	#pwm -b 0xff &
	# Start Photon Background Manager
	#bkgdmgr &

	#shelf &
	setconf _CS_LIBPATH /proc/boot:/lib:/usr/lib:/lib/dll:/lib/dll/mmedia:/usr/photon/lib:/usr/photon/dll:/usr/photon/plugins:/usr/lib:/opt/lib:/tmp
	setconf _CS_PATH /proc/boot:/bin:/usr/bin:/usr/photon/bin:/sbin:/usr/sbin:/usr/photon/bin:/usr/photon/savers:/usr/local/bin:/usr/lib:/opt/bin
	
    [+session] ksh &
}

# Redirect console messages
[type=link] /bin/sh=/proc/boot/ksh
[type=link] /dev/console=/dev/ser1
[type=link] /tmp=/dev/shmem
[type=link] /bin/waitfor=/bin/on
[type=link] /sbin/devc-pl011=/proc/boot/devc-pl011
[type=link] /sbin/devc-pty=/proc/boot/devc-pty
[type=link] /usr/bin/pdebug=/proc/boot/pdebug
# Programs require the runtime linker (ldqnx.so) to be at a fixed location


###########################################################################
## uncomment for legacy binary support (Momentics 6.3.2 and earlier)  
###########################################################################
libc.so.2

# Executables
[data=c]
libsocket.so

[perms=+r,+x]
/proc/boot/devc-pl011=../src/hardware/devc/pl011/arm/le/devc-pl011
# Shared libraries
libc.so
libm.so.2
libdisputil.so.2
libm.so
libc.so.3
# libaoi.so
# /usr/lib/libaoi.so=libaoi.so
# /usr/lib/libaoi.so.1=libaoi.so.1

# libsocket.so
# devnp-shim.so
# libsocket.so.2
# libsocket.so.3
libmalloc.so.2
###########################################################################
## uncomment for BLOCK drivers (SD, EIDE, USB mass storage)
###########################################################################
libcam.so
io-blk.so
cam-disk.so
cam-cdrom.so
fs-qnx4.so
fs-qnx6.so
fs-dos.so

###########################################################################
## NETWORK driver
###########################################################################
# io-pkt-v4
# dhcp.client
# inetd
pipe
syslogd
getconf
setconf
# nicinfo
# tftp
# ftp
# telnet
# tftpd
# ftpd
# telnetd
# ifconfig
# ping
# sysctl
# rshd
# fs-cifs
# fs-nfs2
# fs-nfs3
# dumper
sleep
###########################################################################
## Network services (telnet) support
##########################################################################
# /usr/sbin/inetd=inetd
# /usr/sbin/telnetd=telnetd
# /bin/login=login
# /usr/bin/passwd=passwd

# [type=link] /var/log=/tmp
# [type=link] /var/run=/tmp
# [type=link] /var/lock=/tmp
devc-pty

#
# NOTE: The following is very insecure and must not be used in a production
#       environment.  This allows telnet access to root without a password!
#       Even with a password this is not secure as telnet passes the password
#       unencrypted over the network.  NO NOT USE THIS IN AN UNSECURED ENVIRONMENT!
#       This configuration is only meant for initial setup and testing of a new board.
#       If you need network access use a secure protocol like ssh (e.g. OpenSSH or Drop Bear).
#
# /etc/inetd.conf = {
# ftp		stream	tcp	nowait	root	/usr/sbin/ftpd in.ftpd -l
# telnet	stream tcp nowait root /usr/sbin/telnetd in.telnetd

# shell	stream tcp nowait root /bin/rshd in.rshd
# login	stream tcp nowait root /bin/rlogind in.rlogind
# tftp	dgram udp wait ftp /bin/tftpd in.tftpd
# }
# /etc/passwd=${QNX_TARGET}/etc/passwd
# /etc/group=${QNX_TARGET}/etc/group

# /etc/hosts=${QNX_TARGET}/etc/hosts
# /etc/services=${QNX_TARGET}/etc/services
# /etc/motd=${QNX_TARGET}/etc/motd
# /etc/esh = {
# }

##########################################################################
## curses support (e.g. for more)
##########################################################################
/etc/termcap=${QNX_TARGET}/etc/termcap
/usr/lib/terminfo=${QNX_TARGET}/usr/lib/terminfo
/usr/lib/terminfo/a=${QNX_TARGET}/usr/lib/terminfo/a
/usr/lib/terminfo/q=${QNX_TARGET}/usr/lib/terminfo/q
/usr/lib/terminfo/v=${QNX_TARGET}/usr/lib/terminfo/v
/usr/lib/terminfo/x=${QNX_TARGET}/usr/lib/terminfo/x

##########################################################################
## Momentics IDE remote target debug binaries and tracelogger
###########################################################################
# /usr/sbin/qconn=qconn
# /usr/bin/pdebug=pdebug
# /usr/lib/devnp-shim.so=${QNX_TARGET}/armle-v7/lib/dll/devnp-shim.so
# /usr/lib/libmalloc.so.2=${QNX_TARGET}/armle-v7/usr/lib/libmalloc.so.2
# /lib/libecpp-ne.so.4=libecpp-ne.so.4
# /usr/sbin/tracelogger=tracelogger
# libsocket.so.3
# libsocket.so
# libsocket.so.2
###########################################################################
## uncomment for REMOTE_DEBUG
###########################################################################
# qconn
# devc-pty
# /usr/bin/pdebug=pdebug

###########################################################################
## AUDIO driver
###########################################################################
# io-audio
# wave
# waverec
# mix_ctl
# libasound.so
# [+raw] /usr/photon/bin/mixer=mixer
# /lib/libasound.so=${QNX_TARGET}/armle/lib/libasound.so
# /lib/libasound.so.2=${QNX_TARGET}/armle/lib/libasound.so.2
# /usr/lib/libaoi.so=${QNX_TARGET}/armle/usr/lib/libaoi.so
# /usr/lib/libaoi.so.1=${QNX_TARGET}/armle/usr/lib/libaoi.so.1
# /lib/libm.so=${QNX_TARGET}/armle/lib/libm.so
# /lib/libm.so.2=${QNX_TARGET}/armle/lib/libm.so.2
# /lib/dll/deva-util-restore.so=${QNX_TARGET}/armle/lib/dll/deva-util-restore.so
# ../src/hardware/deva/ctrl/i2s/arm/dll.le/deva-ctrl-i2s.so
###########################################################################
## uncomment for GRAPHICS driver
###########################################################################
# io-display

# /etc/system/config/display.conf={
# device \{
        # drivername=bcm2835
        # vid=800
        # did=600
        # modeopts=/etc/system/config/bcm2835.conf
        # display \{
                # xres=800
                # yres=600
                # refresh=60
                # pixel_format=rgb565
        # \}
# \}
# }

# /etc/system/config/bcm2835.conf=../prebuilt/etc/system/config/bcm2835.conf
# /etc/system/config/img.conf=${QNX_TARGET}/etc/system/config/img.conf

###########################################################################
## uncomment for SD memory card driver
###########################################################################
/proc/boot/devb-mmcsd=../src/hardware/devb/mmcsd/arm/le/devb-mmcsd


###########################################################################
## uncomment for GF binaries
###########################################################################
# vsync

###########################################################################
## general commands
###########################################################################
cp
ls
cat
ksh
pipe
pidin
uname
slogger
sloginfo
slay
mount
umount
shutdown
hogs
###########################################################################
## Photon files to run the window system
###########################################################################
# io-display
# devg-bcm2835.so
# libGLES_CL.so
# libffb.so
# libgf.so
# devg-soft3d-fixed.so
# libFF-T2K.so.3
# egl-gears-lite
# libimg.so.1
# /usr/photon/lib/libph.so.3=${QNX_TARGET}/armle/usr/lib/libph.so.3
# /usr/photon/lib/libphrender.so.2=${QNX_TARGET}/armle/usr/lib/libphrender.so.2
# /usr/photon/lib/libphexlib.so.3=${QNX_TARGET}/armle/usr/lib/libphexlib.so.3
# /usr/photon/lib/libphimg.so=libphimg.so
# /usr/photon/lib/libjpeg.so=libjpeg.so
# /usr/photon/lib/pi_io_jpeg.so=pi_io_jpeg.so
# /usr/photon/bin/io-graphics=io-graphics
# /usr/photon/bin/Photon=Photon
# /usr/photon/bin/pwm=pwm
# /usr/photon/bin/phfont=phfont
# /usr/photon/bin/bkgdmgr=bkgdmgr
# [+raw] /usr/photon/bin/shelf=shelf
# /usr/photon/bin/pwmopts=pwmopts
# /usr/photon/bin/phlogin=phlogin
# /usr/photon/bin/phlogin2=phlogin2
# /usr/photon/bin/phfont=phfont
# [+raw] /usr/photon/bin/pterm=pterm
# [+raw] /usr/photon/bin/ptermcs=ptermcs
# /usr/photon/bin/fontadmin=fontadmin
# /usr/photon/bin/phfont=phfont
# /usr/photon/bin/phfind=phfind
# /usr/photon/bin/phgrafx=phgrafx
# /usr/photon/bin/phgrafx-startup=phgrafx-startup
# /usr/photon/bin/pv=pv
# [+raw] /usr/photon/bin/phuser=phuser
# [+raw] /usr/photon/bin/phshutdown=phshutdown
# [+raw] /usr/photon/bin/saver=saver
# [+raw] /usr/photon/bin/savercfg=savercfg
# /usr/photon/keyboard/en_US_101.kbd=${QNX_TARGET}/usr/photon/keyboard/en_US_101.kbd
# /usr/photon/dll/pt_multihook.so=${QNX_TARGET}/armle/usr/photon/dll/pt_multihook.so
# /usr/photon/dll/wframe_updated.so=${QNX_TARGET}/armle/usr/photon/dll/wframe_updated.so
# /usr/photon/dll/wframe_updated2.so=${QNX_TARGET}/armle/usr/photon/dll/wframe_updated2.so
# [+raw] /usr/photon/dll/shelf/clock.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/clock.so
# [+raw] /usr/photon/dll/shelf/launcher.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/launcher.so
# [+raw] /usr/photon/dll/shelf/launchmenu.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/launchmenu.so
# [+raw] /usr/photon/dll/shelf/pload.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/pload.so
# [+raw] /usr/photon/dll/shelf/taskbar.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/taskbar.so
# [+raw] /usr/photon/dll/shelf/volume.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/volume.so
# [+raw] /usr/photon/dll/shelf/worldview.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/worldview.so
# [+raw] /usr/photon/dll/shelf/kbdswitch.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/kbdswitch.so
# [+raw] /usr/photon/dll/shelf/ptrcam.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/ptrcam.so
# [+raw] /usr/photon/dll/shelf/led.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/led.so
# /usr/lib/libffb.so.2=libffb.so.2
# /usr/lib/libffb.so=libffb.so
# /usr/lib/libdisputil.so.2=${QNX_TARGET}/armle/usr/lib/libdisputil.so.2
# /usr/lib/libdisputil.so=${QNX_TARGET}/armle/usr/lib/libdisputil.so
# /usr/photon/lib/libAp.so.3=${QNX_TARGET}/armle/usr/lib/libAp.so.3
# /usr/photon/lib/libph.so.3=${QNX_TARGET}/armle/usr/lib/libph.so.3
# /usr/photon/lib/libm.so.2=${QNX_TARGET}/armle/lib/libm.so.2
# /usr/photon/lib/libphrender.so.2=${QNX_TARGET}/armle/usr/lib/libphrender.so.2
# /usr/photon/lib/libphexlib.so.3=${QNX_TARGET}/armle/usr/lib/libphexlib.so.3

###########################################################################
## Font libraries and fonts:
###########################################################################
# /lib/libfont.so.1=libfont.so.1
# /lib/dll/phfont.so=${QNX_TARGET}/armle/lib/dll/phfont.so 
# /lib/dll/font/ttfFFcore.so=${QNX_TARGET}/armle/lib/dll/font/ttfFFcore.so 
# /lib/dll/font/PHFcore.so=${QNX_TARGET}/armle/lib/dll/font/PHFcore.so 
# /lib/dll/font/FCcore.so=${QNX_TARGET}/armle/lib/dll/font/FCcore.so 
# /lib/libblkcache.so=libblkcache.so 
# /lib/libblkcache.so.2=libblkcache.so.2
# /usr/photon/font_repository/fontdir = { 
# ; 
# ; fontdir config file 
# ; 
# phcursor,.phf,Photon Cursor,0,,E900-E921,Np,32x32,3K 
# primasansmonobts,0@tt2009m_.ttf,PrimaSansMono BT,0,,0020-F002,f,79x170,109K 
# } 

# /usr/photon/font_repository/fontext = { 
# ; 
# ; fontext config file 
# ; 
# +normal = primasansmonobts, phcursor 
# } 

# /usr/photon/font_repository/fontmap = { 
# ; 
# ; fontmap config file 
# ; 
 # = primasansmonobts 
# } 
###########################################################################
## phfontFA Supports everything (.phf and .ttf), including .pfr fonts, 
##			which are older scalable font technology. 
## phfontFF Supports everything (.phf and .ttf), but not .pfr. 
###########################################################################

# /usr/photon/font_repository/tt2009m_.ttf = ${QNX_TARGET}/usr/photon/font_repository/tt2009m_.ttf 
# /usr/photon/font_repository/phcursor.phf = ${QNX_TARGET}/usr/photon/font_repository/phcursor.phf 
# /usr/photon/font_repository/fontmap = ${QNX_TARGET}/usr/photon/font_repository/fontmap 
# /usr/photon/font_repository/fontopts = ${QNX_TARGET}/usr/photon/font_repository/fontopts  
# /usr/photon/palette/default.pal=${QNX_TARGET}/usr/photon/palette/default.pal

###########################################################################
## uncomment for Image Loading
###########################################################################
# [prefix=/lib/dll]
# img_codec_bmp.so
# img_codec_gif.so
# img_codec_jpg.so
# img_codec_png.so
# img_codec_sgi.so
# img_codec_tga.so

###########################################################################
## Photon wm files
###########################################################################
# [+raw] /.ph/wm/wm.cfg=${QNX_TARGET}/etc/photon/wm/wm.cfg
# [+raw] /.ph/wm/wm.menu=${QNX_TARGET}/etc/photon/wm/wm.menu
# [+raw] /.ph/wm/wm.patterns=${QNX_TARGET}/etc/photon/wm/wm.patterns
# [+raw] /.ph/wm/wm.schemes=${QNX_TARGET}/etc/photon/wm/wm.schemes

# [+raw] /etc/photon/wm/wm.cfg=${QNX_TARGET}/etc/photon/wm/wm.cfg
# [+raw] /etc/photon/wm/wm.menu=${QNX_TARGET}/etc/photon/wm/wm.menu
# [+raw] /etc/photon/wm/wm.patterns=${QNX_TARGET}/etc/photon/wm/wm.patterns
# [+raw] /etc/photon/wm/wm.schemes=${QNX_TARGET}/etc/photon/wm/wm.schemes

# [+raw] /usr/photon/config/wm/wm.cfg=${QNX_TARGET}/etc/photon/wm/wm.cfg
# [+raw] /usr/photon/config/wm/wm.menu=${QNX_TARGET}/etc/photon/wm/wm.menu
# [+raw] /usr/photon/config/wm/wm.patterns=${QNX_TARGET}/etc/photon/wm/wm.patterns
# [+raw] /usr/photon/config/wm/wm.schemes=${QNX_TARGET}/etc/photon/wm/wm.schemes
# /etc/system/config/crtc-settings=${QNX_TARGET}/usr/photon/config/crtc-settings
# /etc/photon/config/crtc-settings=${QNX_TARGET}/usr/photon/config/crtc-settings
# /etc/photon/pterm/pterm.rc=${QNX_TARGET}/usr/photon/config/pterm/pterm.rc
# /etc/photon/pterm/psh.rc=${QNX_TARGET}/usr/photon/config/pterm/psh.rc
# [+raw] /etc/photon/shelf/shelf.cfg=${QNX_TARGET}/etc/photon/shelf/shelf.cfg
# [+raw] /.ph/shelf/shelf.cfg=${QNX_TARGET}/etc/photon/shelf/shelf.cfg
###########################################################################
## END OF BUILD SCRIPT
###########################################################################
