This is an old revision of the document!
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-22-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
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=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes 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 ```bash 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 ```