]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
kernel-fitImage: only include valid compatible line
authorChristian Taedcke <christian.taedcke@weidmueller.com>
Wed, 6 Mar 2024 16:43:00 +0000 (08:43 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 8 Mar 2024 08:06:14 +0000 (08:06 +0000)
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 <christian.taedcke@weidmueller.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/kernel-fitimage.bbclass

index 7e30a5d47eaac97d34fce984eaeb5a60ef5e6c81..4b74ddc20155353683dfbbdd60a7087b59f940fe 100644 (file)
@@ -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 '/' '_')