User Tools

Site Tools


nanocrate:nanocrate

KIT nano crate

Assembly instructions

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.

    1. Find a working USB disk (if unsure, try to write a standard Ubuntu image on it, and verify if the USB disk boots correctly).

    2. Connect the USB disk to a laptop with Internet access.

    3. Find the name of the device corresponding to the USB disk; in the following, this is assumed to be /dev/sda.

    4. 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.

    5. 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.

    1. Configure the system as required (timezone, keyboard layout, etc).

    2. If necessary, enable explicitly the LAN, or WiFi, connection.

    3. 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”.

    4. Select the software packages to be included in the installation (example: “GNOME Desktop”, “GNOME Applications”, “Compatibility Libraries”, and “System Administration Tools”).

    5. 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”).

    6. Start the installation.

    7. 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).

    8. Wait for the installation to finish, then reboot, as per instructions.

    9. After rebooting, complete the installation procedure (authentication, and change of host name), then log in.

    10. 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).

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
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

Configuration of FC7

General information and instructions on the FC7 setup and the related software can be found in the material of the 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).

    1. install wireshark:

      sudo yum -y install wireshark
    2. 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 <<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
    3. 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
    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 2019 Phase-2 Tracker DAQ Workshop.

nanocrate/nanocrate.txt · Last modified: 2020/09/24 08:44 by mmissi