Table of Contents
Installing Software for Use with RCE and HSIO-2
Installing Python
yum install -y centos-release-SCL yum install -y python27 which python
Following probably unimportant
yum groups mark convert yum groups mark install "Development tools"
yum install zlib-devel yum install bzip2-devel yum install openssl-devel yum install ncurses-devel yum install sqlite-devel
cd /opt wget --no-check-certificate https://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.xz tar xf Python-2.7.5.tar.xz cd Python-2.7.5 ./configure --prefix=/usr/local make && make altinstall
End unimportant
wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py sudo /usr/local/bin/python2.7 ez_setup.py sudo /usr/local/bin/easy_install-2.7 pip
yum install libffi-devel
sudo /usr/local/bin/easy_install-2.7 requests sudo /usr/local/bin/easy_install-2.7 psutil sudo /usr/local/bin/easy_install-2.7 paramiko
Server Setup
We will be mostly following the steps on this page - https://twiki.cern.ch/twiki/bin/view/Atlas/RCEGen3Development. First, make sure your hardware is hooked up like shown in the first pictures on this page.
Become root by using the 'su' superuser command, then perform all of the following commands as root.
First, we configure a server on our local computer to communicate with RCE. This server will have NFS and DCHP. Get required packages.
yum install dhcp cmake pyparted lib
Disable firewall and SELinux (Linux security).
/sbin/chkconfig iptables off /sbin/service iptables stop vim /etc/sysconfig/selinux
Set “SELINUX=permissive”. Now we install the RCE SDK.
sudo mkdir /opt/AtlasRceSdk cd /opt/AtlasRceSdk wget -O - http://rceprojectportal.web.cern.ch/RceProjectPortal/software/SDK/V0.11.1.tar.gz | sudo tar xvfz -
Add the following command to your bash_profile file so that it runs every time you open the terminal.
source /opt/AtlasRceSdk/V0.11.1/setup.sh
Set up the DHCP server by editing /etc/dhcp/dhcpd.conf. Make sure it looks like the following:
default-lease-time 600; max-lease-time 7200; authoritative; ddns-update-style none; subnet 192.168.3.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option ntp-servers 192.168.3.1; option routers 192.168.3.1; option broadcast-address 192.168.3.255; range 192.168.3.2 192.168.3.254; } host hsio2 { option host-name "HSIO2"; hardware ethernet 08:00:56:00:45:0a; }
Start the DHCP server.
/sbin/chkconfig dhcpd on /sbin/service dhcpd start
#Filesystem
Setting Up RCE Pixel Application
Following the setup instructions here. Be sure to extract and install everything in exactly the same directories as listed below, because some scripts use hard-coded paths!
The pixel application has two parts - calibserver, which runs on the HSIO-2, and calibGui, which is run locally and used to interface with calibserver.
You don't need to edit /etc/hosts if your /etc/dhcp/dhcpd.conf file is set correctly. This automatically assigns IP addresses to external devices based on their MAC addresses. You can look at the leases created by DHCP in /var/lib/dhcpd/dhcpd.leases. This will tell you the IP address of the HSIO-2 board. You should be able to log on to the board using
ssh root@<IP>
If you get an error “No route to host”, this means you're using the wrong IP address.
Execute all the commands in this section as superuser:
yum install cmake libXpm libX11 libXext libSM libICE python-devel rpm-devel mkdir -p /sw/atlas chmod a+w /sw/atlas cd /sw/atlas git clone https://:@gitlab.cern.ch:8443/rce/ayum.git cd /sw/atlas/ayum ./configure.ayum
Enter the following information:
AYUM package location: /sw/atlas/ayum AYUM software installation location: /sw/atlas AYUM RPM database location: [/sw/atlas/.rpmdb] AYUM cache location: [/sw/atlas/.yumcache]
Keep executing commands:
cd /sw/atlas/ayum/src/rpmext make clean make cd ~/ayum ./ayum install -y LCG_81b_gcc_4.9.3_x86_64_slc6 gcc_4.9.3_x86_64-slc6 LCG_81b_ROOT_6.04.12_x86_64_slc6_gcc49_opt Boost_1.59.0_python2.7_armv7l_archlinux_gcc52_opt_lcgcmt81b_armv7l_archlinux_gcc52_opt cd ~ git clone https://:@gitlab.cern.ch:8443/rce/pixelrce.git ln -s ~/pixelrce ~/daq cd ~/daq/rce source ./scripts/setup-gen3.sh git checkout -b V1.1.0 cd ~/daq/rce/build.slc6-rcf; make cd ~/daq/rce/build.arm-rcf; make cd ~/daq/rce/ rsync -e 'ssh -l root' -rlptDv /sw/atlas/sw/lcg/LCG_81b/Boost/1.59.0_python2.7/armv7l-archlinux-gcc52-opt/lib 192.168.3.3:/root/pixelrce/ rsync -rlptDv -e 'ssh -l root' build.arm-rcf/{bin,lib} 192.168.3.3:/root/pixelrce
You can ssh into the HSIO-2 to run calibserver. This is not necessary unless you want to see real-time outputs from the server.
ssh [email protected] export PATH=/root/pixelrce/bin:$PATH; export LD_LIBRARY_PATH=/root/pixelrce/lib:$LD_LIBRARY_PATH calibserver
In another window, run calibGui on the local computer.
cd ~/daq/rce source scripts/setup-gen3.sh calibGui
Use Inlink X+1, Outlink X+1, where the module is plugged into port AX. Use Rce 0.