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.

                                       Table 1

FacilityAccountServer
LCLSlacilcls-daemon0, lcls-daemon1, lcls-deamon2,cryo-daemon1
FACET-IIflacifacet-daemon1
TestFacacctftestfac-daemon1
Devlacilcls-dev3 (rhel6), dev-rhel7 (rhel7)


Production:   lcls, facet, testfac

  1. Send email to Ken Brobeck requesting:
    1. create controls infrastructure:
      • for a new IOC  that boots from a production Linux daemon server (see Table1) or a camera server.
        1.  Add boot directory: $EPICS_IOCS<ioc>
        2.  Add data directories: $IOC_DATA/<ioc>/<autosave,autosave-req,restore,iocInfo,archive,yaml>  directories 
        3.  Add automatic boot scripts: 
          • (rhel6 only) 
            • 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>
  2. Proceed to Step #2c under Development

                                                        

Development:   dev

  1. Create the $IOC_DATA directory as follows:
    1. cd $IOC_DATA for your IOC
    2. mkdir sioc-<area>-<subsystem-prefix><2-digit#>
    3. cd  <sioc>
    4. mkdir archive autosave-req autosave iocInfo restore yaml
  2.  Create the IOC boot directory with boot links as follows:
    1. cd $EPICS_IOCS
    2. mkdir  sioc-<area>-<subsystem-prefix><2-digit#>
    3. cd <ioc>
      1.  cp ../template/startup.cmd.soft  startup.cmd
      2. Edit startup.cmd
        1. replace <ioc>  with your ioc name
        2. replace <t_a> with the target, such as  linux-x86  or linux-x86_64 or rhel6-x86_64, rhel7-x86_64    (ref. your application bin directory).
        3. replace <exe> with your IOC Application executable
        4. if your IOC Application uses a non-standard location for the st.cmd file,  change path of  EPICS_IOC_APP
      3. create symbolic:   ln -s   ../../iocTop/<app>/<ver>  iocSpecificRelease
  3. Add your IOC to$EPICS_IOCS/facility/screeniocs and commit change to CVS 

How-to boot an IOC from the Linux (daemon) server specified in screeniocs:

There are multiple ways to boot a soft ioc which are listed below: 

  1. Log onto server listed in Table 1 from the account this same table,  and perform the following commands:
    1. cd /etc/init.d
    2. ./st.<ioc>  <restart,start,stop>
  2. Use iocConsole to start an ioc, which uses the screen program
    1. iocConsole <ioc>  --stayup
  3. siocRestart <ioc>
  4. Boot IOC from the facility home display network panel 


How to connect to Linux IOC from a Linux server:

  1. iocConsole  <ioc>

How-to use screen program:

  • ctrl a d : detach from the screen session
  • ctrl a [ : scroll up through the start-up messages.

  • No labels