7bc1286b81
The OpenSBI build has been using docker:19.03.1, which appears to be old enough that v2 of the manifest is no longer supported. Something has started serving us those manifests, resulting in errors along the lines of $ docker build --cache-from $IMAGE_TAG --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $IMAGE_TAG .gitlab-ci.d/opensbi Step 1/7 : FROM ubuntu:18.04 18.04: Pulling from library/ubuntu mediaType in manifest should be 'application/vnd.docker.distribution.manifest.v2+json' not 'application/vnd.oci.image.manifest.v1+json' This moves to docker:stable, as was suggested by the template. It also adds the python3 package via apt, as OpenSBI requires that to build. Reviewed-by: Bin Meng <bmeng@tinylab.org> Message-ID: <20230303202448.11911-2-palmer@rivosinc.com> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
35 lines
1012 B
Docker
35 lines
1012 B
Docker
#
|
|
# Docker image to cross-compile OpenSBI firmware binaries
|
|
#
|
|
FROM ubuntu:18.04
|
|
|
|
MAINTAINER Bin Meng <bmeng.cn@gmail.com>
|
|
|
|
# Install packages required to build OpenSBI
|
|
RUN apt update \
|
|
&& \
|
|
\
|
|
DEBIAN_FRONTEND=noninteractive \
|
|
apt install --assume-yes --no-install-recommends \
|
|
build-essential \
|
|
ca-certificates \
|
|
git \
|
|
make \
|
|
python3 \
|
|
wget \
|
|
&& \
|
|
\
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Manually install the kernel.org "Crosstool" based toolchains for gcc-8.3
|
|
RUN wget -O - \
|
|
https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.3.0/x86_64-gcc-8.3.0-nolibc-riscv32-linux.tar.xz \
|
|
| tar -C /opt -xJ
|
|
RUN wget -O - \
|
|
https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.3.0/x86_64-gcc-8.3.0-nolibc-riscv64-linux.tar.xz \
|
|
| tar -C /opt -xJ
|
|
|
|
# Export the toolchains to the system path
|
|
ENV PATH="/opt/gcc-8.3.0-nolibc/riscv32-linux/bin:${PATH}"
|
|
ENV PATH="/opt/gcc-8.3.0-nolibc/riscv64-linux/bin:${PATH}"
|