1. git 2.2 and git-lfs will need to be installed.  This can be done through a conda environment or through the CentOS package manager (YUM).  
    1. For CentOS-7 
    2. sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm
    3. and then sudo yum -y install  git2u-all
    4. git lfs install
    5. (These instructions above maybe incorrect.)

  2. Setup the ssh key for github and the machine.  See following links for more instructions
    1. https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
    2. https://help.github.com/en/articles/adding-a-new-ssh-key-to-your-github-account

  3. clone the repository and update submodules
    1. git clone git@github.com:slaclab/lcls2-pcie-apps.git
    2. cd lcls2-pcie-apps
    3. git submodule init
    4. git submodule update --recursive
    5. git checkout pre-release
    6. git submodule update --recursive

  4. install rogue into a conda environment
    1. first get the anaconda or miniconda installer from https://docs.conda.io/en/latest/miniconda.html.  Rogue will take up 3.3 GB so install miniconda or anaconda on a local hard drive, not in the user nfs or afs home.
    2. install rogue using the description here https://slaclab.github.io/rogue/installing/anaconda.html

  5. running the lcls2-pcie-apps vcs test
    1. checkout the pre-release
      1. cd lcls2-pcie-apps
      2. git checkout pre-release
      3. git submodule update --recursive
    2. the user_space_test1.sh located in lcls2-pcie-apps/tests script is a vcs / rogue integrated regression test and is designed to work out of the box.

    3. the firs time this script is run, the following commands maybe needed

      1. git-lfs install

      2. git-lfs pull

      3. git submodule foreach git-lfs pull

    4. The first time running this on a fresh CentOS 7 install will require the ncurses-devel packcage. The command is 

      1. sudo yum install ncurses-devel package

  6. installing aes-stream-drivers and loading the kernel module
    1. installation. The tagged version for aes-stream-drives will be listed in the dependencies here
    2. https://github.com/slaclab/lcls2-pcie-apps/tree/pre-release/software/TimeTool
    3. git clone git@github.com:slaclab/aes-stream-drivers.git
    4. cd aes-stream-drivers/data_dev/driver
    5. git checkout v5.4.0
    6. make clean
    7. make
    8. sudo insmod datadev.ko
    9. sudo chmod 666 /dev/datadev_0
    10. cat /proc/datadev_0     #this is to validate the kernel module has been loaded

  7. Configure machine to load this module on startup.  The instructions here lcls-pc83236 settings for rhel6 settings are not valid for Centos7.  Use the Centos7 instructions instead.

  8. starting py-rogue / firmware gui

    1. cd lcls2-pcie-apps/software/TimeTool 

    2. source setup_env_template.sh
    3. python scripts/gui.py --dataDebug 1

    4. from the gui, load either slow_test_pattern_tpg_trig.yml or slow_test_pattern_soft_trig.yml and press the "Start Run Button" in the commands tab. This will print out the firmware results to the screen

  9. Typical no-machine or x-forwarding makes Vivado run slow.  A vnc server speeds things up.
    1. sudo yum install tigervnc-server

    2. vncpasswd
    3. dbus-launch vncserver -geometry 2560x1440
    4. if the port is blocked (can be validated by telnet'ing to the machine port 5901 remotely)
      1. sudo firewall-cmd --zone=public --permanent --add-port=5901/tcp

      2. sudo firewall-cmd --reload

    5. now a vnc viewer should work

  10. enabling core dumps

    1. summary from here https://iangilham.com/2016/12/08/core-dump-from-centos-7.html and from

    2. http://www.brendangregg.com/blog/2016-08-09/gdb-example-ncurses.html (this one is better)
      1. ulimit -c unlimited
      2. setting core limit to infinity in /etc/systemd/system.conf
      3. echo /tmp/core-%e-sig%s-user%u-group%g-pid%p-time%t > /proc/sys/kernel/core_pattern
        1. this last one just sets it up once.  needs to be done each boot or setup systemd to do it
        2. also, need sudo as su.  not enough to sudo the command















  • No labels

1 Comment

  1. needed to yum install zeromq to get the vcs sim steps to work.  Not sure why this wasn't already documented.