Bug: preempt-rt.scc Not Found During do_kernel_metadata — linux-phytec-imx 6.6
Platform: i.MX8MP (phyBOARD-Pollux)
BSP Release: BSP-Yocto-NXP-i.MX8MP-PD24.1.0
Distro: ampliphy-vendor-rt
Kernel recipe: linux-phytec-imx_6.6.23-2.0.0-phy
Summary
Building phytec-headless-image with distro ampliphy-vendor-rt fails during do_kernel_metadata because the kernel recipe references the feature file preempt-rt.scc without a path prefix.
I asume, the file actually resides at ktypes/preempt-rt/preempt-rt.scc inside the fetched yocto-kernel-cache (kmeta) repository. BitBake cannot resolve the unqualified name and aborts the task.
Steps to Reproduce
# 1. Fetch the BSP
./phyLinux init -p imx8mp -r BSP-Yocto-NXP-i.MX8MP-PD24.1.0
# 2. Source the environment
source sources/poky/oe-init-build-env build
# 3. Set the distro in build/conf/local.conf
# DISTRO ?= "ampliphy-vendor-rt"
# 4. Build
bitbake phytec-headless-image
Error Message
| DEBUG: Using .../meta-ampliphy/recipes-kernel/linux/features/deselect-xen.cfg
| DEBUG: Executing shell function do_kernel_metadata
| NOTE: do_kernel_metadata: for summary/debug, set KCONF_AUDIT_LEVEL > 0
| ERROR: Feature 'preempt-rt.scc' not found, this will cause configuration failures.
| ERROR: Check the SRC_URI for meta-data repositories or directories that may be missing
| ERROR: Set KERNEL_DANGLING_FEATURES_WARN_ONLY to ignore this issue
| WARNING: exit code 1 from a shell command.
ERROR: Task (.../meta-phytec/recipes-kernel/linux/linux-phytec-imx_6.6.23-2.0.0-phy.bb:do_kernel_metadata) failed with exit code '1'
Full build log will be attached.
Root Cause
linux-phytec-imx_6.6.23-2.0.0-phy.bb appends preempt-rt.scc to KERNEL_FEATURES when preempt-rt is present in DISTRO_FEATURES (ampliphy-vendor-rt.conf sets this):
# linux-phytec-imx_6.6.23-2.0.0-phy.bb (line ~28)
KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "preempt-rt", "preempt-rt.scc", "", d)}"
Affected File
sources/meta-phytec/recipes-kernel/linux/linux-phytec-imx_6.6.23-2.0.0-phy.bb
# Broken:
KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "preempt-rt", "preempt-rt.scc", "", d)}"
# Should be:
KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "preempt-rt", "ktypes/preempt-rt/preempt-rt.scc", "", d)}"
Attachments
Bug:
preempt-rt.sccNot Found Duringdo_kernel_metadata— linux-phytec-imx 6.6Platform: i.MX8MP (phyBOARD-Pollux)
BSP Release: BSP-Yocto-NXP-i.MX8MP-PD24.1.0
Distro:
ampliphy-vendor-rtKernel recipe:
linux-phytec-imx_6.6.23-2.0.0-phySummary
Building
phytec-headless-imagewith distroampliphy-vendor-rtfails duringdo_kernel_metadatabecause the kernel recipe references the feature filepreempt-rt.sccwithout a path prefix.I asume, the file actually resides at
ktypes/preempt-rt/preempt-rt.sccinside the fetchedyocto-kernel-cache(kmeta) repository. BitBake cannot resolve the unqualified name and aborts the task.Steps to Reproduce
Error Message
Root Cause
linux-phytec-imx_6.6.23-2.0.0-phy.bbappendspreempt-rt.scctoKERNEL_FEATURESwhenpreempt-rtis present inDISTRO_FEATURES(ampliphy-vendor-rt.confsets this):Affected File
sources/meta-phytec/recipes-kernel/linux/linux-phytec-imx_6.6.23-2.0.0-phy.bbAttachments
do_kernel_metadatalog Full_log.txt