summaryrefslogtreecommitdiff
path: root/tools/docker
AgeCommit message (Collapse)Author
2025-11-26CI: Update to latest containerTom Rini
- Move to jammy-20251013 tag - Bring in tkinter so that FATtools should run and more tests should be run. - Update to QEMU 10.0.6 - Pick tags for (most of) trace-cmd Signed-off-by: Tom Rini <[email protected]>
2025-11-26Dockerfile: Update building trace tools slightlyTom Rini
We have not been picking a tag for the trace-cmd build process. Currently the tip of libtraceevent fails to build. Address both problems here by picking recent stable tags for libtraceevent and libtracefs (trace-cmd has no recent tags). Further, as it is often reported that this fails to build due to a race, stop using "make -j$(nproc)" as this is also small enough of a set of builds to not be an issue. Signed-off-by: Tom Rini <[email protected]>
2025-11-26Dockerfile: Include python3-tk for FATtoolsTom Rini
In some cases our tests for exFAT don't run because we fail to be able to create the underlying image. This is in turn because while creation of the image succeeds, it seems that some way of how we invoke FATtools wants to import tkinter, that fails and so the test stops there. Having tkinter available (and then presumably a fallback to non-GUI because it's not available) leads to the tests running as expected. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-11-26Docker: Update QEMU to 10.0.6Tom Rini
The QEMU project has the 10.0.x series as an LTS release. While we are not doing an LTS ourselves, we can be confident in the changes between 10.0.2 and 10.0.6, so update ourselves. Signed-off-by: Tom Rini <[email protected]>
2025-11-15docker: Correct the linux/arm64 platform stringBin Meng
The Dockerfile is using linux/arm64 without the /v8 suffix. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-11-04CI: Move to Ubuntu 'Jammy' 20251001 tagTom Rini
This also incorporates the following commits to the Dockerfile: da7942de29f7 Dockerfile: remove Python 2.7 183299d9a400 docker: add OP-TEE and TF-A build for testing Firmware Handoff Signed-off-by: Tom Rini <[email protected]>
2025-11-04Dockerfile: remove Python 2.7Heinrich Schuchardt
We don't use Python 2 anywhere. Remove the package from our Docker image. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-11-04docker: add OP-TEE and TF-A build for testing Firmware HandoffRaymond Mao
Fetch OP-TEE (4.7.0), TF-A (v2.13.0), MbedTLS (v3.6) and build bl1 and fip with both Firmware Handoff and Measured Boot enabled. Signed-off-by: Raymond Mao <[email protected]> Acked-by: Jerome Forissier <[email protected]>
2025-07-25Docker, CI: Update to latest Ubuntu and DockerfileTom Rini
- Update to Ubuntu "Jammy" 20250714 tag - Update to current Dockerfile which brings us QEMU 10.0.2 and newer coreboot and pulls in lz4 via the non-legacy package name. Signed-off-by: Tom Rini <[email protected]>
2025-07-25CI: Update to coreboot 25.03Tom Rini
At this point there's problems rebuilding coreboot-24.08 without manual intervention. Let us upgrade to a newer version. Signed-off-by: Tom Rini <[email protected]>
2025-07-25Dockerfile: Update to QEMU 10.0.2Tom Rini
As QEMU 10.0.2 is the current release, update to that so that we can update other features within CI. Signed-off-by: Tom Rini <[email protected]>
2025-05-09Dockerfile: use lz4 instead of lz4-toolsHeinrich Schuchardt
Since Ubuntu Jammy lz4-tools is only a virtual package which pulls in lz4 as dependency. Update documentation too. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-04-29Docker, CI: Add vexpress_fvp / vexpress_fvp_bloblist supportTom Rini
This adds the vexpress_fvp and vexpress_fvp_bloblist platforms to the list of platforms we test via emulator in CI. In order to do this we need to first have our container runtime have TF-A builds for the vexpress_fvp platform, both with and without transfer list support as well as installing "telnet" so that we can access console. In the CI files we check for the existence of /opt/tf-a/${TEST_PY_BD} and if found, copy bl1.bin and fip.bin to /tmp and set the variables so that we can later run FVP to run. Note that we currently disable the hostfs (semihosting) tests as they trigger a bug in FVP. This has been reported upstream, and can be enabled when fixed. Reviewed-by: Harrison Mutai <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-04-24python: Use and refer to the venv module rather than virtualenvTom Rini
Using some form of sandbox with Python modules is a long standing best practice with the language. There are a number of ways to have a Python sandbox be created. At this point in time, it seems the Python community is moving towards using the "venv" module provided with Python rather than a separate tool. To match that we make the following changes: - Refer to a "Python sandbox" rather than virtualenv in comments, etc. - Install the python3-venv module in our container and not virtualenv. - In our CI files, invoke "python -m venv" rather than "virtualenv". - In documentation, tell users to install python3-venv and not virtualenv. Signed-off-by: Tom Rini <[email protected]>
2025-04-10CI: Move to latest container imagesTom Rini
- Bump up "Jammy" tag to jammy-20250404 - Include most recent changes to the Dockerfile itself Signed-off-by: Tom Rini <[email protected]>
2025-04-10Dockerfile: Add fdiskTom Rini
We had previously gotten this package through a chain of dependencies with guestfs-tools. Now that we no longer install that package, install fdisk (for sfdisk) directly. Fixes: eb1b90ec57a4 ("Dockerfile: Update to drop virt-make-fs packages") Signed-off-by: Tom Rini <[email protected]>
2025-04-10Dockerfile: Download the Arm FVP and extract itTom Rini
There are some reference platforms from Arm which are not found in QEMU but instead in the FVP tool. As we can make use of this in CI later on, download and extract it in our Dockerfile today. Signed-off-by: Tom Rini <[email protected]>
2025-04-10Dockerfile: Update to a more current TF-A release tagTom Rini
In preparation for using TF-A more in our CI loops, switch to the current release tag for TF-A. Signed-off-by: Tom Rini <[email protected]>
2025-04-10Dockerfile: install byaccLeonard Anderweit
Install byacc required to build cst from source. Signed-off-by: Leonard Anderweit <[email protected]>
2025-04-10Dockerfile: Update to gcc-14.2.0 and clang-18Tom Rini
Outside of changing versions here the other visible change is that we tell grub that riscv64 does not have "large model" support. Without this change the resulting mkimage is non-functional. This is known upstream already. Link: https://savannah.gnu.org/bugs/?65909 Signed-off-by: Tom Rini <[email protected]>
2025-04-08Merge patch series "Improve pytest runtime"Tom Rini
Tom Rini <[email protected]> says: One thing that Simon Glass has noted is that our pytest run time keeps getting longer. Looking at: https://source.denx.de/u-boot/u-boot/-/pipelines/25011/test_report?job_name=sandbox%20test.py%3A%20%5Bfast%20amd64%5D we can see that some of the longest running tests are a little puzzling. It turns out that we have two ways of making filesystem images without requiring root access and one of them is significantly slower than the other. This series changes us from using virt-make-fs to only using the mk_fs helper that currently resides in test_ut.py which uses standard userspace tools. The final result can be seen at: https://source.denx.de/u-boot/u-boot/-/pipelines/25015/test_report?job_name=sandbox%20test.py%3A%20%5Bfast%20amd64%5D and the tests changed here now run much quicker. Link: https://lore.kernel.org/r/[email protected]
2025-04-08Dockerfile: Update to drop virt-make-fs packagesTom Rini
Now that we do not need nor want people to use virt-make-fs for filesystem tests, remove the related packages from the installation list. Signed-off-by: Tom Rini <[email protected]>
2025-04-02test_fs: Add exfat testsMarek Vasut
Add tests for the exfat filesystem. These tests are largely an extension of the FS_GENERIC tests with the following notable exceptions. The filesystem image for exfat tests is generated using combination of exfatprogs mkfs.exfat and python fattools. The fattols are capable of generating exfat filesystem images too, but this is not used, the fattools are only used as a replacement for dosfstools 'mcopy' and 'mdir', which are used to insert files and directories into existing fatfs images and list existing fatfs images respectively, without the need for superuser access to mount such images. The exfat filesystem has no filesystem specific command, there is only the generic filesystem command interface, therefore check_ubconfig() has to special case exfat and skip check for CONFIG_CMD_EXFAT and instead check for CONFIG_FS_EXFAT. Signed-off-by: Marek Vasut <[email protected]>
2025-03-13Dockerfile: Add missing 'rm -rf /tmp/coreboot-24.08'Tom Rini
We had missed removing the coreboot directory once done, fix this. Signed-off-by: Tom Rini <[email protected]>
2025-02-14Dockerfile: Update for having more requirements.txt filesTom Rini
Now that we have more requirements.txt files we need to grab all of them for creating our cache. Also, we do longer should install python3-pyelftools on the host as it's not used. Signed-off-by: Tom Rini <[email protected]>
2024-12-21docker: Update to latest "Jammy" tagTom Rini
Bring us up to the current Ubuntu "Jammy" tag. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-12-21docker: Prefer the kernelorg toolchains over "root"Tom Rini
We should always look in our downloaded toolchains first and then for host-provided toolchains. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-12-21docker: Ensure we use the cross toolchain for aarch64 on arm64Tom Rini
We do not want to use the host toolchain for building our platforms in CI (it is both too old, and would be inconsistent with our CI practices). To do this we need to set the toolchain-prefix so that we don't end up guessing "/opt/.../aarch64-linux-aarch64-linux-" as the prefix. Link: https://source.denx.de/u-boot/custodians/u-boot-dm/-/issues/32 Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-12-21docker: Use ${TCVER} more widelyTom Rini
Remove the rest of the places where we hard-code the version of the toolchain we're using. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-12-21Docker/CI: Only test Xtensa on amd64 hostsTom Rini
The xtensa architecture is interesting in that the platforms we support are only valid on the binary-only toolchains as the DC233C instruction set requires those toolchains (and not the FSF instruction set). Only install the binary toolchain on amd64 hosts and only run the tests on them as well. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-12-02docker: Install toolchains on arm64 hostSimon Glass
Refactor the code to support downloading toolchains for arm64 as well as x86_64 There doesn't seem to be an xtensa toolchain for arm64 at the same location, so download that only on x86 Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-12-02docker: Fix LegacyKeyValueFormat warning with PYTHONPATHSimon Glass
Fix a warning due to the syntax used for PYTHONPATH: LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 304) Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-12-02docker: Adjust installed packages slightlySimon Glass
We no longer need to install libc6-i386 so we can drop that. Switch to installing linux-image-generic as that will be available on all hosts, to provide the /boot/vmlinu* file that's requires for various tools. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-12-02docker: Support building for multiple architecturesSimon Glass
Add instructions on how to build the file for multiple architectures. Add a message indicating what is happening. Update the documentation as well. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-12-02docker: Use cache mounts for aptTom Rini
Instead of deleting /var/lib/apt/lists after each relevant RUN line, use a cache mount as is the current best practices. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-12-02docker: Build grub for all architecturesTom Rini
For consistency now, and future ease of testing with non-amd64 hosts, build grub for all architectures rather than relying on host binaries for i386/x86_64. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-12-02docker: Update to grub-2.12Tom Rini
The current release of grub is 2.12 and it will be good to pick this up now so that we can update other parts of our stack. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-12-02docker: Use "make -j$(nproc)" when invoking makeTom Rini
We had a few places that were not using "make -j$(nproc)" but instead just plain "make" and so slowing down the overall build. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-12-02docker: Add kernel.org x86_64 toolchainTom Rini
Add in the x86_64 toolchain, but do not enforce using it for sandbox. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-10-18docker: Update corebootSimon Glass
Update to a newer version which supports settings in CMOS RAM and linear framebuffer. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-08-21CI: Update to latest DockerfileTom Rini
This primarily updates our python cache. Signed-off-by: Tom Rini <[email protected]>
2024-08-21Dockerfile: Update to namespace for some labelsTom Rini
Using "MAINTAINER" and "Description" have been replaced with org.opencontainers.image namespace variables. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-03-15CI: Move to latest container imageTom Rini
This moves us to our latest container image, which is now based on the current "Jammy" tag. Signed-off-by: Tom Rini <[email protected]>
2024-03-14CI: Cherry-pick reset support for m68k for QEMUTom Rini
In order to support the reset pytest on QEMU on m68k platforms we need to grab this change from upstream. Signed-off-by: Tom Rini <[email protected]>
2024-03-14CI: Update to using clang-17Tom Rini
Currently, llvm-17 is the stable release. Update our container and CI to fetch and use that. Signed-off-by: Tom Rini <[email protected]>
2024-03-14Dockerfile: install xilinx-bootgen packageHeinrich Schuchardt
Bootgen is used in a binman test. The test is skipped without the binary. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-03-14Dockerfile: build fiptoolHeinrich Schuchardt
Fiptool is used in a binman test. The test is skipped without the binary. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-02-27CI: Move to latest container imageTom Rini
This moves us to our latest container image, which is now based on the current "Jammy" tag. Signed-off-by: Tom Rini <[email protected]>
2024-02-27Dockerfile: Build coreboot from sourceTom Rini
To make CI runs rely less on external servers, build a coreboot release from source and populate /opt/coreboot with the output. Signed-off-by: Tom Rini <[email protected]>
2024-01-24docker: Add tools/buildman/requirements.txt to the cacheTom Rini
As we have had this file for a while now, we should include installing and populating our pip cache from here as well. Signed-off-by: Tom Rini <[email protected]>