xref: /openbmc/qemu/.gitlab-ci.d/opensbi/Dockerfile (revision 9832009d9dd2386664c15cc70f6e6bfe062be8bd)
1c6fc0fc1SBin Meng#
2c6fc0fc1SBin Meng# Docker image to cross-compile OpenSBI firmware binaries
3c6fc0fc1SBin Meng#
4c6fc0fc1SBin MengFROM ubuntu:18.04
5c6fc0fc1SBin Meng
6c6fc0fc1SBin MengMAINTAINER Bin Meng <bmeng.cn@gmail.com>
7c6fc0fc1SBin Meng
8c6fc0fc1SBin Meng# Install packages required to build OpenSBI
9c6fc0fc1SBin MengRUN apt update \
10c6fc0fc1SBin Meng    && \
11c6fc0fc1SBin Meng    \
12c6fc0fc1SBin Meng    DEBIAN_FRONTEND=noninteractive \
13c6fc0fc1SBin Meng    apt install --assume-yes --no-install-recommends \
14c6fc0fc1SBin Meng        build-essential \
15c6fc0fc1SBin Meng        ca-certificates \
16c6fc0fc1SBin Meng        git \
17c6fc0fc1SBin Meng        make \
18*7bc1286bSPalmer Dabbelt	python3 \
19c6fc0fc1SBin Meng        wget \
20c6fc0fc1SBin Meng    && \
21c6fc0fc1SBin Meng    \
22c6fc0fc1SBin Meng    rm -rf /var/lib/apt/lists/*
23c6fc0fc1SBin Meng
24c6fc0fc1SBin Meng# Manually install the kernel.org "Crosstool" based toolchains for gcc-8.3
25c6fc0fc1SBin MengRUN wget -O - \
26c6fc0fc1SBin Meng    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 \
27c6fc0fc1SBin Meng    | tar -C /opt -xJ
28c6fc0fc1SBin MengRUN wget -O - \
29c6fc0fc1SBin Meng    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 \
30c6fc0fc1SBin Meng    | tar -C /opt -xJ
31c6fc0fc1SBin Meng
32c6fc0fc1SBin Meng# Export the toolchains to the system path
33c6fc0fc1SBin MengENV PATH="/opt/gcc-8.3.0-nolibc/riscv32-linux/bin:${PATH}"
34c6fc0fc1SBin MengENV PATH="/opt/gcc-8.3.0-nolibc/riscv64-linux/bin:${PATH}"
35