User Tools

Site Tools


nanocrate:nanocrate

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
nanocrate:nanocrate [2020/07/08 15:41] leacnanocrate:nanocrate [2020/09/24 08:44] (current) mmissi
Line 3: Line 3:
 === Assembly instructions === === Assembly instructions ===
 https://indico.cern.ch/event/817056/contributions/3417073/attachments/1837344/3010849/190502_System_Test_Meeting_-_nanoCrate.pdf https://indico.cern.ch/event/817056/contributions/3417073/attachments/1837344/3010849/190502_System_Test_Meeting_-_nanoCrate.pdf
-=== Configure FC7 ===  + 
-https://indico.cern.ch/event/842824/attachments/1920624/3177632/PreparingFC7.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 \\ \\ <code bash>sudo /bin/dd if=boot.iso of=/dev/sda bs=4M status=progress oflag=sync''</code> 
 + 
 +  * 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 \\ \\ <code bash>sudo yum -y install git emacs</code> 
 + 
 +**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). 
 + 
 +<file bash CERNify_CentOS7.sh> 
 +#!/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 
 +</file> 
 + 
 +<file bash CentOS-CERN.repo> 
 +# 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 
 +</file> 
 + 
 +=== 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'': \\ \\ <code bash>sudo yum -y install wireshark</code> 
 +      - install ''rarpd'' (via direct download of its ''.rpm'' file): \\ \\ <code 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 
 +</code> 
 +      - 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''): \\ \\ <code bash> 
 +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 
 +</code> 
 +      - 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): \\ \\ <code bash> 
 +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 
 +</code> **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]].
nanocrate/nanocrate.1594215695.txt.gz · Last modified: 2020/07/08 15:41 by leac