create-combined-dtb: Check if DTB files exist 02/22102/4
authorLeon Anavi <leon.anavi@konsulko.com>
Tue, 6 Aug 2019 12:28:01 +0000 (15:28 +0300)
committerLeon Anavi <leon.anavi@konsulko.com>
Mon, 12 Aug 2019 06:37:08 +0000 (09:37 +0300)
Check if files exist before creating and deploying DTB. In some
cases, for example with AGL SOTA, the DTB and DTBO files might
not exist and without checks the recipe will fail.

Bug-AGL: SPEC-2729, SPEC-1775

Change-Id: Id96e0c56989569feead076406534334766604cfd
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
meta-agl-bsp/meta-raspberrypi/recipes-kernel/create-combined-dtb/create-combined-dtb_1.0.0.bb

index 7cc76c0..6b20f1f 100644 (file)
@@ -16,20 +16,32 @@ do_compile[depends] += "virtual/kernel:do_deploy"
 
 do_compile () {
        # Official touchscreen setup (rpi3b/rpi3b dtb, vc4-kms-v3d and ft5406)
-       fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb -o bcm2710-rpi-3-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo ${DEPLOY_DIR_IMAGE}/vc4-kms-v3d.dtbo
-       fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb -o bcm2710-rpi-3+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo ${DEPLOY_DIR_IMAGE}/vc4-kms-v3d.dtbo
+       if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb" ]; then
+               fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb -o bcm2710-rpi-3-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo ${DEPLOY_DIR_IMAGE}/vc4-kms-v3d.dtbo
+               fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb -o bcm2710-rpi-3+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo ${DEPLOY_DIR_IMAGE}/vc4-kms-v3d.dtbo
+       fi
 
        # HDMI screen setup (rpi3b/rpi3b dtb and vc4-kms-v3d)
-       fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb -o bcm2710-rpi-3-b+vc4.dtb ${DEPLOY_DIR_IMAGE}/vc4-kms-v3d.dtbo
-       fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb -o bcm2710-rpi-3+vc4.dtb ${DEPLOY_DIR_IMAGE}/vc4-kms-v3d.dtbo
+       if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb" ]; then
+               fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb -o bcm2710-rpi-3-b+vc4.dtb ${DEPLOY_DIR_IMAGE}/vc4-kms-v3d.dtbo
+               fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb -o bcm2710-rpi-3+vc4.dtb ${DEPLOY_DIR_IMAGE}/vc4-kms-v3d.dtbo
+       fi
 }
 
 do_deploy () {
        install -d ${DEPLOY_DIR_IMAGE}
-       install -m 0644 ${S}/bcm2710-rpi-3-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
-       install -m 0644 ${S}/bcm2710-rpi-3+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
-       install -m 0644 ${S}/bcm2710-rpi-3-b+vc4.dtb ${DEPLOY_DIR_IMAGE}
-       install -m 0644 ${S}/bcm2710-rpi-3+vc4.dtb ${DEPLOY_DIR_IMAGE}
+       if [ -f "${S}/bcm2710-rpi-3-b+vc4+ft5406.dtb" ]; then
+               install -m 0644 ${S}/bcm2710-rpi-3-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
+       fi
+       if [ -f "${S}/bcm2710-rpi-3+vc4+ft5406.dtb" ]; then
+               install -m 0644 ${S}/bcm2710-rpi-3+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
+       fi
+       if [ -f "${S}/bcm2710-rpi-3-b+vc4.dtb" ]; then
+               install -m 0644 ${S}/bcm2710-rpi-3-b+vc4.dtb ${DEPLOY_DIR_IMAGE}
+       fi
+       if [ -f "${S}/bcm2710-rpi-3+vc4.dtb" ]; then
+               install -m 0644 ${S}/bcm2710-rpi-3+vc4.dtb ${DEPLOY_DIR_IMAGE}
+       fi
 }
 
 addtask deploy after do_install