From 807016df68101688eceee657b97874d669fd94ec Mon Sep 17 00:00:00 2001 From: unitexe Date: Thu, 3 Sep 2026 00:42:02 -0500 Subject: Build core-image-base for poky for olimex-imx8mp-evb - Patch meta-freescale-3rdparty to follow builddir change for olimex u-boot - Use newer kernel release that has olimex-imx8mp support - Backport fix from 2.0 branch for NXP gpu label renaming - Remove entries from `KERNEL_DEVICETREE` that are no applicable with linux-fslc-imx 6.18 branch - Build boot container --- ...-for-olimex-with-nxp-rename-of-gpu-labels.patch | 47 ++++++++++++++++++++++ .../linux/linux-fslc-imx_6.18.bbappend | 8 ++++ .../olimex-imx8mp-evb/core-image-base/wrynose.yml | 35 ++++++++++++++++ ...ntainer-builddir-change-for-olimex-u-boot.patch | 33 +++++++++++++++ ...rnel-device-trees-that-dont-exist-in-6.18.patch | 37 +++++++++++++++++ .../wrynose/quilt/0003-build-boot-container.patch | 22 ++++++++++ ...ntainer-builddir-change-for-olimex-u-boot.patch | 33 --------------- .../patches/wrynose/quilt/series | 4 +- 8 files changed, 185 insertions(+), 34 deletions(-) create mode 100644 meta-freescale-extra/recipes-kernel/linux/files/0001-arm64-dts-imx8mp-align-dts-for-olimex-with-nxp-rename-of-gpu-labels.patch create mode 100644 meta-freescale-extra/recipes-kernel/linux/linux-fslc-imx_6.18.bbappend create mode 100644 meta-unit-kas/images/poky/olimex-imx8mp-evb/core-image-base/wrynose.yml create mode 100644 meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0001-follow-imx-boot-container-builddir-change-for-olimex-u-boot.patch create mode 100644 meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0002-remove-olimex-imx8mp-evb-kernel-device-trees-that-dont-exist-in-6.18.patch create mode 100644 meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0003-build-boot-container.patch delete mode 100644 meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/follow-imx-boot-container-builddir-change-for-olimex-u-boot.patch diff --git a/meta-freescale-extra/recipes-kernel/linux/files/0001-arm64-dts-imx8mp-align-dts-for-olimex-with-nxp-rename-of-gpu-labels.patch b/meta-freescale-extra/recipes-kernel/linux/files/0001-arm64-dts-imx8mp-align-dts-for-olimex-with-nxp-rename-of-gpu-labels.patch new file mode 100644 index 0000000..368ef36 --- /dev/null +++ b/meta-freescale-extra/recipes-kernel/linux/files/0001-arm64-dts-imx8mp-align-dts-for-olimex-with-nxp-rename-of-gpu-labels.patch @@ -0,0 +1,47 @@ +From f47afe84dde941d60dd60b623e9606e48bfd87cc Mon Sep 17 00:00:00 2001 +From: Stephan Kulow +Date: Sat, 25 Jul 2026 12:50:33 +0200 +Subject: [PATCH] arm64: dts: imx8mp: align dts for Olimex with NXP's rename of + gpu labels + +Upstream-Status: Pending + +--- + arch/arm64/boot/dts/freescale/imx8mp-olimex.dts | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/arch/arm64/boot/dts/freescale/imx8mp-olimex.dts b/arch/arm64/boot/dts/freescale/imx8mp-olimex.dts +index af5af5495dd1..696e0411e9d6 100644 +--- a/arch/arm64/boot/dts/freescale/imx8mp-olimex.dts ++++ b/arch/arm64/boot/dts/freescale/imx8mp-olimex.dts +@@ -7,6 +7,8 @@ + #include + #include + #include "imx8mp.dtsi" ++#include "imx8mp-nxp-display.dtsi" ++#include "imx8mp-nxp-capture.dtsi" + + / { + model = "Olimex i.MX8MPlus"; +@@ -1036,15 +1038,15 @@ &vpu_v4l2 { + status = "okay"; + }; + +-&gpu_3d { ++&gpu3d { + status = "okay"; + }; + +-&gpu_2d { ++&gpu2d { + status = "okay"; + }; + +-&ml_vipsi { ++&npu { + status = "okay"; + }; + +-- +2.43.0 + diff --git a/meta-freescale-extra/recipes-kernel/linux/linux-fslc-imx_6.18.bbappend b/meta-freescale-extra/recipes-kernel/linux/linux-fslc-imx_6.18.bbappend new file mode 100644 index 0000000..4c561ac --- /dev/null +++ b/meta-freescale-extra/recipes-kernel/linux/linux-fslc-imx_6.18.bbappend @@ -0,0 +1,8 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +# Override to newer version that has olimex-imx8mp support +LINUX_VERSION = "6.18.32" +SRCREV = "b53c67dffacd841fa51dbfeb9d5abd0cf9f7cdae" + +# Backport fix for misaligned labels. +SRC_URI:append = " file://0001-arm64-dts-imx8mp-align-dts-for-olimex-with-nxp-rename-of-gpu-labels.patch" diff --git a/meta-unit-kas/images/poky/olimex-imx8mp-evb/core-image-base/wrynose.yml b/meta-unit-kas/images/poky/olimex-imx8mp-evb/core-image-base/wrynose.yml new file mode 100644 index 0000000..bea09f0 --- /dev/null +++ b/meta-unit-kas/images/poky/olimex-imx8mp-evb/core-image-base/wrynose.yml @@ -0,0 +1,35 @@ +header: + version: 20 + includes: + - meta-unit-kas/include/build/conf.yml + - meta-unit-kas/include/layers/bitbake/2.18.yml + - meta-unit-kas/include/layers/bitbake/remote.yml + - meta-unit-kas/include/layers/openembedded-core/wrynose.yml + - meta-unit-kas/include/layers/openembedded-core/remote.yml + - meta-unit-kas/include/layers/openembedded-core/core-image-base.yml + - meta-unit-kas/include/layers/openembedded-core/passwordless-root-login.yml + - meta-unit-kas/include/layers/meta-yocto/wrynose.yml + - meta-unit-kas/include/layers/meta-yocto/remote.yml + - meta-unit-kas/include/layers/meta-openembedded/remote.yml + - meta-unit-kas/include/layers/meta-openembedded/wrynose.yml + - meta-unit-kas/include/layers/meta-freescale/wrynose.yml + - meta-unit-kas/include/layers/meta-freescale/remote.yml + - meta-unit-kas/include/layers/meta-freescale/conf.yml + - meta-unit-kas/include/layers/meta-freescale-3rdparty/wrynose.yml + - meta-unit-kas/include/layers/meta-freescale-3rdparty/remote.yml + - meta-unit-kas/include/layers/meta-freescale-3rdparty/olimex-imx8mp-evb.yml + - meta-unit-kas/include/layers/meta-freescale-3rdparty/conf.yml + - meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/patches.yml + - meta-unit-kas/include/features/ssh.yml + +repos: + meta-openembedded: + layers: + meta-filesystems: + meta-oe: + meta-networking: + meta-python: + meta-unit: + layers: + meta-freescale-extra: + meta-unit-kas: diff --git a/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0001-follow-imx-boot-container-builddir-change-for-olimex-u-boot.patch b/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0001-follow-imx-boot-container-builddir-change-for-olimex-u-boot.patch new file mode 100644 index 0000000..6004fba --- /dev/null +++ b/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0001-follow-imx-boot-container-builddir-change-for-olimex-u-boot.patch @@ -0,0 +1,33 @@ +diff --git a/recipes-bsp/u-boot/u-boot-olimex_2024.04.bb b/recipes-bsp/u-boot/u-boot-olimex_2024.04.bb +index 01c121f..e35fff2 100644 +--- a/recipes-bsp/u-boot/u-boot-olimex_2024.04.bb ++++ b/recipes-bsp/u-boot/u-boot-olimex_2024.04.bb +@@ -25,11 +25,13 @@ do_deploy:append:mx8m-generic-bsp() { + for config in ${UBOOT_MACHINE}; do + i=$(expr $i + 1); + for type in ${UBOOT_CONFIG}; do ++ builddir="${config}-${type}" + j=$(expr $j + 1); + if [ $j -eq $i ] + then ++ builddir="${config}-${type}" + install -d ${DEPLOYDIR}/${BOOT_TOOLS} +- install -m 0644 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type} ++ install -m 0644 ${B}/${builddir}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type} + UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}" + for key_value in ${UBOOT_DTB_NAME_FLAGS}; do + local type_key="${key_value%%:*}" +@@ -39,11 +41,11 @@ do_deploy:append:mx8m-generic-bsp() { + bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name" + # There is only one ${dtb_name}, the first one. All the other are with the type appended + if [ ! -f "${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}" ]; then +- install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name} ++ install -m 0644 ${B}/${builddir}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name} + else + bbwarn "Use custom wks.in for $dtb_name = $type" + fi +- install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}-${type} ++ install -m 0644 ${B}/${builddir}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}-${type} + fi + unset type_key + unset dtb_name diff --git a/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0002-remove-olimex-imx8mp-evb-kernel-device-trees-that-dont-exist-in-6.18.patch b/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0002-remove-olimex-imx8mp-evb-kernel-device-trees-that-dont-exist-in-6.18.patch new file mode 100644 index 0000000..7d79007 --- /dev/null +++ b/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0002-remove-olimex-imx8mp-evb-kernel-device-trees-that-dont-exist-in-6.18.patch @@ -0,0 +1,37 @@ +From 2fbe7abb840a63e4c88b098def30fa4f8088c50f Mon Sep 17 00:00:00 2001 +From: unitexe +Date: Wed, 2 Sep 2026 23:34:04 -0500 +Subject: [PATCH] remove olimex-imx8mp-evb kernel device trees that dont exist + in 6.18 + +- `imx8mp-evk-rpmsg-lpv.dtb` was removed in commit cc134e6553f1 +- `imx8mp-evk-pcie-ep` was converted to `.dtso` and then consolidated to shared `imx-pcie0-ep.dtso` in commit 1c9b0c6044c2 +- `imx8mp-evk-usdhc1-m2` was folded into base evk dts in commit a636cb2f5f37 +--- + conf/machine/olimex-imx8mp-evb.conf | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/conf/machine/olimex-imx8mp-evb.conf b/conf/machine/olimex-imx8mp-evb.conf +index 6acc656..394ab49 100644 +--- a/conf/machine/olimex-imx8mp-evb.conf ++++ b/conf/machine/olimex-imx8mp-evb.conf +@@ -33,16 +33,13 @@ KERNEL_DEVICETREE:append:use-nxp-bsp = " \ + freescale/imx8mp-evk-os08a20-ov5640.dtb \ + freescale/imx8mp-evk-ov2775.dtb \ + freescale/imx8mp-evk-ov2775-ov5640.dtb \ +- freescale/imx8mp-evk-pcie-ep.dtb \ + freescale/imx8mp-evk-revA3-8mic-revE.dtb \ + freescale/imx8mp-evk-rm67191.dtb \ + freescale/imx8mp-evk-rm67199.dtb \ + freescale/imx8mp-evk-root.dtb \ + freescale/imx8mp-evk-rpmsg.dtb \ +- freescale/imx8mp-evk-rpmsg-lpv.dtb \ + freescale/imx8mp-evk-sof-wm8960.dtb \ + freescale/imx8mp-evk-spdif-lb.dtb \ +- freescale/imx8mp-evk-usdhc1-m2.dtb \ + freescale/imx8mp-evk-8mic-swpdm.dtb \ + freescale/imx8mp-olimex.dtb \ + " +-- +2.43.0 + diff --git a/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0003-build-boot-container.patch b/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0003-build-boot-container.patch new file mode 100644 index 0000000..08a2bf8 --- /dev/null +++ b/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/0003-build-boot-container.patch @@ -0,0 +1,22 @@ +From 1ac2626fb498364263a3a5d8584acf26ae5fe4ed Mon Sep 17 00:00:00 2001 +From: unitexe +Date: Thu, 3 Sep 2026 00:16:52 -0500 +Subject: [PATCH] build boot container + +--- + conf/machine/olimex-imx8mp-evb.conf | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/conf/machine/olimex-imx8mp-evb.conf b/conf/machine/olimex-imx8mp-evb.conf +index 394ab49..2f0e034 100644 +--- a/conf/machine/olimex-imx8mp-evb.conf ++++ b/conf/machine/olimex-imx8mp-evb.conf +@@ -67,3 +67,5 @@ IMXBOOT_TARGETS_BASENAME = "flash_evk" + # Also this machine isn't supported by u-boot-fslc but imx8mn-evk.inc already + # set the bootloader to u-boot-imx instead when NXP BSP is used. + IMX_DEFAULT_BSP = "nxp" ++ ++UBOOT_PROVIDES_BOOT_CONTAINER:mx8m-generic-bsp = "0" +-- +2.43.0 + diff --git a/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/follow-imx-boot-container-builddir-change-for-olimex-u-boot.patch b/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/follow-imx-boot-container-builddir-change-for-olimex-u-boot.patch deleted file mode 100644 index 6004fba..0000000 --- a/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/follow-imx-boot-container-builddir-change-for-olimex-u-boot.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/recipes-bsp/u-boot/u-boot-olimex_2024.04.bb b/recipes-bsp/u-boot/u-boot-olimex_2024.04.bb -index 01c121f..e35fff2 100644 ---- a/recipes-bsp/u-boot/u-boot-olimex_2024.04.bb -+++ b/recipes-bsp/u-boot/u-boot-olimex_2024.04.bb -@@ -25,11 +25,13 @@ do_deploy:append:mx8m-generic-bsp() { - for config in ${UBOOT_MACHINE}; do - i=$(expr $i + 1); - for type in ${UBOOT_CONFIG}; do -+ builddir="${config}-${type}" - j=$(expr $j + 1); - if [ $j -eq $i ] - then -+ builddir="${config}-${type}" - install -d ${DEPLOYDIR}/${BOOT_TOOLS} -- install -m 0644 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type} -+ install -m 0644 ${B}/${builddir}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type} - UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}" - for key_value in ${UBOOT_DTB_NAME_FLAGS}; do - local type_key="${key_value%%:*}" -@@ -39,11 +41,11 @@ do_deploy:append:mx8m-generic-bsp() { - bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name" - # There is only one ${dtb_name}, the first one. All the other are with the type appended - if [ ! -f "${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}" ]; then -- install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name} -+ install -m 0644 ${B}/${builddir}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name} - else - bbwarn "Use custom wks.in for $dtb_name = $type" - fi -- install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}-${type} -+ install -m 0644 ${B}/${builddir}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}-${type} - fi - unset type_key - unset dtb_name diff --git a/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/series b/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/series index 3d27041..1478f32 100644 --- a/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/series +++ b/meta-unit-kas/include/layers/meta-freescale-3rdparty/patches/wrynose/quilt/series @@ -1 +1,3 @@ -follow-imx-boot-container-builddir-change-for-olimex-u-boot.patch \ No newline at end of file +0001-follow-imx-boot-container-builddir-change-for-olimex-u-boot.patch +0002-remove-olimex-imx8mp-evb-kernel-device-trees-that-dont-exist-in-6.18.patch +0003-build-boot-container.patch \ No newline at end of file -- cgit v1.2.3