You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 2
Next »
Definitions
- BOLD: refers to files that need to be modified or generated by IOC developer
- Italics: symbolic link
How-To setup the IOC boot directories
The instructions differ between production and development due to permission restrictions in production.
Production: lcls, lcls2, facet, testfac
- Send email to Ken Brobeck requesting:
- create controls infrastructure for a new IOC on facility production server, which includes the following:
- Add boot directory: $IOC_DATA/<ioc> directory
- Add data directories: $IOC_DATA/<ioc>/<autosave,autosave-req,restore,iocInfo,archive> directories
- Add automatic boot scripts:
- add boot script on server defined in table 1: /etc/inti.d/st.<ioc>
- add symbolic link on server defined in table 1: /etc/rc3.d/SS98st.<ioc> ----> /etc/init.d/st.<ioc>
Table 1
Facility | Server |
---|
LCLS | laci@lcls-daemon1 |
LCLS-II | laci@lcls-daemon1 |
FACET-II | flaci@facet-daemon1 |
TestFac | acctf@testfac-daemon1 |
- Proceed to Development Step #3
Development: dev
- Create the $IOC_DATA directory for your iocs as follows:
- cd $IOC_DATA
- mkdir sioc-<area>-<subsystem-prefix><2-digit#>
- cd <sioc>
- mkdir archive autosave-req autosave iocInfo restore
- Create the $EPICS_IOCS ioc boot directory
- mkdir sioc-<area>-<subsystem-prefix><2-digit#>
- Setup ioc boot directory files
- cd $EPICS_IOCS/sioc-<area>-<subsystem-prefix><2-digit#>
- copy the ioc startup.cmd script from $EPICS_IOCS/template
- for Linux running iocsh: cp ../template/startup.cmd.soft st.cmd
- Create symbolic link: ln -s st.cmd startup.cmd
- Edit st.cmd
- replace <ioc> with your ioc name
- replace <t_a> with the target, such as linux-x86 or linux-x86_64 or rhel6-x86_64 (ref. your application bin directory).
- replace <exe> with your IOC Application executable this ioc should load
- if your IOC Application uses a non-standard location for the st.cmd file, change path of the EPICS_IOC_APP
- Setup a relative symbolic link that points to the EPICS IOC Applicaiton TOP as follows:
ln -s ../../iocTop/<app>/<version> iocSpecificRelease
- Modify $EPICS_IOCS/screeniocs – Please note that this is a symbolic link to a CVS file.
- verify that the file in use has not been modified without being committed.
- cd $EPICS_IOCS/facility
- cvs diff -r HEAD screeniocs
- if there are issues, then send email to whoever made the change or to controls-software that you are about to update this file and uncommitted edits will be lost, so please commit your changes to CVS. If you don't get a response, you can either add the changes to CVS in addition to yours or just add yours.
- check out screeniocs from CVS into your work area
- cd
- cd <work>
cvs co epics/iocCommon/<facility> , where facility is Dev,Prod,facet,acctest - cd epics/iocCommon/<facility>/screeniocs
- edit screeniocs
- add line for <ioc>. For server refer to table 1 above.
format: sioc-<area>-<subsystem prefix><2-digit #> <executable w/full absoluete path> sioc <server> [#comment}
- The "comment" field in screeeniocs is optional and must be preceded by a "#".
- add comment in the "Mod:" section of the header
- commit your changes of screeniocs to CVS as follows:
- cvs commit -m "added cpu and ioc blah" screeniocs
- update the screeniocs file in use
- cd $EPICS_IOCS/<facility>
- rm -f screeniocs
- cvs update screeniocs
How-to boot an IOC from the Linux host:
There are multiple ways to boot a soft ioc which are listed below:
- Log onto server listed in table 1 above and perform the following commands:
- cd /etc/init.d
- ./st.<ioc> <restart,start,stop>
- Use iocConsole to start an ioc, which uses the screen program
- iocConsole <ioc> --stayup
- Boot ioc from the facility home network display
How-to use screen program:
- ctrl a d : detach from the screen session
- ctrl a [ : scroll up through the start-up messages.