Skip to content

Install Ubuntu

Overview

Below is a detailed path for installing CORE and related tooling on a fresh Ubuntu 22.04 installation. 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 apt-get update -y
sudo apt-get install -y \
    ca-certificates \
    xterm \
    psmisc \
    python3 \
    python3-tk \
    python3-pip \
    python3-venv \
    wget \
    iproute2 \
    iputils-ping \
    tcpdump

# install ospf mdr
cd ~/Documents
apt-get install -y \
    automake \
    gawk \
    g++ \
    libreadline-dev \
    libtool \
    make \
    pkg-config \
    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_RELEASE=emane-1.5.1-release-1
EMANE_PACKAGE=${EMANE_RELEASE}.ubuntu-22_04.amd64.tar.gz
wget -q https://adjacentlink.com/downloads/emane/${EMANE_PACKAGE}
tar xf ${EMANE_PACKAGE}
cd ${EMANE_RELEASE}/debs/ubuntu-22_04/amd64
rm emane-spectrum-tools*.deb emane-model-lte*.deb
rm *dev*.deb
sudo apt-get install -y ./emane*.deb ./python3-emane_*.deb

# install core
cd ~/Documents
CORE_PACKAGE=core_9.1.0_amd64.deb
PACKAGE_URL=https://github.com/coreemu/core/releases/latest/download/${CORE_PACKAGE}
wget -q ${PACKAGE_URL}
sudo apt-get install -y ./${CORE_PACKAGE}

# install emane python bindings
cd ~/Documents
sudo apt-get install -y \
    unzip \
    libpcap-dev \
    libpcre3-dev \
    libprotobuf-dev \
    libxml2-dev \
    protobuf-compiler \
    uuid-dev
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 v1.5.1
./autogen.sh
./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