The boot ROM on Analog Devices ADSP-SC5xx SoCs requires code packaged in the LDR format. Normally this is available as part of our yocto-derived toolchain but, it is not a part of any other pre-made toolchain anymore, so it is otherwise unavailable in the docker image for CI. This patch adds a source build from the ADI maintained github repository. In the future, a package available for install via apt will be available, but currently there is no arm64 build upstream, so we must build from source for the time being to support CI on both amd64 and arm64 runners. The same ldr tool is used for arm and arm64 for all of our boards with names adjusted to match the expected $(CROSS_COMPILE) for these boards.
Signed-off-by: Greg Malysa <[email protected]> --- Changes in v2: - Clarifications in commit message - Update to use meson rather than autotools due to changes in ldr tools/docker/Dockerfile | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index d2384219c06..9b266547361 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -339,6 +339,22 @@ RUN wget -O - https://coreboot.org/releases/coreboot-25.03.tar.xz | tar -C /tmp sudo cp build/coreboot.rom build/cbfstool /opt/coreboot/ && \ rm -rf /tmp/coreboot-25.03 +# Build ldr tool for Analog Devices boards and create prefixed symlinks to match +# $(CROSS_COMPILE) as used by different supported platforms +RUN git clone https://github.com/analogdevicesinc/lnxdsp-arm-poky-linux-gnueabi-ldr.git /opt/lnxdsp-arm-poky-linux-gnueabi-ldr && \ + cd /opt/lnxdsp-arm-poky-linux-gnueabi-ldr && \ + python3 -m venv venv && \ + . venv/bin/activate && \ + pip install meson && \ + meson setup build && \ + cd build && \ + meson compile && \ + cd .. && \ + ln -s build/ldr arm-linux-gnueabi-ldr && \ + ln -s build/ldr aarch64-linux-ldr && \ + deactivate +ENV PATH="${PATH}:/opt/lnxdsp-arm-poky-linux-gnueabi-ldr" + # Create our user/group RUN echo uboot ALL=NOPASSWD: ALL > /etc/sudoers.d/uboot RUN useradd -m -U uboot -- 2.49.1

