Files
Filip Gołaś 3528269bba Dockerfile: apt install 'wget'
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
2026-06-10 09:28:57 +02:00

192 lines
6.1 KiB
Docker

FROM coreboot/coreboot-sdk:2025-10-19_4a3cc37cbd AS coreboot-sdk
USER root
RUN \
cd /tmp && \
git clone https://github.com/coreboot/coreboot.git && \
cd coreboot && \
git checkout -f ${DOCKER_COMMIT} && \
make -C util/cbfstool && \
make -C util/cbfstool install && \
export USE_FLASHROM=0 && \
make -C 3rdparty/vboot && \
make -C 3rdparty/vboot install && \
mkdir /vboot && \
cp -r 3rdparty/vboot/scripts /vboot/ && \
unset USE_FLASHROM && \
make -C util/ifdtool && \
make -C util/ifdtool install && \
cd .. && \
rm -rf coreboot
# smmstoretool does not compile anymore with newer toolchain and coreboot tag
# Move it back to the RUN command above when patch is merged.
RUN cd /tmp && \
git clone https://review.coreboot.org/coreboot.git && \
cd coreboot && \
git fetch https://review.coreboot.org/coreboot refs/changes/58/92058/1 && \
git checkout -b change-92058 FETCH_HEAD && \
make -C util/smmstoretool && \
make -C util/smmstoretool install && \
cd .. && \
rm -rf coreboot
# nvmtool is needed for DCU
RUN cd /tmp && \
git clone https://review.coreboot.org/coreboot.git && \
cd coreboot && \
git fetch https://review.coreboot.org/coreboot refs/changes/29/67129/5 && \
git checkout -b change-67129 FETCH_HEAD && \
cd util/nvmtool && \
make && \
cp nvm /usr/local/bin/nvm && \
cd ../../.. && \
rm -rf coreboot
RUN wget https://github.com/LongSoft/UEFITool/releases/download/A68/UEFIExtract_NE_A68_x64_linux.zip && \
unzip UEFIExtract_NE_A68_x64_linux.zip && \
mv uefiextract /usr/local/bin && \
rm UEFIExtract_NE_A68_x64_linux.zip
RUN git clone https://github.com/wolfSSL/wolfssl.git -b v5.7.0-stable --depth=1 && \
cd wolfssl && \
./autogen.sh && \
./configure --libdir /lib/x86_64-linux-gnu/ && \
make
RUN cd wolfssl && make install
RUN cd .. && \
rm -rf wolfssl
FROM debian:stable-slim AS intermediate
COPY --from=coreboot-sdk /opt/xgcc /opt/xgcc
# Cleanup unecessary xgcc targets
RUN \
rm -rf /opt/xgcc/bin/clang-* \
/opt/xgcc/bin/llvm-* \
/opt/xgcc/bin/aarch64-* \
/opt/xgcc/bin/riscv64-* \
/opt/xgcc/bin/powerpc64-* \
/opt/xgcc/bin/nds32le-* \
/opt/xgcc/bin/arm-eabi-* \
/opt/xgcc/lib/gcc/nds32le-elf \
/opt/xgcc/lib/gcc/powerpc64-linux-gnu \
/opt/xgcc/lib/gcc/aarch64-elf \
/opt/xgcc/lib/gcc/riscv64-elf \
/opt/xgcc/lib/gcc/arm-eabi \
/opt/xgcc/lib/clang \
/opt/xgcc/lib/libclang* \
/opt/xgcc/lib/libLLVM*
FROM debian:stable-slim AS dasharo-sdk
COPY --from=intermediate /opt/xgcc /opt/xgcc
COPY --from=coreboot-sdk /usr/local/bin/cbfstool /usr/local/bin/cbfstool
COPY --from=coreboot-sdk /usr/local/bin/fmaptool /usr/local/bin/fmaptool
COPY --from=coreboot-sdk /usr/local/bin/rmodtool /usr/local/bin/rmodtool
COPY --from=coreboot-sdk /usr/local/bin/ifwitool /usr/local/bin/ifwitool
COPY --from=coreboot-sdk /usr/local/bin/ifittool /usr/local/bin/ifittool
COPY --from=coreboot-sdk /usr/local/bin/cbfs-compression-tool /usr/local/bin/cbfs-compression-tool
COPY --from=coreboot-sdk /usr/local/bin/elogtool /usr/local/bin/elogtool
COPY --from=coreboot-sdk /usr/local/bin/cse_fpt /usr/local/bin/cse_fpt
COPY --from=coreboot-sdk /usr/local/bin/cse_serger /usr/local/bin/cse_serger
COPY --from=coreboot-sdk /vboot /vboot
COPY --from=coreboot-sdk /usr/share/vboot /usr/share/vboot
COPY --from=coreboot-sdk /usr/local/bin/smmstoretool /usr/local/bin/smmstoretool
COPY --from=coreboot-sdk /usr/local/bin/ifdtool /usr/local/bin/ifdtool
COPY --from=coreboot-sdk /usr/local/bin/nvm /usr/local/bin/nvm
COPY --from=coreboot-sdk /usr/local/bin/uefiextract /usr/local/bin/uefiextract
COPY --from=coreboot-sdk /usr/local/bin/wolfssl-config /usr/local/bin/
COPY --from=coreboot-sdk /usr/local/share/doc/wolfssl /usr/local/share/doc/wolfssl
COPY --from=coreboot-sdk /lib/x86_64-linux-gnu/libwolfssl.so.42.1.0 /lib/x86_64-linux-gnu/
COPY --from=coreboot-sdk /lib/x86_64-linux-gnu/libwolfssl.so.42 /lib/x86_64-linux-gnu/
COPY --from=coreboot-sdk /lib/x86_64-linux-gnu/libwolfssl.so /lib/x86_64-linux-gnu/
COPY --from=coreboot-sdk /lib/x86_64-linux-gnu/libwolfssl.la /lib/x86_64-linux-gnu/
COPY --from=coreboot-sdk /lib/x86_64-linux-gnu/pkgconfig/wolfssl.pc /lib/x86_64-linux-gnu/pkgconfig/
COPY --from=coreboot-sdk /usr/local/include/wolfssl /usr/local/include/wolfssl
COPY --from=coreboot-sdk /usr/bin/futility /usr/bin/futility
COPY --from=coreboot-sdk /usr/bin/dumpRSAPublicKey /usr/bin/dumpRSAPublicKey
RUN for prog in dump_fmap dump_kernel_config gbb_utility vbutil_firmware vbutil_kernel vbutil_key vbutil_keyblock; do \
ln -sf /usr/bin/futility "/usr/bin/$prog"; done
RUN \
useradd -p locked -m coreboot && \
apt-get update && \
apt-get clean && \
apt-get autoclean && \
apt-get -y install --no-install-recommends \
libcrypto++-dev \
make \
binutils \
ca-certificates \
clang \
file \
g++ \
gcc \
git \
guilt \
imagemagick \
libc6 \
libc6-dev \
libncurses-dev \
libnss3-dev \
libssl-dev \
liblzma-dev \
lld \
llvm \
meson \
pkg-config \
python-is-python3 \
python3 \
unzip \
uuid-dev \
uuid-runtime \
golang-go \
bsdextrautils \
wget \
zlib1g-dev \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Dependencies for Intel FITc (BtG provisioning)
RUN \
apt-get update && \
apt-get clean && \
apt-get autoclean && \
apt-get -y install --no-install-recommends \
libxcb-icccm4 \
libxcb-image0 \
libxcb-shm0 \
libxcb-keysyms1 \
libxcb-randr0 \
libxcb-render-util0 \
libxcb-render0 \
libxcb-shape0 \
libxcb-sync1 \
libxcb-xfixes0 \
libxcb-xinerama0 \
libxcb-xkb1 \
libxcb1 \
libxkbcommon-x11-0 \
libxkbcommon0 && \
rm -rf /var/lib/apt/lists/*
RUN mkdir /home/coreboot/.ccache && \
chown coreboot:coreboot /home/coreboot/.ccache && \
mkdir /home/coreboot/cb_build && \
chown coreboot:coreboot /home/coreboot/cb_build && \
echo "export PATH=$PATH:/opt/xgcc/bin" >> /home/coreboot/.bashrc && \
echo "export SDK_VERSION=${SDK_VERSION}" >> /home/coreboot/.bashrc && \
echo "export SDK_COMMIT=${DOCKER_COMMIT}" >> /home/coreboot/.bashrc
# Needed for vboot futility to sign images with VBOOT_CBFS_INTEGRATION
ENV CBFSTOOL=/usr/local/bin/cbfstool
ENV PATH=$PATH:/opt/xgcc/bin
USER coreboot
VOLUME /home/coreboot/.ccache