Photon build file


I am trying to build an Photon image on my PC with QNX 6.3.2 installed.

There are errors coming like:
unable to access “/dev/phfont” (2)
unable to start “pterm” (2)

Can Please guide me how to go with it, I will send you the complete

build file below

[virtual=x86,bios +compress] .bootstrap = {
startup-bios -v
PATH=:/proc/boot:/bin:/usr/bin:/opt/bin:/sbin:/usr/sbin LD_LIBRARY_PATH=:/proc/boot:/lib:/usr/lib:/lib/dll:/opt/lib procnto -v
[+script] .script = {
procmgr_symlink …/…/proc/boot/ /usr/lib/

display_msg Welcome to QNX Neutrino 6.3 on an x86 platform with Photon

slogger &


display_msg Starting Photon
waitfor /dev/photon 10

display_msg Starting Input
devi-hirun kbd kbddev ps2 mousedev &

display_msg Starting Graphics
io-graphics -d i830 vid=0x8086,did=0x2582,photon,xres=1024,yres=768,bitpp=32,refresh=60  -pphoton 
waitfor /dev/phfont 10

display_msg Starting Window Manager
pwm &
devc-pty &
display_msg Starting window manager...
 /usr/photon/bin/pwm &

display_msg Starting Terminal
pterm /proc/boot/ksh 


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

standard libs

photon libs

io-graphics libs

graphics driver
#/etc/system/config/crtc-settings =${QNX_TARGET}/etc/system/config/crtc-settings
/usr/photon/palette/default.pal = ${QNX_TARGET}/usr/photon/palette/default.pal
#/usr/photon/palette/Xbest.pal = ${QNX_TARGET}/usr/photon/palette/Xbest.pal
#/usr/photon/keyboard/en_US_101.kbd = ${QNX_TARGET}/usr/photon/keyboard/en_US_101.kbd

font libs

/lib/dll/font/ = ${QNX_TARGET}/x86/lib/dll/font/
/lib/dll/font/ = ${QNX_TARGET}/x86/lib/dll/font/

font config

/usr/photon/font_repository/phcursor.phf = ${QNX_TARGET}/usr/photon/font_repository/phcursor.phf
/usr/photon/font_repository/pcterm12.phf = ${QNX_TARGET}/usr/photon/font_repository/pcterm12.phf
/usr/photon/font_repository/pcterm14.phf = ${QNX_TARGET}/usr/photon/font_repository/pcterm14.phf
/usr/photon/font_repository/pcterm20.phf = ${QNX_TARGET}/usr/photon/font_repository/pcterm20.phf
/usr/photon/font_repository/phcursor.phf = ${QNX_TARGET}/usr/photon/font_repository/phcursor.phf
/usr/photon/font_repository/tt2001m_.ttf = ${QNX_TARGET}/usr/photon/font_repository/tt2001m_.ttf
/usr/photon/font_repository/tt2002m_.ttf = ${QNX_TARGET}/usr/photon/font_repository/tt2002m_.ttf
/usr/photon/font_repository/tt2003m_.ttf = ${QNX_TARGET}/usr/photon/font_repository/tt2003m_.ttf
/usr/photon/font_repository/tt2004m_.ttf = ${QNX_TARGET}/usr/photon/font_repository/tt2004m_.ttf
/usr/photon/font_repository/tt2009m_.ttf = ${QNX_TARGET}/usr/photon/font_repository/tt2009m_.ttf
/usr/photon/font_repository/tt2011m_.ttf = ${QNX_TARGET}/usr/photon/font_repository/tt2011m_.ttf

/usr/photon/font_repository/fontopts = ${QNX_TARGET}/usr/photon/font_repository/fontopts
/usr/photon/font_repository/mappings = ${QNX_TARGET}/usr/photon/font_repository/mappings
/usr/photon/font_repository/fontkey = ${QNX_TARGET}/usr/photon/font_repository/fontkey

/usr/photon/font_repository/fontdir = =${QNX_TARGET}/usr/photon/font_repository/fontdir

/usr/photon/font_repository/fontmap = =${QNX_TARGET}/usr/photon/font_repository/fontmap

/usr/photon/font_repository/fontdir = {
; fontdir config file
phcursor,.phf,Photon Cursor,0,E900-E921,Np,32x32,3K
phcursor,.phf,Photon Cursor,0,E900-E921,Np,32x32,3K
primasansbts,0@tt2001m_.ttf,PrimaSans BT,0,0020-F002,MIp,133x129,75K
primasansbtsi,0@tt2002m_.ttf,PrimaSans BT,0,I,0020-F002,MIp,134x129,77K
primasansbtsb,0@tt2003m_.ttf,PrimaSans BT,0,B,0020-F002,MIp,143x130,70K
primasansbtsbi,0@tt2004m_.ttf,PrimaSans BT,0,BI,0020-F002,MIp,145x129,81K
primasansmonobts,0@tt2009m_.ttf,PrimaSansMono BT,0,0020-F002,MIf,60x129,55K
primasansmonobtsb,0@tt2011m_.ttf,PrimaSansMono BT,0,B,0020-F002,MIf,60x130,58K
pcterm12,.phf,PC Terminal,12,0000-00FF,Nf,6x12,13K
pcterm14,.phf,PC Terminal,14,0000-00FF,Nf,8x14,13K
pcterm20,.phf,PC Terminal,20,0000-00FF,Nf,10x19,18K

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

/usr/photon/font_repository/fontmap = {
; fontmap config file
BalloonFont = primasansbts
FixedFont = primasansmonobts
HeadingFont = primasansbts
MenuFont = primasansbts
MessageFont = primasansbts
TextFont = primasansbts
TitleFont = primasansbts
Helvetica = primasansbts
Verdana = primasansbts
monospace = primasansmonobts
sans-serif = primasansbts
serif = primasansbts
web = primasansbts
arial = primasansbts

term = pcterm
geneva = primasansbts
monaco = primasansbts
ny = primasansbts
courier = primasansmonobts
dutch = primasansbts
swiss = primasansbts
times = primasansbts
wingbats = primasansbts
helv = primasansbts
ncen = primasansbts
time = primasansbts
? = primasansmonobts

[+raw] /usr/photon/bin/Photon = Photon
[+raw] /usr/photon/bin/phfont = phfont
[+raw] /usr/photon/bin/pwm = pwm
[+raw] /usr/photon/bin/pterm = pterm
[+raw] /usr/photon/bin/phcalc_sm = phcalc_sm
[+raw] /usr/photon/bin/rebound = rebound

example pwm and bkgdmgr config

/usr/photon/config/wm/wm.cfg = ${QNX_TARGET}/usr/photon/config/wm/wm.cfg

NOTE: The values in must be delimited by true TAB characters.

/usr/photon/config/wm/ = {
= Desktop Menu
Terminal T pterm -fpcterm12 -g24x80
Calculator a phcalc_sm
Rebound R rebound
Shutdown… u shutdown

allow pterm to save its configuration to RAM, if the user changes it.

[type=link] /.ph/pterm = /dev/shmem

allow pwm and bkgdmgr to save their configuration to RAM, if the user changes it.

[type=link] /.ph/wm = /dev/shmem

input config

/usr/photon/keyboard/en_US_101.kbd = ${QNX_TARGET}/usr/photon/keyboard/en_US_101.kbd

[+raw] /usr/photon/bin/pterm = pterm
[+raw] /usr/photon/bin/phcalc_sm = phcalc_sm

allow pterm to save its configuration to RAM, if the user changes it.

[type=link] /.ph/pterm = /dev/shmem

I’m also working on the same problem. I’ll get back to you once I know the solution.

I’m also struck on the same situation, but I’m working on QNX 6.4.0. In 6.4.0, we need to invoke QNX Graphics Framework server (io-display) before Photon and io-graphics. Coming back to your problem, when io-graphics is invoked, the internal font server (phfont) is invoked implicitly and that is the reason for wating for an entry /dev/phfont. Please try to invoke an external font server which is recommended. But, I think u still will face the same problem because I too faced the same. I too have posted in the forum but no one has replied yet. We have to wait and see to get some solution. Please go through my query at: … ic&p=45265

Also, please post the sloginfo…


Ohh okk…
Have you tried in any other versions of QNX…

Try the use the .so files with the number at the end. Set environement variable DL_DEBUG at 1 to help you see if a component is missing. Check the slog for clues.

Hi Mario,
The .so files with the latest number was used in my case. The same problem comes. Mario, can u plz tell how to use DL_DEBUG . Do we need to put it once in the *.bsh file or at the start of every line? Please post some sample code for the same.

Hi Swetha,
Try to put the photon and phfont binaries in /proc/boot. It worked for me. Get back to me if your problem still persists.

Is your problem solved? For me its working.