====== KIT nano crate ======
=== Assembly instructions ===
https://indico.cern.ch/event/817056/contributions/3417073/attachments/1837344/3010849/190502_System_Test_Meeting_-_nanoCrate.pdf
=== Installation of CentOS7 ===
**Note**:
at the time of writing,
it does not seem to be possible to install CERN's CentOS7 (CC7) OS from an external drive (e.g. USB stick),
because the ISO image in the official repository does not contain a boot partition.
Due to this, these instructions apply to the standard CentOS7 OS.
The main steps to install CentOS7 from an external USB drive are summarized below.
* Write the CentOS7 boot image to a USB disk. \\ \\
- Find a working USB disk (if unsure, try to write a standard Ubuntu image on it, and verify if the USB disk boots correctly). \\ \\
- Connect the USB disk to a laptop with Internet access. \\ \\
- Find the name of the device corresponding to the USB disk; in the following, this is assumed to be ''/dev/sda''. \\ \\
- Download the CentOS7 boot image at \\ [32-bit] ''http://mirror.centos.org/altarch/7.8.2003/os/i386/images/boot.iso'' \\ [64-bit] ''http://mirror.centos.org/centos-7/7/os/x86_64/images/boot.iso'' \\ In the following, the path to this file on your local machine is assumed to be ''boot.iso''. \\ \\
- Write the image to the USB disk with the following command \\ \\ sudo /bin/dd if=boot.iso of=/dev/sda bs=4M status=progress oflag=sync''
* Connect the USB disk to the computer on which CentOS7 should be installed, and restart the system booting from the USB disk.
* If the USB disk is not booted by default before the computer hard-drive, access the computer's boot settings at startup (usually, this can be done by pressing ''F12'', or ''F9'', before the boot sequence starts).
* Follow the installation instructions. \\ \\
- Configure the system as required (timezone, keyboard layout, etc). \\ \\
- If necessary, enable explicitly the LAN, or WiFi, connection. \\ \\
- Under "Installation Source", input the ''http'' address: \\ [32-bit] ''mirror.centos.org/altarch/7.8.2003/os/i386'' \\ [64-bit] ''mirror.centos.org/centos-7/7/os/x86_64'' \\ and do not tick the box stating "This URL refers to a mirror list". \\ \\
- Select the software packages to be included in the installation (example: "GNOME Desktop", "GNOME Applications", "Compatibility Libraries", and "System Administration Tools"). \\ \\
- If necessary, in "Installation Selection", select the target hard disk and reclaim the necessary disk space (requires selecting the hard disk, clicking on "Delete All", and then "Reclaim Space"). \\ \\
- Start the installation. \\ \\
- Input the ''root'' password, and configure user accounts; tick the box "Make this user administrator" to give sudo rights to a given user (the user is added to the ''wheel'' group). \\ \\
- Wait for the installation to finish, then reboot, as per instructions. \\ \\
- After rebooting, complete the installation procedure (authentication, and change of host name), then log in. \\ \\
- Manually install any additional packages that may be needed, for example \\ \\ sudo yum -y install git emacs
**Optional**: to apply CERN's updates on top of the standard CentOS7 OS, the script ''CERNify_CentOS7.sh'' (see below) can be used (last tested on Aug. 6, 2020). The only prerequisite to run it is the ''CentOS-CERN.repo'' file (also available below) for the relevant CC7 packages to be added (this file can be obtained from the CERN Service Desk).
#!/bin/sh
# CERNify the centos7 installation
# Download the CentOS-CERN.repo to ~/Downloads
# Author: Lars Noehte
sudo cp ~/Downloads/CentOS-CERN.repo /etc/yum.repos.d/
cd ~/Downloads
wget http://linuxsoft.cern.ch/cern/centos/7/os/x86_64/RPM-GPG-KEY-cern
sudo /usr/bin/rpm --import RPM-GPG-KEY-cern
/usr/bin/yum clean all && \
echo -e "\033[32m \tupdate \033[0m" && \
sudo /usr/bin/yum -y update && \
echo -e "\033[32m \tinstall centos-release and epel-release\033[0m" && \
sudo /usr/bin/yum -y install centos-release epel-release && \
echo -e "\033[32m \tgroup install CERN Base Tools\033[0m" && \
sudo /usr/bin/yum -y group install 'CERN Base Tools' && \
echo -e "\033[32m \tclean all and update\033[0m" && \
sudo /usr/bin/yum -y clean all && sudo /usr/bin/yum -y update
# CentOS-CERN.repo
#
# CERN CentOS 7 uses local repositories at http://linuxsoft.cern.ch distribution service
#
[cern]
name=CentOS-$releasever - CERN
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cern/$basearch/
gpgcheck=1
enabled=1
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern
[cern-testing]
name=CentOS-$releasever - CERN Testing
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cern-testing/$basearch/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern
[cernonly]
name=CentOS-$releasever - CERN Only
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cernonly/$basearch/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern
[cernonly-testing]
name=CentOS-$releasever - CERN Only Testing
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cernonly-testing/$basearch/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern
[cern-debug]
name=CentOS-7 - CERN - Debuginfo
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cern/Debug/$basearch/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern
[cernonly-debug]
name=CentOS-7 - CERN Only - Debuginfo
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cernonly/Debug/$basearch/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern
[cern-source]
name=CentOS-$releasever - CERN Sources
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cern/Sources/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern
[cernonly-source]
name=CentOS-$releasever - CERN Only Sources
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cernonly/Sources/
gpgcheck=1
enabled=0
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern
[cern-testing-source]
name=CentOS-$releasever - CERN Testing Sources
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cern-testing/Sources/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern
[cernonly-testing-source]
name=CentOS-$releasever - CERN Only Testing Sources
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cernonly-testing/Sources/
gpgcheck=1
enabled=0
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern
=== Configuration of FC7 ===
General information and instructions on the FC7 setup and the related software can be found in the material of the [[https://indico.cern.ch/event/842824|2019 Phase-2 Tracker DAQ Workshop]]. The instructions listed below are a selected summary of the instructions given in the latter workshop (and references therein).
* Follow the instructions in https://indico.cern.ch/event/842824/attachments/1920624/3177632/PreparingFC7.pdf \\ \\
- install ''wireshark'': \\ \\ sudo yum -y install wireshark
- install ''rarpd'' (via direct download of its ''.rpm'' file): \\ \\
#!/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 < /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
- clone the git repository for the main software application (''Ph2_ACF''), and check out the latest stable release \\ (the name of the latest stable release should be in the ''README'' file of the repository; at the time of writing, it is ''IT-v3.9.4''): \\ \\
git clone https://gitlab.cern.ch/cmsinnertracker/Ph2_ACF.git -o cmsinnertracker
cd Ph2_ACF
git checkout -b b_IT_v3p9p4 IT-v3.9.4
- Follow the instructions in ''Ph2_ACF/README.md'' and install all the necessary dependencies; as of Aug-2020, this corresponds to the following commands (double-check the instructions in the official documentation, before executing these): \\ \\
sudo yum -y install epel-release
sudo yum -y install pugixml-devel
sudo yum -y install boost-devel
sudo yum -y install root
sudo curl http://ipbus.web.cern.ch/ipbus/doc/user/html/_downloads/ipbus-sw.centos7.x86_64.repo -o /etc/yum.repos.d/ipbus-sw.repo
sudo yum clean all
sudo yum -y groupinstall uhal
sudo yum -y install cmake
**Note**: these steps are expected to work out-of-the-box on a recent version of ''CentOS7-x86_64''; they may not work on other types of OSs, e.g. ''CentOS7-i386'' (32-bit); in the latter case, some of the relevant dependencies (e.g. ''pugixml'', ''root'', ''uhal'') must be installed from source, following the instructions in the documentation of each package. The installation of ''Ph2_ACF'' and its dependencies on ''CentOS7-i386'' (32bit) was performed successfully (so it is possible), but it is not fully documented here; it did require the manual installation of ''pugixml'', ''root'', and ''uhal''.
=== Testing with Ph2_ACF ===
This section is work-in-progress. For the moment, the reader is referred to the documentation in the ''Ph2_ACF'' repository, and the material of the [[https://indico.cern.ch/event/842824|2019 Phase-2 Tracker DAQ Workshop]].