Use Mono's dts

This commit is contained in:
2026-03-21 21:23:43 +08:00
parent b4078979d6
commit dd9cde3fb0
9 changed files with 1095 additions and 14 deletions

View File

@@ -1,4 +1,4 @@
FROM --platform=linux/amd64 debian:bookworm AS kernel-build
FROM --platform=linux/amd64 debian:bookworm-slim AS kernel-build
ENV DEBIAN_FRONTEND=noninteractive
@@ -14,6 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
file \
flex \
git \
gettext-base \
kmod \
libelf-dev \
libssl-dev \

View File

@@ -5,7 +5,7 @@ FROM ${DOCKER_IMAGE_ROOT}/fit-build:${TAG} AS fit
FROM --platform=linux/amd64 ${DOCKER_IMAGE_ROOT}/build-base:${TAG} AS build
ARG DTB_TARGET
ARG DEVICE_TREE_TARGET
RUN mkdir /image
WORKDIR /image
@@ -14,10 +14,11 @@ COPY --from=kernel /out/kernel/Image.gz ./Image.gz
COPY --from=kernel /out/kernel/System.map ./
COPY --from=kernel /out/kernel/.config ./
COPY --from=fit /out/initramfs.cpio.gz ./
COPY --from=kernel /out/${DTB_TARGET} ./
COPY --from=kernel /out/${DEVICE_TREE_TARGET}.dtb ./
COPY ./board.its ./
COPY ./board.its ./_board.its
RUN envsubst < _board.its > board.its
RUN mkimage -f board.its board.itb
FROM scratch

View File

@@ -5,12 +5,14 @@ FROM --platform=linux/amd64 ${DOCKER_IMAGE_ROOT}/build-base:${TAG}
ARG NXP_VERSION
ARG ARCH
ARG CROSS_COMPILE
ARG DEVICE_TREE_TARGET
WORKDIR /build
RUN test -n "${NXP_VERSION}" || (echo "Please specify NXP_VERSION" >&2; exit 1); \
test -n "${ARCH}" || (echo "Please specify ARCH" >&2; exit 1); \
test -n "${CROSS_COMPILE}" || (echo "Please specify CROSS_COMPILE" >&2; exit 1)
test -n "${CROSS_COMPILE}" || (echo "Please specify CROSS_COMPILE" >&2; exit 1); \
test -n "${DEVICE_TREE_TARGET}" || (echo "Please specify DEVICE_TREE_TARGET" >&2; exit 1)
# Dev-only shortcut
COPY dev/nxplinux.tar.gz ./
@@ -27,6 +29,12 @@ RUN tar -xf nxplinux.tar.gz \
WORKDIR /build/nxplinux
COPY kernel-extra.config /tmp/kernel-extra.config
COPY kernel-build/dts/*.dts ./arch/arm64/boot/dts/freescale/
RUN grep -q "^dtb-\\\$(CONFIG_ARCH_LAYERSCAPE) += ${DEVICE_TREE_TARGET}.dtb$" \
arch/arm64/boot/dts/freescale/Makefile \
|| echo "dtb-\$(CONFIG_ARCH_LAYERSCAPE) += ${DEVICE_TREE_TARGET}.dtb" \
>> arch/arm64/boot/dts/freescale/Makefile
# NXP tree: use the LSDK defconfig target
RUN make ARCH="${ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" defconfig lsdk.config \
@@ -43,7 +51,5 @@ RUN mkdir -p /out/kernel /out/rootfs \
RUN depmod -b /out/rootfs $(ls /out/rootfs/lib/modules/)
ARG DTB_TARGET
RUN find /out/kernel -name "${DTB_TARGET}" -exec cp {} /out/ \;
RUN test -f "/out/${DTB_TARGET}"
RUN find /out/kernel -name "${DEVICE_TREE_TARGET}.dtb" -exec cp {} /out/ \;
RUN test -f "/out/${DEVICE_TREE_TARGET}.dtb"