Skip to content

Install Rocky

Overview

This helps provide an example for installation into a RHEL 8 like environment. Below is a detailed example for installing CORE and related tooling on a fresh Rocky Linux 8 install. Both of the examples below will install CORE into its own virtual environment located at /opt/core/venv. Both examples below also assume using ~/Documents as the working directory.

Install

This section covers step by step commands that can be used to install CORE using the package based installation path. This will require downloading a package from the release page, to use during the install CORE step below.

# install system packages
sudo yum -y update
sudo yum install -y \
    xterm \
    wget \
    tcpdump \
    python39 \
    python39-tkinter \
    iproute-tc

# install ospf mdr
cd ~/Documents
sudo yum install -y \
    automake \
    gcc-c++ \
    libtool \
    make \
    pkg-config \
    readline-devel \
    git
git clone https://github.com/USNavalResearchLaboratory/ospf-mdr.git
cd ospf-mdr
./bootstrap.sh
./configure --disable-doc --enable-user=root --enable-group=root \
    --with-cflags=-ggdb --sysconfdir=/usr/local/etc/quagga --enable-vtysh \
    --localstatedir=/var/run/quagga
make -j$(nproc)
sudo make install

# install emane
cd ~/Documents
EMANE_VERSION=1.5.1
EMANE_RELEASE=emane-${EMANE_VERSION}-release-1
EMANE_PACKAGE=${EMANE_RELEASE}.el8.x86_64.tar.gz
wget -q https://adjacentlink.com/downloads/emane/${EMANE_PACKAGE}
tar xf ${EMANE_PACKAGE}
cd ${EMANE_RELEASE}/rpms/el8/x86_64
rm emane-spectrum-tools-*.rpm emane-model-lte*.rpm
rm *devel*.rpm
sudo yum install -y ./emane*.rpm ./python3-emane-${EMANE_VERSION}-1.el8.noarch.rpm

# install core
cd ~/Documents
CORE_PACKAGE=core_9.1.0_x86_64.rpm
PACKAGE_URL=https://github.com/coreemu/core/releases/latest/download/${CORE_PACKAGE}
wget -q ${PACKAGE_URL}
PYTHON=python3.9 yum install -y ./${CORE_PACKAGE}

# install emane python bindings into CORE virtual environment
cd ~/Documents
sudo yum install -y dnf-plugins-core
sudo yum config-manager --set-enabled devel
sudo yum update -y
sudo yum install -y \
    protobuf-devel \
    libxml2-devel \
    pcre-devel \
    libuuid-devel \
    libpcap-devel
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.6/protoc-3.19.6-linux-x86_64.zip
mkdir protoc
unzip protoc-3.19.6-linux-x86_64.zip -d protoc
git clone https://github.com/adjacentlink/emane.git
cd emane
git checkout v${EMANE_VERSION}
./autogen.sh
PYTHON=/opt/core/venv/bin/python ./configure --prefix=/usr
cd src/python
PATH=~/Documents/protoc/bin:$PATH make
sudo /opt/core/venv/bin/python -m pip install .

Running CORE

This install will place CORE within a virtual environment, symlinks to CORE scripts will be added to /usr/bin.

# in one terminal run the server daemon
sudo core-daemon
# in another terminal run the gui client
core-gui