This is a curated set of DockerFiles used to install riscv-tools and verilator versions. You can find the docker containers created in this repository at https://hub.docker.com/r/ucbbar/riscv-docker-images.
This repository is split into multiple directories which build a particular tool/item. The base
directory holds a DockerFile
that setups the user, builds SBT, and installs any apt packages needed for subsequent builds.
The riscv-tools
directory contains folders labeled with a commit hash. The DockerFile
within these directories build
a specific version of riscv-tools. Similarly, the verilator
directory has subdirectories labeled with a version of
Verilator that they build. the yosys
directory is similar to base in which there is only one DockerFile
that specifies
the version of Yosys to build. Finally, the images
directory combines all these separate docker builds and creates a final
image with SBT, riscv-tools, Verilator, and Yosys. The subdirectories within images
are labeled with the riscv-tools
hash and version of Verilator that they use. In summary the directory heirarchy is as follows:
base
- top level docker imageyosys
- build yosys docker imageriscv-tools
- build various versions of riscv-tools docker imagesRISCVTOOLS_VERSION_HASH
verilator
- build various versions of verilatorVERILATOR_VERSION_NUMBER
images
- build various combinations of the above tools/itemsRISCVTOOLS_VERSION_HASH-VERILATOR_VERSION_NUMBER
In order to build, run the following command:
sudo build_docker_images.sh TAG_NUMBER
This will build all the docker images in the repository as well as create an updated version of final docker images (the ones
in images
) with the TAG_NUMBER
specified. The final images created out of this command will be labeled as
ucbbar/riscv-docker-images:ROCKETCHIP_VERSION_HASH-VERILATOR_VERSION_NUMBER-TAG_NUMBER
If you would like to have a particular set of tools (updated riscv-tools, verilator, etc...) added to the curated repository and DockerHub, please make an GitHub issue. Thanks!