From: Christian Taedcke Date: Wed, 6 Mar 2024 16:43:00 +0000 (-0800) Subject: kernel-fitImage: only include valid compatible line X-Git-Tag: 2024-04-scarthgap~174 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f8f3a52b2f924789552e6a3f889162ff07e0887f;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git kernel-fitImage: only include valid compatible line Without this commit the configuration node includes the compatible line 'compatible = [00];' if EXTERNAL_KERNEL_DEVICETREE is not defined, i.e. if PREFERRED_PROVIDER_virtual/dtb is not used. This prevents u-boot from using this configuration and it prints the message "Could not find configuration node". An additional check also ensures that the written compatible line never contains an empty compatible. The functionality to add the compatible line was added in commit f4c82fb6da89 ("kernel-fitImage: add machine compatible to config section"). Signed-off-by: Christian Taedcke Signed-off-by: Richard Purdie --- diff --git a/meta/classes-recipe/kernel-fitimage.bbclass b/meta/classes-recipe/kernel-fitimage.bbclass index 7e30a5d47ea..4b74ddc2015 100644 --- a/meta/classes-recipe/kernel-fitimage.bbclass +++ b/meta/classes-recipe/kernel-fitimage.bbclass @@ -421,6 +421,7 @@ fitimage_emit_section_config() { bootscr_line="" setup_line="" default_line="" + compatible_line="" dtb_image_sect=$(symlink_points_below $dtb_image "${EXTERNAL_KERNEL_DEVICETREE}") if [ -z "$dtb_image_sect" ]; then @@ -428,7 +429,12 @@ fitimage_emit_section_config() { fi dtb_path="${EXTERNAL_KERNEL_DEVICETREE}/${dtb_image_sect}" - compatible_line="compatible = \"$(fdtget "$dtb_path" / compatible | sed 's/ /", "/g')\";" + if [ -e "$dtb_path" ]; then + compat=$(fdtget -t s "$dtb_path" / compatible | sed 's/ /", "/g') + if [ -n "$compat" ]; then + compatible_line="compatible = \"$compat\";" + fi + fi dtb_image=$(echo $dtb_image | tr '/' '_') dtb_image_sect=$(echo "${dtb_image_sect}" | tr '/' '_')