Add podman to scripts.

This commit is contained in:
Kunlin Han 2024-03-25 10:43:06 -07:00
parent 81b4a23e71
commit 6e2163a5d1
3 changed files with 18 additions and 11 deletions

View File

@ -7,6 +7,8 @@ ENV RISCV=/opt/riscv
ENV PATH="$PATH:${RISCV}/bin"
ENV MANPATH="$MANPATH:${RISCV}/share/man"
# this is required by podman
USER root
WORKDIR /opt/riscv
# TOOLCHAIN
@ -89,4 +91,5 @@ RUN git clone https://github.com/verilator/verilator && \
make install && \
cd ${RISCV} && rm -rf ${RISCV}/verilator
USER ${USERNAME}
USER ${USERNAME}
WORKDIR /home/${USERNAME}/cvw

View File

@ -1,20 +1,21 @@
UBUNTU_BUILD=${UBUNTU_BUILD:-0}
TOOLCHAINS_BUILD=${TOOLCHAINS_BUILD:-0}
DOCKER_EXEC=${DOCKER_EXEC-$(which podman)}
# if UBUNTU_BUILD is 0, then call function fetch_ubuntu_image
# otherwise, call function build_ubuntu_image
if [ $UBUNTU_BUILD -eq 0 ]; then
docker pull wallysoc/ubuntu_wally
${DOCKER_EXEC} pull wallysoc/wally
else
docker build -t ubuntu_wally -f Dockerfile.ubuntu .
docker tag ubuntu_wally:latest wallysoc/ubuntu_wally:latest
${DOCKER_EXEC} build -t ubuntu_wally -f Dockerfile.ubuntu .
${DOCKER_EXEC} tag ubuntu_wally:latest wallysoc/ubuntu_wally:latest
fi
# if TOOLCHAINS_BUILD is 0, then call function fetch_toolchains_image
# otherwise, call function build_toolchains_image
if [ $TOOLCHAINS_BUILD -eq 0 ]; then
docker pull wallysoc/wally_toolchains
${DOCKER_EXEC} pull wallysoc/wally_toolchains
else
docker build -t wally_toolchains -f Dockerfile.builds .
docker tag wally_toolchains:latest wallysoc/wally_toolchains:latest
${DOCKER_EXEC} build -t wally_toolchains -f Dockerfile.builds .
${DOCKER_EXEC} tag wally_toolchains:latest wallysoc/wally_toolchains:latest
fi

View File

@ -1,5 +1,8 @@
UBUNTU_WALLY_HASH=$(docker images --quiet wallysoc/ubuntu_wally)
TOOLCHAINS_HASH=$(docker images --quiet wallysoc/toolchains_wally)
DOCKER_EXEC=${DOCKER_EXEC-$(which podman)}
CVW_MOUNT=${CVW_MOUNT:$(pwd)/../../}
UBUNTU_WALLY_HASH=$(${DOCKER_EXEC} images --quiet wallysoc/ubuntu_wally)
TOOLCHAINS_HASH=$(${DOCKER_EXEC} images --quiet wallysoc/toolchains_wally)
TOOLCHAINS_MOUNT=${TOOLCHAINS_MOUNT}
if [ -z $UBUNTU_WALLY_HASH ]; then
@ -10,13 +13,13 @@ else
fi
if [ ! -z $TOOLCHAINS_MOUNT ]; then
docker run -it --rm -v ${TOOLCHAINS_MOUNT}:/opt/riscv wallysoc/ubuntu_wally
${DOCKER_EXEC} run -it --rm -v ${TOOLCHAINS_MOUNT}:/opt/riscv -v ${CVW_MOUNT}:/home/${USERNAME}/cvw wallysoc/ubuntu_wally
elif [ -z $TOOLCHAINS_HASH ]; then
echo "CANNOT FIND wallysoc/toolchains_wally, please get the image first with \`get_image.sh\`";
exit 1
else
echo "Get ${TOOLCHAINS_HASH} for toolchains_wally"
docker run -it --rm wallysoc/toolchains_wally
${DOCKER_EXEC} run -it --rm -v ${CVW_MOUNT}:/home/${USERNAME}/cvw wallysoc/toolchains_wally
fi
echo "Successfully reach the end"