How to Build and Deploy the Timing Run-Time Environment

THIS HOWTO IS DEPRECATED

The documentation here describes a version of the script that has never been pushed to to repository. Please use the description in this HOW-TO instead.

The Run-Time Environment of the Timing Group comprises the Timing Firmware Stack that is used by Front End Receiver. The firmware developed by the Timing Group is:

  • Etherbone tools and library
  • Wishbone Linux Kernel Module
  • Wishbone Host Bus Linux Kernel Module
  • Saftd and Saftlib

timing run time system.png

Building the Firmware in the Cluster acc7

Cluster acc7 is the next main computational computer cluster. It's used to develop software and run services for the main control room. The main idea is to use a script build-rte.sh from a dedicated repository.

Preperation

The timing group has developed a script to compile and deploy all our firmware for you. Please checkout this repo:

https://github.com/GSI-CS-CO/ci_cd

Get into the deployment folder:

cd ci_cd/scripts/deployment/RTE_Timing

To get the documentation of the script do (example output below)
./build-rte.sh -h

build-rte.sh [-h] [-i] [-r branch/release] [-t target]  

Script to deploy Timing Run Time Environment

where:
    -h  show this help text
    -i  show me available releases and targets directories
    -t  target branch/release you want to deploy
    -d  directory where you want to deploy
    -p  path where you want to deploy

TARGET.- Release or branch that you can deploy.
DEPLOYMENT_DIR.- Directory where the Timing RTE is deployed under
-------------------------------
DEFAULT_TARGET balloon
DEFAULT_PATH /common/export/timing-rte
DEFAULT_DEPLOYMENT_DIR tmp
-------------------------------
TARGET balloon proposed_master
DEPLOYMENT_DIR R8-balloon_0 RC8-balloon_0 proposed_master tg-dev tmp

Select What to Deploy

If you are going to deploy a < release > you have to checkout the specific version:

git checkout < release branch > 

Beofore you execute anything you have to adapt the script for your purpose. Depending on what you want, you may want a different version of status of the firmware and consequently you have to deploy in a different export folder in the /common/export/timing-rte/.

It is very important to select the right export folder. Discuss with your colleagues. A mistake may brake the run-time system of the PRO environment.

Once you know which version/branch and target you want to deploy on, please edit the script _build-rte.sh_and adapt:

BEL_BRANCH="< branch >"
BEL_RELEASE="< release >" # it can be also empty if you don't want to checkout a release
DEPLOY_TARGET="/common/export/timing-rte/< folder >"

and then

./build-rte.sh

It has been tested for different users and the scripts works. If the building fails may be that the version/release/branch that you are using is broken. We apologize for it and please contact someone from the Timing Group.

-- CesarPrados - 07 Sep 2016
Topic revision: r9 - 19 Jun 2019, DietrichBeck
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback