2 KiB
Installing CORE
Overview
CORE provides a script to help automate installing all required software to build and run, including a python virtual environment to run it all in.
The following tools will be leveraged during installation:
Tool | Description |
---|---|
pip | used to install pipx |
pipx | used to install standalone python tools (invoke, poetry) |
invoke | used to run provided tasks (install, daemon, gui, tests, etc) |
poetry | used to install the managed python virtual environment for running CORE |
Supported Linux Distributions
Plan is to support recent Ubuntu and CentOS LTS releases.
Verified:
- Ubuntu - 18.04, 20.04
- CentOS - 7.8, 8.0*
NOTE: Ubuntu 20.04 requires installing legacy ebtables for WLAN functionality
NOTE: CentOS 8 does not provide legacy ebtables support, WLAN will not function properly
Running Installation
# clone CORE repo
git clone https://github.com/coreemu/core.git
cd core
git checkout enhancement/poetry-invoke
# run install script
./install2.sh
Using Invoke Tasks
The invoke tool installed by way of pipx provides conveniences for running CORE tasks to help ensure usage of the create python virtual environment.
Available tasks:
cleanup run core-cleanup removing leftover core nodes, bridges, directories
daemon start core-daemon
gui start core-pygui
install install core
test run core tests
test-emane run core emane tests
test-mock run core tests using mock to avoid running as sudo
Example running the core-daemon task from the root of the repo:
inv daemon
Some tasks are wrappers around command line tools and requires running them with a slight variation for compatibility. You can enter the poetry shell to run the script natively.
# running core-cli as a task requires all options to be provided
# within a string
inv cli "query session -i 1"
# entering the poetry shell to use core-cli natively
cd $REPO/daemon
poetry shell
core-cli query session -i 1
# exit the shell
exit