...
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
Log into lcls-dev3 (ssh <user_name>@lcls-dev3)
Create an Epics Application ($EPICS_IOC_TOP)
Need to cross-compile for target architecture
- Check st.cmd file for all vioc’s - verify that it calls rtPriortiesSetup.cmd, which sets the real-time priority for threads
- Set-up Directory Structure for cpu’s/vioc’s under $IOC_DATA
- Generate cpu-##-## directory (In this directory, screenlog.0 is generated automatically)
- Generate a vioc-##-## directory for each vioc running on this machine
- Under each vioc directory, create an autosave, autosave-req, and iocInfo directory
- screenlog.0 is generated automatically
- Set-up Directory Structure for cpu’s/vioc’s under $IOC
- Generate cpu-##-## directory
- Generate a symbolic link named “startup.cmd” that points to “../skel/startup_cpu.cmd”
- Generate a “kernel“kernel-modules.cmd” cmd” file that is specific for your cpu
- Generate a vioc-##-## directory for each vioc running on this machine
- Generate a “screenrc” “screenrc” file that is name-specific for each vioc
- Generate a symbolic link named “startup.cmd” that points to “../skel/startup_vioc.cmd”
- Generate a symbolic link called “iocSpecificRelease” that follows the CRAM convention for pointing to an Epics application
Update $IOC/All/Dev screeniocs
Update information pertaining to which vioc’s are running on a cpu and currently the application each vioc is running
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
...