###########################################################################
#
# Neutrino 6.5.1 on the bcm2835 Raspberry PI Board, with an ARM1176JZ-F core
#
###########################################################################
#
# On-board devices:
# ----------------
# device:   bcm2835 PL011 UART 
#       devc-pl011 -e -F -b115200
# device:   eMMC 
#       devb-mmcsd mmcsd
# device: graphics driver
#		 
[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 PI 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	

    # 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 1184x624 resolution
	display_msg "Starting display..."
	io-display -dvid=1184,did=624 -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 &
	sleep 1
	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


###########################################################################
## 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
fs-ext2.so
mkqnx6fs

libGLES_CL.so
libffb.so
libgf.so
libgf.so.1
devg-soft3d-fixed.so
libFF-T2K.so.3
egl-gears-lite
libimg.so.1

io-display
devg-bcm2835.so
/lib/libecpp-ne.so.4=libecpp-ne.so.4
##########################################################################
## 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

###########################################################################
## uncomment for GRAPHICS driver
###########################################################################
/etc/system/config/display.conf={
device \{
        drivername=bcm2835
        vid=1184
        did=624
        modeopts=/etc/system/config/bcm2835.conf
        display \{
                xres=1184
                yres=624
                refresh=60
                pixel_format=rgb565
                photon \{
						enabled=1
		\}
        \}

\}
}

/etc/system/config/bcm2835.conf=../prebuilt/etc/system/config/bcm2835.conf
/etc/system/config/img.conf=${QNX_TARGET}/etc/system/config/img.conf
# Background
/usr/share/backdrops/1024x768/default.jpg=../prebuilt/usr/backdrops/1184x624/default.jpg

###########################################################################
/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=../install/usr/opt/shelf.cfg
[+raw] /.ph/shelf/shelf.cfg=../install/usr/opt/shelf.cfg
/etc/system/enum/devices/graphics=${QNX_TARGET}/etc/system/enum/devices/graphics

###########################################################################
## 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
rm
dumper
sleep
pipe
syslogd
getconf
setconf
###########################################################################
## Photon files to run the window system
###########################################################################
/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/ptermcs=${QNX_TARGET}/armle/usr/photon/bin/ptermcs
[+raw] /usr/photon/bin/shelf=${QNX_TARGET}/armle/usr/photon/bin/shelf
[+raw] /usr/photon/dll/shelf/volume.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/volume.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/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/led.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/led.so
[+raw] /usr/photon/dll/shelf/ptrcam.so=${QNX_TARGET}/armle/usr/photon/dll/shelf/ptrcam.so
/usr/photon/bin/pterm=${QNX_TARGET}/armle/usr/photon/bin/pterm 
/usr/photon/bin/pterm=${QNX_TARGET}/armle/usr/photon/bin/phfind

/usr/photon/bin/pv=${QNX_TARGET}/armle/usr/photon/bin/pv
[+raw] /usr/photon/bin/phuser=${QNX_TARGET}/armle/usr/photon/bin/phuser
[+raw] /usr/photon/bin/phshutdown=${QNX_TARGET}/armle/usr/photon/bin/phshutdown
[+raw] /usr/photon/bin/saver=${QNX_TARGET}/armle/usr/photon/bin/saver
[+raw] /usr/photon/bin/savercfg=${QNX_TARGET}/armle/usr/photon/bin/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_updated2.so=${QNX_TARGET}/armle/usr/photon/dll/wframe_updated2.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/libFF-T2K-cache.so.2=${QNX_TARGET}/armle/usr/lib/libFF-T2K-cache.so.2
/lib/libFF-T2K.so.3=${QNX_TARGET}/armle/usr/lib/libFF-T2K.so.3
/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/palette/default.pal=${QNX_TARGET}/usr/photon/palette/default.pal

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

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