When booting an ioc for the first time follow steps 1-8. To boot an existing ioc proceed to step 11. Step 1: Get ip address for your EPICS IOC by filling out the Contros Group IP Request Form and submitting it to Ken Brobeck. Specify the subnet for your ioc, which woudl be LCLSDEV for a development ioc or LCLSCA for a production ioc. Please note that the ioc nodename submitted MUST follow the LCLS Naming Conventions. Step 2: Once you have an ip address for your node, send email to SCCS to request that your node be added to the NIS group lcls-rtems. This will provide write permission on the NFS disk to your ioc. Click here for more details. *Step 3:*If your processor has a serial port, request a terminal server port assignment from Charlie Granieri if you do not already have one. Otherwise, proceed to step 5. You can obtain a DIGI to MVME6100 serial cable from Charlie, as well. Click here for terminal server and cable information. Note, that if your terminal server is a DIGI the serial cable from a DIGI port to a MVME6100/MVME5100/MVME3100 is color coded green. Step 4: If your procesor has a serial port connected to a server, iocConsole will be used to remotly connect to your ioc from a linux host. To use iocConsole, you will need to modify the cvs file epics/iocCommon/All/Dev/screeniocs for development epics/iocCommon/All/Prod/screeniocs for lcls production epics/iocCommon/All/Prod/screeniocs_facet for facet production epics/iocCommon/All/Acctest/screeniocs for test facility (xta and asta) adding the information for your new node and terminal server port connection. Step 5: Setup your processor NVRAM Make sure that your processor has a SLAC ID sticker. If not, please contact Kristi Luchini. Step 6: Create a directory for any files that will be written, for example, save and restore files witten for your ioc by ChannelWatcher, and the screenlog: First, log onto the appropriate host: For development: ssh laci@lcls-dev2 For production : ssh laci@lcls-builder
cd $IOC_DATA mkdir <ioc nodename> cd <ioc nodename> mkdir restore iocInfo autosave
Step 7: Create a ChannelWatcher configuration file for your ioc in $TOOLS/ChannelWatcher/config. The filename format is <ioc nodename in uppercase>.sav. All subsystems have their own ChannelWatcher monitoring process. So either create a new file, Master.XX, where XX is your 2-char subsystem alias defined in the LCLS Naming Conventions or add your new ioc configuration file to the appropriate Master file. Step 8: Create a boot directory with the nodename of your ioc, in $EPICS_IOC/<nodename>. Within this new directory create the file startup.cmd. This file should contain the following for a development ioc (see: ioc-li21-mg01/startup.cmd). For a production ioc, please contact Jingchen Zhou. Please note that if symbolic links are used during boot, use relative links. # Setup environment variables < /boot/g/lcls/epics/iocCommon/All/Dev/pre_st.cmd # Load subsystem startup file chdir("/boot/g/lcls/epics/iocTop/<subsystem>/<subsystem tagged version>/iocBoot/<nodename>") < st.cmd # Save diagnostic information < /boot/g/lcls/epics/iocCommon/All/Dev/post_st.cmd Next, if you wish to have a screenlog file, whichs writes the output of cpu serial port to the file $IOC_DATA/<nodename>/screenlog.0, add the file screenrc to the directory $EPICS_IOCS/<nodename>. The file screenrc should contain the following basic iocConsole options (see ioc-li21-mg01/screenrc): deflog on logstamp on defscrollback 10000 Step 9: Follow instructions for Releasing an EPICS IOC Application. Step 10: For prouduction iocs only you will need to pdate LCLSHOME Network Panel, with your new ioc. Contact Sonya Hoobler so that she can update the IOCManager application, Judy Rock so that she can update the LCLSHOME Alarms and Bob Hall so that he can add your iocAdmin PV list to the ChannelArchiver Step 11: For production iocs only you will need to update LCLSHOME Timing Panel, if your ioc has a EVR module. Contact Stephanie Allison for further details. |