[PATCH 16/20] CI: Dockerfile: Bump various software version
Jiaxun Yang
jiaxun.yang at flygoat.com
Tue Jun 11 23:04:15 CEST 2024
Bump base OS to Ubuntu noble, grub to 2.12, QEMU to 9.0 (drop
cherry-pick for m68k as it's already in 9.0) and other tools
to latest version.
Remove unsupported python2.
Install some required python packages for buildman/binman.
Signed-off-by: Jiaxun Yang <jiaxun.yang at flygoat.com>
---
tools/docker/Dockerfile | 35 +++++++++++++++++------------------
1 file changed, 17 insertions(+), 18 deletions(-)
diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index 5824d371f259..e3b2c2d57555 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -2,7 +2,7 @@
# This Dockerfile is used to build an image containing basic stuff to be used
# to build U-Boot and run our test suites.
-FROM ubuntu:jammy-20240227
+FROM ubuntu:noble
MAINTAINER Tom Rini <trini at konsulko.com>
LABEL Description=" This image is for building U-Boot inside a container"
@@ -12,7 +12,7 @@ ENV DEBIAN_FRONTEND=noninteractive
# Add LLVM repository
RUN apt-get update && apt-get install -y gnupg2 wget xz-utils && rm -rf /var/lib/apt/lists/*
RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
-RUN echo deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main | tee /etc/apt/sources.list.d/llvm.list
+RUN echo deb http://apt.llvm.org/noble/ llvm-toolchain-noble-17 main | tee /etc/apt/sources.list.d/llvm.list
# Manually install the kernel.org "Crosstool" based toolchains for gcc-13.2.0
RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/13.2.0/x86_64-gcc-13.2.0-nolibc-aarch64-linux.tar.xz | tar -C /opt -xJ
@@ -55,6 +55,7 @@ RUN apt-get update && apt-get install -y \
gawk \
gdisk \
git \
+ gnat \
gnu-efi \
gnutls-dev \
graphviz \
@@ -95,13 +96,14 @@ RUN apt-get update && apt-get install -y \
parted \
pkg-config \
python-is-python3 \
- python2.7 \
python3 \
python3-dev \
+ python3-jsonschema \
python3-pip \
python3-pyelftools \
python3-sphinx \
python3-virtualenv \
+ python3-yaml \
rpm2cpio \
sbsigntool \
socat \
@@ -118,6 +120,7 @@ RUN apt-get update && apt-get install -y \
vboot-utils \
xilinx-bootgen \
xxd \
+ yamllint \
zip \
&& rm -rf /var/lib/apt/lists/*
@@ -131,9 +134,7 @@ RUN chmod +r /boot/vmlinu*
# Build GRUB UEFI targets for ARM & RISC-V, 32-bit and 64-bit
RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
cd /tmp/grub && \
- git checkout grub-2.06 && \
- git cherry-pick 049efdd72eb7baa7b2bf8884391ee7fe650da5a0 && \
- git cherry-pick 403d6540cd608b2706cfa0cb4713f7e4b490ff45 && \
+ git checkout grub-2.12 && \
./bootstrap && \
mkdir -p /opt/grub && \
./configure --target=aarch64 --with-platform=efi \
@@ -181,10 +182,7 @@ RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \
RUN git clone https://gitlab.com/qemu-project/qemu.git /tmp/qemu && \
cd /tmp/qemu && \
- git checkout v8.2.0 && \
- git format-patch 0c7ffc977195~..0c7ffc977195 && \
- git am 0001-hw-net-cadence_gem-Fix-MDIO_OP_xxx-values.patch && \
- git cherry-pick d3c79c3974 && \
+ git checkout v9.0.0 && \
./configure --prefix=/opt/qemu --target-list="aarch64-softmmu,arm-softmmu,i386-softmmu,m68k-softmmu,mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu,ppc-softmmu,riscv32-softmmu,riscv64-softmmu,sh4-softmmu,x86_64-softmmu,xtensa-softmmu" && \
make -j$(nproc) all install && \
rm -rf /tmp/qemu
@@ -192,7 +190,7 @@ RUN git clone https://gitlab.com/qemu-project/qemu.git /tmp/qemu && \
# Build fiptool
RUN git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git /tmp/tf-a && \
cd /tmp/tf-a/ && \
- git checkout v2.10.0 && \
+ git checkout lts-v2.10.4 && \
cd tools/fiptool && \
make && \
mkdir -p /usr/local/bin && \
@@ -200,12 +198,12 @@ RUN git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git /tmp/t
rm -rf /tmp/tf-a
# Build genimage (required by some targets to generate disk images)
-RUN wget -O - https://github.com/pengutronix/genimage/releases/download/v14/genimage-14.tar.xz | tar -C /tmp -xJ && \
- cd /tmp/genimage-14 && \
+RUN wget -O - https://github.com/pengutronix/genimage/releases/download/v17/genimage-17.tar.xz | tar -C /tmp -xJ && \
+ cd /tmp/genimage-17 && \
./configure && \
make -j$(nproc) && \
make install && \
- rm -rf /tmp/genimage-14
+ rm -rf /tmp/genimage-17
# Build libtpms
RUN git clone https://github.com/stefanberger/libtpms /tmp/libtpms && \
@@ -236,22 +234,23 @@ RUN mkdir /tmp/trace && \
cd /tmp/trace/libtracefs && \
make -j$(nproc) && \
sudo make install && \
- git clone https://github.com/rostedt/trace-cmd.git /tmp/trace/trace-cmd && \
+ git clone https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git /tmp/trace/trace-cmd && \
cd /tmp/trace/trace-cmd && \
make -j$(nproc) && \
sudo make install && \
rm -rf /tmp/trace
# Build coreboot
-RUN wget -O - https://coreboot.org/releases/coreboot-4.22.01.tar.xz | tar -C /tmp -xJ && \
- cd /tmp/coreboot-4.22.01 && \
+RUN wget -O - https://coreboot.org/releases/coreboot-24.05.tar.xz | tar -C /tmp -xJ && \
+ cd /tmp/coreboot-24.05 && \
make crossgcc-i386 CPUS=$(nproc) && \
make -C payloads/coreinfo olddefconfig && \
make -C payloads/coreinfo && \
make olddefconfig && \
make -j $(nproc) && \
sudo mkdir /opt/coreboot && \
- sudo cp build/coreboot.rom build/cbfstool /opt/coreboot/
+ sudo cp build/coreboot.rom build/cbfstool /opt/coreboot/ && \
+ rm -rf /tmp/coreboot-24.05
# Create our user/group
RUN echo uboot ALL=NOPASSWD: ALL > /etc/sudoers.d/uboot
--
2.43.0
More information about the U-Boot
mailing list