User Tools

Site Tools


mtca:mtca:centos7install

Installing POS with XDAQ15 on Centos 7

Prerequisits

sudo yum install centos-release-scl
sudo yum install devtoolset-8
sudo yum install git cmake3 gcc-c++ gcc binutils \
libX11-devel libXpm-devel libXft-devel libXext-devel openssl-devel
sudo yum install gcc-gfortran pcre-devel \
mesa-libGL-devel mesa-libGLU-devel glew-devel ftgl-devel mysql-devel \
fftw-devel cfitsio-devel graphviz-devel \
avahi-compat-libdns_sd-devel openldap-devel python-devel \
libxml2-devel gsl-devel

Install ROOT from source and compile with gcc8

scl enable devtoolset-8 bash
mkdir ROOT
cd ROOT
git clone --branch v6-24-00-patches https://github.com/root-project/root.git root_src    
mkdir build  install
cd build
cmake3 -DCMAKE_INSTALL_PREFIX=../install  ../root_src      
cmake3 --build .  -j8  --target install
cd ..
source install/bin/thisroot.sh 

Configure repositories

sudo cat > /etc/yum.repos.d/xdaq.repo <<EOF
[xdaq]
name=XDAQ Software Core
baseurl=http://xdaq.web.cern.ch/xdaq/repo/core/15/cc7/x86_64/RPMS/
enabled=1
gpgcheck=0
[xdaq-worksuite]
name=XDAQ Software worksuite
baseurl=http://xdaq.web.cern.ch/xdaq/repo/worksuite/15/cc7/x86_64/RPMS/
enabled=1
gpgcheck=0
[xdaq-updates]
name=XDAQ Software xaas
baseurl=http://xdaq.web.cern.ch/xdaq/repo/xaas/15/cc7/x86_64/RPMS/
enabled=1
gpgcheck=0
EOF
sudo cat > /etc/yum.repos.d/amc13-sw.repo <<EOF
[cactus-amc13-base]
name=CACTUS Project Software Repository for amc13 packages
baseurl=http://cactus.web.cern.ch/cactus/release/amc13/1.2/centos7_x86_64/base/RPMS
enabled=1
gpgcheck=0
EOF
sudo cat > /etc/yum.repos.d/ipbus-sw.repo <<EOF
[ipbus-sw-base]
name=IPbus software repository
baseurl=http://www.cern.ch/ipbus/sw/release/2.6/repos/centos7_x86_64/base/RPMS
enabled=1
gpgcheck=0
[ipbus-sw-updates]
name=IPbus software repository updates
baseurl=http://www.cern.ch/ipbus/sw/release/2.6/repos/centos7_x86_64/updates/RPMS
enabled=1
gpgcheck=0
EOF

Install cactus

sudo yum install cactusboards-amc13-tools-1.2.14-0.centos7 cactusboards-amc13-amc13-1.2.14-0.centos7
sudo yum install cactuscore-uhal-grammars cactuscore-uhal-uhal cactuscore-uhal-tests   cactuscore-uhal-pycohal cactuscore-uhal-gui cactuscore-uhal-tools cactuscore-controlhub cactusboards-amc13-amc13 cactusboards-amc13-tools pugixml-devel

Install XDAQ

sudo yum group install cmsos_core cmsos_worksuite --skip-broken

Other packages

sudo yum install e2fsprogs-devel libuuid-devel curlpp curlpp-devel.x86_64 freetype freetype-devel xorg-x11-fonts-75dpi libuuid-devel libcurl-devel  pugixml-devel boost boost-devel

Download POS and set environment

mkdir TriDAS_lea
cd TriDAS_lea
scl enable devtoolset-8 bash
git clone https://gitlab.cern.ch/cmspops/pos.git pixel
cd pixel
git checkout master     
cd ..
cp pixel/POSRelease/setenv.sh .
cat > local.sh <<EOF
export ROOTSYS=/home/cmspixel_centos7/internalhdd/ROOT/install
export BUILD_HOME=/home/cmspixel_centos7/internalhdd/TriDAS_lea
export POS_INSTALL_PATH=\$BUILD_HOME/local
export POS_OUTPUT_DIRS=\$BUILD_HOME/pixel/PixelRun/Runs
export POS_LOG_DIR=\$BUILD_HOME/pixel/PixelRun/Logs
export PIXELCONFIGURATIONBASE=\$BUILD_HOME/Config
EOF
source setenv.sh

Download and compile FecSoftware

git clone https://gitlab.cern.ch/cmspos/FecSoftware.git FecSoftwareV3_0
cd FecSoftwareV3_0
make -j 8
make install

Compile POS

cd $BUILD_HOME/pixel
make Set=pixel -j 8
make install
cd $BUILD_HOME/pixel/PixelRun
mkdir Logs Runs

Note: I encountered compilation errors and had to add the line:

#include <TSystem.h>

to these two header files:

TriDAS_lea/pixel/PixelUtilities/PixelRootUtilities/include/PixelHistoThreadFrame.h
TriDAS_lea/pixel/PixelUtilities/PixelRootUtilities/include/PixelHistoThreadFrameWithArgs.h

Installation of network card on Centos7

get name of new network card

bash
ifconfig -a

gives enp4s5 for this network card, yours could be different

create file

/etc/sysconfig/network-scripts/ifcfg-enp4s5 (choose the right name for your card)

with this content:

HWADDR=90:E2:BA:F7:6B:F7
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME="enp4s5"
UUID=8c87de7c-ab31-3faa-8480-3c9571cad2af
ONBOOT=yes
AUTOCONNECT_PRIORITY=-999
IPADDR=192.168.0.1
PREFIX=23
GATEWAY=192.168.0.1

(change the HWADDR, the NAME and the UUID to fit your network card)

restart the network service

sudo systemctl restart network.service

check the ip address change

ifconfig -a

the network card should now have the ip address 192.168.0.1 with the netmask 255.255.254.0

install the dhcp daemon and wireshark

sudo yum install dhcpd wireshark

install the rarp daemon using the instructions from https://wiki.physik.uzh.ch/cms/nanocrate:nanocrate

bash
#!/bin/bash
sudo wget http://download-ib01.fedoraproject.org/pub/epel/6/x86_64/Packages/r/rarpd-ss981107-42.el6.x86_64.rpm
sudo yum install rarpd-ss981107-42.el6.x86_64.rpm
cat <<EOF > /tmp/rarpd.service
[Unit]
Description=Reverse Address Resolution Protocol Requests Server
Documentation=man.rarpd(8)
Requires=network.target
After=network.target
[Service]
Type=forking
User=root
#EnvironmentFile=/etc/sysconfig/rarpd
ExecStart=/usr/sbin/rarpd -a -e -v
[Install]
WantedBy=multi-user.target
EOF
sudo cp /tmp/rarpd.service /etc/systemd/system

restart daemons and rarpdaemon

sudo systemctl daemon-reload
sudo systemctl restart rarpd

this script already is stored at ~/internalhdd/install_scripts/install_rarpd.sh

copy the /etc/hosts and the /etc/ethers files from the old mtca PC

/etc/hosts contains:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.41 mch
192.168.0.157 bpixamc13T1
192.168.0.156 bpixamc13T2
192.168.0.31 bpixtkfec
192.168.0.32 bpixpxfec
192.168.0.34 bpixfed1
192.168.0.35 bpixfed2
192.168.0.36 bpixfed3

only copy the lines starting with 192.168.0.

/etc/ethers contains:

# copied from old slc6 mtca PC 
# see man ethers for syntax 
# ETHERS for BPIX CRATE 
# ##################### 
08:00:30:F3:01:d7  bpixamc13T1 
08:00:30:F3:01:97  bpixamc13T2 
08:00:30:00:23:31  bpixtkfec 
08:00:30:00:22:f2  bpixpxfec 
08:00:30:00:23:1e  bpixfed1 
08:00:30:00:23:34  bpixfed2 
08:00:30:00:23:13  bpixfed4

copy all lines

try to ping the devices in the /etc/hosts file

ping mch
ping bpixamc13T1
ping bpixamc13T2
ping bpixtkfec
ping bpixpxfec
ping bpixfed1
ping bpixfed2
ping bpixfed3
mtca/mtca/centos7install.txt · Last modified: 2022/05/19 14:42 by lnoeht