- BOLD: refers to files that need to be modified or generated by IOC developer
- Italics: symbolic link
- LinuxRT Infrastructure Block Diagram (needs to be updated)
How-To setup the CPU and 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 linuxRT CPU and IOC to a specific facility production server.
- includes $IOC_DATA/<cpu,ioc> directories
- includes $IOC_DATA/<ioc>/<autosave,autosave-req,restore,iocInfo,archive> directories
- add CPU boot information to the DHCP configuration file, and reboot the DHCP server. Ken will need the following details:
- Which facility the CPU will boot (e.g. facet, lcls, lcls2, testfac). Thins indicates the path to the startup.cmd script and the DHCP server.
- MAC Address of the CPU
- The CPU EPICS target architecture (e.g. linuxRT-x86,linuxRT-x86_64,etc)
- Proceed to Development Step #3
Development: dev
- Create the $IOC
Set-up of cpu and ioc boot directories:
Create the $IOC- _DATA directory for your cpu and iocs as follows:
- cd $IOC_DATA
- mkdir cpu-<area>-<subsystem-prefix><2-digit#>
- mkdir sioc-<area>-<subsystem-prefix><2-digit#>
- cd sioc-<area>-<subsystem-prefix><2-digit#>
- mkdir autossave autosave-req iocInfor archive restore
- Create the $EPICS_IOCS cpu and ioc boot directories
- cd $EPICS_IOCS
- mkdir cpu-<area>-<subsystem-prefix><2-digit#>
- mkdir sioc-<area>-<subsystem-prefix><2-digit#>
- Setup cpu directory files
- cd cpu-<area>-<subsystem-prefix><2-digit#>
- Setup relative symbolic links to the common startup script and EPICS version:.
- ln -s ../common/st.cmd.linuxRT.
cpu startup- cpu startup.cmd
- ln -s ../common/bin/<epics base
version> - version> epicsSpecificRelease
- Generate the file kernel-module.cmd. This file load kernels modules and drivers: kernel-modules.cmd
- for examples click here.
mkdir sioc-<area>-<subsystem-prefix><2-digit#>- Setup ioc directory files
- cd sioc-<area>-<subsystem-prefix><2-digit#>
- cp ../template/
st- startup.cmd.
linuxRT - linuxRT startup.cmd
- edit startup.cmd
and replace
- replace <ioc> with your ioc name.
- change path of the EPICS_IOC_APP in your st,cmd file is in a non-standard location.
- cp ../template/
screenrc and replace <ioc> with your ioc name.- screenrc screenrc
- edit screenrc
and replace - and replace <ioc> with your ioc name
.Please note that if the location of your IOC Application st.cmd file is non-standard then change EPICS_IOC_APP path in startup- .
cmd- Setup a relative symbolic link to the TOP of the IOC Application release.
- ln -s ../../iocTop/<app>/<version> iocSpecificRelease
Add cpu and IOC to
- Modify $EPICS_IOCS/screeniocs
- Please note that the $EPICS file is a symbolic link, so cd to the appropriate directory and edit this file
- add line for cpu
format: cpu-<area>-<subsystem-prefix><2-digit #> <ts> <ts port #t> <screen host> [ # comment] - add line for each ioc
format: sioc-<area>-<subsystem prefix><2-digit #> cpu-<area>-<subsystem-prefix><2-digit #> <account> [ # comment] - The "comment" field in screeeniocsis optional and must be precede but "#".
IOC Applications
...
Specific RT constraints:
- Create script <app>/iocBoot/<ioc>/rtPriortiesSetup.cmd to set real-time priorities for threads
- Load rtPriortiesSetup.cmd from <app>/iocBoot/<ioc>/st.cmd
-
LinuxRT Upgrade IOC Application release:
...