You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 12
Next »
For a more comprehensive overview and detailed questions, please refer to the following page:
LinuxRT Initial Set-up of cpu and vioc Directory Structure:
- BOLD: refers to files that need to be modified or generated by IOC developer
- Italics: symbolic link
- LinuxRT_Diagram
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-modules.cmd” file that is specific for your cpu
- Create a symbolic link for each vioc(s) hosted on the cpu (ln -s ../vioc-xx##-xx## vioc-xx##-xx##)
- Generate a vioc-##-## directory for each vioc running on this machine
- Generate a “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
How to CRAM your 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 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@cpu-b34-fb01
- cd to to the epics application directory structure and run the st.cmd for a linuxRT application
- ./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
- In the foreground w/screens
- linuxRT_viocConsole.sh vioc-b34-fb01
- In the background w/screens
- linuxRT_startup_vioc.sh vioc-b34-fb01
- In the foreground without screens
- linuxRT_startupConsole.sh vioc-b34-fb01
If using the screen program:
Common Linux Commands Used
- mkdir <directory_for_cpu/vioc>
- ln -s <path_to_desired_file> <symbolic_link_name>
- rm <symbolic_link_name> (WARNING: Make sure you are not removing the entire directory. rm <symbolic_link_name/> will remove the directory that the symbolic link points too)
- grep -r <search_term> . (recursively search through directories starting in your currently working directory)
- man <linux_command> (linux documentation)
Additional References: