LinuxRT Startup Scripts:


[cpu]/startup.cmd 

  • A link to skel/startup_cpu.cmd or a real file. 


Calls $IOC/common/linuxRT_startup_cpu.sh to set up environment & hardware.

  • If using a real file, optionally create a list of screenrc VIOCs to start up
  • If using a real file, optionally create a list of the executables to start them with

 

Calls $IOC/common/linuxRT_cpu_load_viocs to start the listed VIOCs or extract the list from screeniocs


[cpu]/kernel-modules.cmd

  • Called by $IOC/common/linuxRT_startup_cpu.sh to load kernel modules.
  • Custom for each CPU. May contain other related commands.

$IOC/common/linuxRT_startup_cpu.sh

  • Load environment
  • mount nfs dir
  • load kernel modules with [cpu]/kernel-modules.cmd
  • start CA repeater

$IOC/common/linuxRT_cpu_load_viocs.sh

  • If a list of IOCs to start up is defined as an environment variable, use it.
  • Otherwise use screeniocs.
  • If there is a list of executables in an environment variable to go with the list of IOCs, use it.

For each ioc, call linuxRT_startup_vioc.sh iocDirName epicsApp   ($IOC/common/linuxRT_startup_vioc.sh iocName [epicsApp])

  • Set ulimits
  • set umask
  • cd to the vioc directory
  • If the exececutable name was passed as the second argument, use that.
  • Otherwise, check screeniocs to determine the epicsApp.
  • Otherwise look for a #! at the top of ioc/startup.cmd to determine the epicsApp.
  • Otherwise look for a #! at the top of ioc/iocSpecificRelease/iocBoot/[iocName]/st.cmd to determine the epicsApp.
  • run startup.cmd using screen and epicsApp
  • No labels