Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

  1. Send email to Ken Brobeck requesting:
    1. create controls infrastructure for a new  linuxRT CPU and IOC to a specific facility production server.
      1. includes $IOC_DATA/<cpu,ioc>  directories
      2. includes $IOC_DATA/<ioc>/<autosave,autosave-req,restore,iocInfo,archive>  directories
    2. add CPU boot information to the DHCP configuration file, and reboot the DHCP server. Ken will need the following details:
      1. 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.
      2.  MAC Address of the CPU
      3. The CPU EPICS target architecture  (e.g. linuxRT-x86,linuxRT-x86_64,etc)
  2. Proceed to Development Step #3

Development:    dev

    1. Create the $IOC

 Set-up of cpu and ioc boot directories:

    Create  the $IOC
    1. _DATA directory for your cpu and iocs  as follows:
      1. cd $IOC_DATA
    2. mkdir cpu-<area>-<subsystem-prefix><2-digit#>
    3. mkdir  sioc-<area>-<subsystem-prefix><2-digit#>
      1. cd sioc-<area>-<subsystem-prefix><2-digit#>
      2. mkdir autossave autosave-req iocInfor archive restore
  1.  Create the $EPICS_IOCS cpu and ioc boot directories
    1. cd $EPICS_IOCS
    2. mkdir cpu-<area>-<subsystem-prefix><2-digit#>  
    3. mkdir  sioc-<area>-<subsystem-prefix><2-digit#>
  2. Setup cpu directory files
    1. cd cpu-<area>-<subsystem-prefix><2-digit#>
    2. Setup relative symbolic links to the common startup script and EPICS version:.
      1. ln -s ../common/st.cmd.linuxRT.
  3. cpu startup
      1. cpu    startup.cmd
      2. ln -s ../common/bin/<epics base
  4. version>
      1. version>     epicsSpecificRelease
    1. Generate the file kernel-module.cmd. This file load kernels modules and drivers: kernel-modules.cmd
      1. for examples click  here.
  5. mkdir  sioc-<area>-<subsystem-prefix><2-digit#>
  6. Setup ioc directory files
    1. cd sioc-<area>-<subsystem-prefix><2-digit#>
    1. cp ../template/
  7. st
    1. startup.cmd.
  8. linuxRT
    1. linuxRT    startup.cmd
    2. edit startup.cmd
  9. and replace
      1.  replace <ioc> with your ioc name.
      2.  change path of the EPICS_IOC_APP in your st,cmd file is in a non-standard location.
    1. cp ../template/
  10. screenrc and replace <ioc> with your ioc name.
    1. screenrc   screenrc
    2. edit screenrc
  11. and replace
    1. and replace <ioc> with your ioc name
  12. .Please note that if the location of your IOC Application st.cmd file is non-standard then change EPICS_IOC_APP path in startup
    1. .
  13. cmd
    1. Setup a relative symbolic link to the TOP of the IOC Application release.
      1. ln -s ../../iocTop/<app>/<version> iocSpecificRelease
      Add cpu and IOC to
  14. Modify $EPICS_IOCS/screeniocs   
    1. Please note that the  $EPICS file is a symbolic link, so cd to the appropriate directory and edit this file
      1. add line for cpu
        format:  cpu-<area>-<subsystem-prefix><2-digit #>      <ts>   <ts port #t>   <screen  host>   [ # comment]
      2. add line for each ioc
        format:  sioc-<area>-<subsystem prefix><2-digit #>  cpu-<area>-<subsystem-prefix><2-digit #>    <account>   [ # comment]
      3. The "comment" field in screeeniocsis optional and must be precede but  "#".

     

     

     

    IOC Applications

    ...

    Specific  RT constraints:

    1. Create script <app>/iocBoot/<ioc>/rtPriortiesSetup.cmd  to set real-time priorities for threads
    2. Load rtPriortiesSetup.cmd from <app>/iocBoot/<ioc>/st.cmd 
    1.  

    LinuxRT Upgrade IOC Application release:

    ...