Versions Compared

Key

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

...

FAQ for working with 64-bit linuxRT OS and EPICS R3-14-12-4_1-0


 LinuxRT Initial Set-up of cpu and vioc 'sDirectory Structure:

BOLD: refers to files that need to be modified or generated by IOC developer


  1. Log into lcls-dev3  (ssh <user_name>@lcls-dev3)

  2. Create an Epics Application ($EPICS_IOC_TOP)

    1. Need to cross-compile for target architecture

    2. Check st.cmd file for all vioc’s - verify that it calls rtPriortiesSetup.cmd, which sets the real-time priority for threads
  3. Set-up Directory Structure for cpu’s/vioc’s  under $IOC_DATA
    1. Generate cpu-##-## directory (In this directory, screenlog.0 is generated automatically)
    2. Generate a vioc-##-## directory for each vioc running on this machine
      1. Under each vioc directory, create an autosave, autosave-req, and iocInfo directory
      2. screenlog.0 is generated automatically

  4.   Set-up Directory Structure for cpu’s/vioc’s under $IOC
    1. Generate cpu-##-## directory
      1. Generate a symbolic link named “startup.cmd” that points to “../skel/startup_cpu.cmd”
      2. Generate a “kernelkernel-modules.cmd” cmdfile that is specific for your cpu

    2.  Generate a vioc-##-## directory for each vioc running on this machine
      1.  Generate a “screenrc” screenrcfile that is name-specific for each vioc
      2. Generate a symbolic link named “startup.cmd” that points to “../skel/startup_vioc.cmd”
      3.  Generate a symbolic link called “iocSpecificRelease” that follows the CRAM convention for pointing to an Epics application

  5. Update $IOC/All/Dev screeniocs

    1. Update information pertaining to which vioc’s are running on a cpu and currently the application each vioc is running

    2. Commit screeniocs back into CVS
       

How to CRAM your Epics Application: 

https://slacspace.slac.stanford.edu/sites/controls/sections/software/Shared%20Documents/EPICS/Multi%20Site%20Builds/cram_migration_doc.pdf

...

Update $IOC/All/Dev screeniocs

...

...

Commit screeniocs back into CVS


How to commit screeniocs back into CVS:

cvs status <file_name>

cvs commit <file_name>



From the command line, start a linuxRT Epics Application manually (must run on a linuxRT machine)

ssh laci@ioc-b34-cd46 or ssh laci@cpu-b34-fb01

...

- ./st.cmd   (first line of st.cmd must have !# for this to execute epics application binary ex: !# ../../bin/linuxRT_glibc-x86_64/fastFeedback)



How to boot-up in the foreground versus background:  

The following scripts are located under the directory $IOC/common

...

ctrl a { : scroll up through the start-up messages.



Common Linux Commands Used

mkdir <directory_for_cpu/vioc>

...

man <linux_command>  (linux documentation)

Outstanding Questions:

Talk with Ernest about the kernel-modules.cmd => Did Till automate this part?

More Advanced Topics (Future Date):

Kernel image

Kernel modules

External packages (for the application)



 







LinuxRT startup scripts


[cpu]/startup.cmd

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

...

run startup.cmd using screen and epicsApp






References:


How the initial boot-up process works:

https://confluence.slac.stanford.edu/pages/viewpage.action?pageId=181538610

LinuxRT Sharepoint Reference Page (Some sections slightly out-of-date, but still good information):

https://confluence.slac.stanford.edu/display/LCLSControls/FAQ+for+working+with+new+linuxRT-x86+with+a+%27new%27+EPICS+base#FAQforworkingwithnewlinuxRT-x86witha%27new%27EPICSbase-2.HowdoIsetupmybashshelltousethenewEPICS?


How to CRAM your Epics Application:

https://slacspace.slac.stanford.edu/sites/controls/sections/software/Shared%20Documents/EPICS/Multi%20Site%20Builds/cram_migration_doc.pdf


Additional Information on Cross-compiling Epics Applications:

https://confluence.slac.stanford.edu/display/LCLSControls/linuxRT+Cross+Compilers+and+targets

...