realtek: fix ZyXEL initramfs image generation
authorBjørn Mork <bjorn@mork.no>
Thu, 24 Jun 2021 21:04:08 +0000 (23:04 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Sat, 30 Oct 2021 13:00:22 +0000 (15:00 +0200)
The current rule produces empty trailers, causing the OEM firmware
update application to reject our images.

The double expansion of a makefile variable does not work inside
shell code.  The second round is interpreted as a shell expansion,
attempting to run the command ZYXEL_VERS instead of expanding the
$(ZYXEL_VERS) makefile variable.

Fix by removing one level of variable indirection.

Fixes: c6c8d597e183 ("realtek: Add generic zyxel_gs1900 image definition")
Tested-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
target/linux/realtek/image/Makefile

index 5e4b4cde800ddb83daa3a8fec5fe37a3aad38b2b..a7961970a302a0af6e5944c7cbded85521628297 100644 (file)
@@ -10,7 +10,7 @@ DEVICE_VARS += ZYXEL_VERS
 
 define Build/zyxel-vers
        ( echo VERS;\
-       for hw in $(1); do\
+       for hw in $(ZYXEL_VERS); do\
                echo -n "V9.99($$hw.0) | ";\
                date -d @$(SOURCE_DATE_EPOCH) +%m/%d/%Y;\
        done ) >> $@
@@ -117,7 +117,7 @@ define Device/zyxel_gs1900
   IMAGE_SIZE := 6976k
   DEVICE_VENDOR := ZyXEL
   UIMAGE_MAGIC := 0x83800000
-  KERNEL_INITRAMFS := kernel-bin | append-dtb | gzip | zyxel-vers $$$$(ZYXEL_VERS) | \
+  KERNEL_INITRAMFS := kernel-bin | append-dtb | gzip | zyxel-vers | \
        uImage gzip
 endef