This is an old revision of the document!
Follow the setup instructions here. Be sure to extract and install everything in exactly the same directories as the tutorial, because some scripts use hard-coded paths!
Note the line
AYUM software installation location: /sw/atlas
The install location is NOT /sw/atlas/ayum.
The TDAQ framework does not need to be installed if you're installing RCF. The install command
./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
sometimes runs into timeout issues while downloading files, but you can run it again after it finishes, and it'll just look for the missing pieces.
The make commands
cd ~/daq/rce/build.slc6-rcf; make cd ~/daq/rce/build.arm-rcf; make
sometimes spit out errors such as
internal compiler error: Killed (program cc1plus)
This is because our lab computer is horrible and barely has any RAM. Just run the command again after it finishes and it'll go back to work on the parts that failed.
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.
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
Perform all of the following actions as root (su command): SET UP RCE - https://twiki.cern.ch/twiki/bin/view/Atlas/RCEGen3Development
yum install dhcp cmake pyparted lib /sbin/chkconfig iptables off /sbin/service iptables stop
vim /etc/sysconfig/selinux Set SELINUX=permissive 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 - source /opt/AtlasRceSdk/V0.11.1/setup.sh RUN EACH TIME YOU OPEN A NEW TERMINAL!
SET UP SERVERS vim /etc/dhcp/dhcpd.conf 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; } /sbin/chkconfig dhcpd on /sbin/service dhcpd start vim /etc/ntp.conf Add to bottom
restrict 192.168.3.0 mask 255.255.255.0 nomodify notrap nopeer
/sbin/service ntpd restart
vim /etc/exports Add to bottom /home 192.168.3.0/24(ro) /sbin/service nfs restart BUILD LOCAL AND REMOTE SERVERS
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
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]
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
INSTALLING AND RUNNING SERVERS 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 ssh [email protected] export PATH=/root/pixelrce/bin:$PATH; export LD_LIBRARY_PATH=/root/pixelrce/lib:$LD_LIBRARY_PATH calibserver 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.