User Tools

Site Tools


itk:installing_software_for_use_with_rce_and_hsio-2

Installing Software for Use with RCE and HSIO-2

Installing Python

Following https://github.com/h2oai/h2o-2/wiki/installing-python-2.7-on-centos-6.3.-follow-this-sequence-exactly-for-centos-machine-only

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.

itk/installing_software_for_use_with_rce_and_hsio-2.txt · Last modified: 2016/08/24 23:12 by mazhang