Upsilon build scripts using docker
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.
Go to file
Peter McGoron 6988465183 README 2023-06-02 16:25:01 -04:00
scripts compiling opensbi 2023-06-02 16:02:45 -04:00
.gitignore buildroot container 2023-06-02 16:16:13 -04:00
Makefile README 2023-06-02 16:25:01 -04:00
README.md README 2023-06-02 16:25:01 -04:00

README.md

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. 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.

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.