Fix rasberry Pi 64bit firmware overlay inclusion
authorMatt Flax <flatmax@flatmax.org>
Thu, 3 Jan 2019 11:00:36 +0000 (22:00 +1100)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Sat, 13 Apr 2019 22:09:56 +0000 (00:09 +0200)
This patch enables the inclusion of the Pi's overlays. Previously
the overlays were not included in the genimage configuration.
This patch ensures overlays are included in the sdcard (when
enabled) by defaulting to the inclusion of an empty
output/images/rpi-firmware/overlays directory in genimage cfg.

The Pi's overlays are built with the following config
variables:
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS=y
BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS=y
BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
BR2_LINUX_KERNEL_IMAGE_NAME="Image"
BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image modules dtbs"

After building, the dtbo files are present in the
output/images/rpi-firmware/overlays directory but not added
to the sdcard because they are missing from the genimage cfg
file.

Signed-off-by: Matt Flax <flatmax@flatmax.org>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Arnout: fix indentation, and add comment explaining why an empty
         directory is created.]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
board/raspberrypi/genimage-raspberrypi3-64.cfg
package/rpi-firmware/rpi-firmware.mk

index 0d0ca750a7fa6fb9c376be4a9d2552a0078a70d0..af1d17cde7b8850a5b81b85aed9d04c081f6824f 100644 (file)
@@ -9,6 +9,7 @@ image boot.vfat {
       "rpi-firmware/config.txt",
       "rpi-firmware/fixup.dat",
       "rpi-firmware/start.elf",
+      "rpi-firmware/overlays",
       "Image"
     }
   }
index e41b3442e6fa81335e739f907ae195759bb0a2d0..630bc670ca17c8c79c72a6b89988ebdfbe0616ea 100644 (file)
@@ -24,6 +24,12 @@ define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
                $(INSTALL) -D -m 0644 $${ovldtb} $(BINARIES_DIR)/rpi-firmware/overlays/$${ovldtb##*/} || exit 1; \
        done
 endef
+else
+# Still create the directory, so a genimage.cfg can include it independently of
+# whether _INSTALL_DTB_OVERLAYS is selected or not.
+define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
+       $(INSTALL) -d $(BINARIES_DIR)/rpi-firmware/overlays
+endef
 endif
 
 ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y)