diff --git a/.circleci/config.yml b/.circleci/config.yml index 567a1431..30f0395c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,7 +12,7 @@ parameters: executors: main-env: docker: - - image: ucbbar/chipyard-ci-image:1d51bb90 + - image: ucbbar/chipyard-ci-image:554b436 environment: JVM_OPTS: -Xmx3200m # Customize the JVM maximum heap limit diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index 1f8ece33..7011f38e 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -7,6 +7,8 @@ ARG CHIPYARD_HASH MAINTAINER https://groups.google.com/forum/#!forum/chipyard +SHELL ["/bin/bash", "-c"] + # Install dependencies for ubuntu-req.sh RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ @@ -15,7 +17,9 @@ RUN apt-get update && \ sudo \ ca-certificates \ keyboard-configuration \ - console-setup + console-setup \ + bc \ + unzip WORKDIR /root @@ -51,6 +55,19 @@ RUN cd chipyard && \ export MAKEFLAGS=-"j $(nproc)" && \ ./scripts/build-toolchains.sh esp-tools 1>/dev/null + +# Set up FireMarshal. Building and cleaning br-base.json builds the underlying +# buildroot image (which takes a long time) but doesn't keep all the br-base +# stuff around (since that's faster to rebuild). +RUN cd chipyard && \ + source env.sh && \ + cd software/firemarshal && \ + ./init-submodules.sh && \ + pip3 install -r python-requirements.txt && \ + marshal build br-base.json && \ + marshal clean br-base.json + + # Run script to set environment variables on entry ENTRYPOINT ["chipyard/scripts/entrypoint.sh"] diff --git a/dockerfiles/README.md b/dockerfiles/README.md index 09ede715..887cda62 100644 --- a/dockerfiles/README.md +++ b/dockerfiles/README.md @@ -13,7 +13,8 @@ Build and Deploy the Container sudo docker tag :tag . # to tag the image after the build (ex. 0.0.3) sudo docker login # login into the account to push to sudo docker push :tag # to push to repo with tag - sudo docker run -it bash # to run an interactive version of the container + sudo docker run -it --privileged bash # to run an interactive version of the container + Path Names ----------