# Generic vxWorks startup script STRINGBUFFER=malloc(256) # Set target name as IOC name IOC=&sysBootParams+60 sprintf STRINGBUFFER, "IOC=%s", IOC putenv STRINGBUFFER puts STRINGBUFFER # Set bootpc (still needed?) BOOTPC=&sysBootHost sprintf STRINGBUFFER, "BOOTPC=%s", BOOTPC putenv STRINGBUFFER puts STRINGBUFFER # Set the prompt sprintf STRINGBUFFER, "%s (startup.script aborted) > ", IOC shellPromptSet STRINGBUFFER # Set EPICS_HOST_ARCH according to vxWorks version and cpu type VX6=(*runtimeVersion>>24)-'5' VMI=(*runtimeVersion>>8)&255 EPICS_HOST_ARCH=malloc(16) sprintf EPICS_HOST_ARCH, "%s%c-ppc60%d", VX6 ? "V6" : "T", VX6 ? VMI : VMI>'3' ? '2' : '1', sysCpu-90 sprintf STRINGBUFFER, "EPICS_HOST_ARCH=%s", EPICS_HOST_ARCH putenv STRINGBUFFER puts STRINGBUFFER # Router for SLS machine net (fails otherwise but that's ok) routeAdd "0.0.0.0","172.20.10.1" # Set DNS (if necessary) resolvInit "129.129.190.11","psi.ch" # Guess FACILITY from sysBootHost name IS_SLS=(sysBootHost&0xdf000000)==0x58000000||(sysBootHost&0xdfdfdf00)==0x534c5300 IS_HIPA=(sysBootHost&0xdfdfdfdf)==0x48495041 IS_PROSCAN=(sysBootHost&0xdfdfdf00)==0x50524f00 FACILITY=IS_SLS?"sls":IS_HIPA?"hipa":IS_PROSCAN?"proscan":"unknown" printf "FACILITY = %s\n", FACILITY # Set NFS user 'ioc' and group 'unx-FACILITY_ioc' nfsAuthUnixSet &sysBootHost,500,IS_SLS?35365:IS_HIPA?35344:IS_PROSCAN?35401:9102 # Do the NFS mounts (only one of each mount will succeed) NFS_SERVER="gfa-vfs-ioc" MOUNTDIR=malloc(48) sprintf MOUNTDIR,"/export/%s/ioc/epics",FACILITY nfsMount NFS_SERVER,MOUNTDIR,"/epics" nfsMount NFS_SERVER,"/usr/local/epics","/epics" nfsMount &sysBootHost,"/usr/local/epics","/epics" sprintf MOUNTDIR,"/export/%s/ioc",FACILITY nfsMount NFS_SERVER,MOUNTDIR,"/ioc" nfsMount &sysBootHost,"/ioc","/ioc" sprintf MOUNTDIR,"/export/%s/ioc_data",FACILITY nfsMount NFS_SERVER,MOUNTDIR,"/ioc/data" nfsMount &sysBootHost,"/ioc/data","/ioc/data" # We should now have /epics, /ioc and maybe /ioc/data nfsDevShow # Create some path variables HOME=malloc(80) sprintf HOME, "/ioc/%s", IOC sprintf STRINGBUFFER, "HOME=%s", HOME putenv STRINGBUFFER cd HOME pwd CFG=malloc(80) sprintf CFG, "%s/cfg", HOME sprintf STRINGBUFFER, "CFG=%s", CFG putenv STRINGBUFFER PVA=0 # load IOC startup script < startup.script # Set the final prompt sprintf STRINGBUFFER, "%s > ", IOC shellPromptSet STRINGBUFFER