Building the radio¶
DragonRadio is developed under Ubuntu 16.04, the distribution used to the Colosseum. Running the top-level
build.sh script in a base Ubuntu 16.04 installation installs all necessary prerequisites and builds DragonRadio.
Building a container¶
It is relatively painless to build an
lxc image that can run directly on the Colosseum using the steps below.
ansibleon the system where you are building the image. On Ubuntu, both can be installed as follows:
sudo apt install -y ansible lxd lxd init
You will also need to edit
/etc/subgid. The Colosseum instructions on how to prepare a container will be helpful.
Obtain the Colosseum base image
Follow the Colosseum instructions to obtain the base image,
base-1604-nocuda.tar.gz, and import it. The
--aliasargument is important!
lxc import base-1604-nocuda.tar.gz --alias base-1604-nocuda
Build base DragonRadio image
The image built in this step serves as the base image for all DragonRadio builds. It includes generally useful tools, the Colosseum CLI, and additional software, like
gpsd, that are necessary to run the radio in batch mode in the Colosseum. The build is automated using ansible:
cd ansible && ansible-playbook -i inventory playbooks/dragonradio.yml
This will result in a
dragonradio-1604-baseimage in the top-level
imagesdirectory. The password for the
srn-userusers in this image is
Build a DragonRadio image
gitreference (tag, hash, etc.) and builds an image based on the given version of the radio. For example, an image based on the
masterbranch can be built as follows:
The image wil be placed in the
imagesdirectory and have a name of the form
DATEis the build date, and
githash of the version of the radio use to build the image.
build-image.shscript takes one optional flag,
-s, which will install the
dragonradioservice in the generated image. This service automatically starts the radio on boot, making the image ready-to-run in batch mode in the Colosseum.
Building the documentation¶
The documentation can be built as follows:
cd docs pip install -Ur requirements.txt make html