This repository has been archived on 2024-06-02. You can view files and clone it, but cannot push or open issues or pull requests.
upsilon-docker/README.md

56 lines
1.6 KiB
Markdown

Upsilon docker development environment setup.
Written by Peter McGoron.
# Setup steps
## Rebinding Caps Lock to Escape
gsettings set org.gnome.desktop.input-sources xkb-options "['caps:swapescape']"
## Installing OpenFPGALoader
Then install [openFPGALoader][1]. This utility entered the Ubuntu repositories
in 23.04. Install and compile it if you do not have it. Install the udev rule
so that admin access is not required to load FPGA bitstreams.
[1]: https://trabucayre.github.io/openFPGALoader/index.html
## Setup Rootless Docker
Docker allows you to run programs in containers, which are isolated
environments. Upsilon development (at the Maglab) uses Docker for
reproducibility: the environment can be set up automatically, and re-setup
whenever needed.
If you have issues with docker, try adding to `~/.config/docker/daemon.json`
{
"storage-driver": "fuse-overlayfs"
}
## Download and Install Python3
Install `python3-venv` (or `python3-virtualenv`) and `python3-pip`.
## Clone External Repositories
Run `make clone`. You may need to download the upsilon repositories
and put them in the same folder as the Makefile.
## Setup Images
Run `make images` to create all docker images.
## Setup and Run Containers
There are three containers: `hardware`, `buildroot`, and `opensbi`. For
each of these:
1. Run `make $NAME-container` to build the container.
2. Run `make $NAME-container-copy` to copy Upsilon's code into the container.
3. Run `make $NAME-container-execute` to build the data.
4. Run `make $NAME-container-get` to retrieve the build artefacts.
5. (Optionally) run `make $NAME-container-clean` to delete the container.