gemini: add wiligear image build code
authorMathias Kresin <dev@kresin.me>
Sat, 26 Jan 2019 07:57:34 +0000 (08:57 +0100)
committerMathias Kresin <dev@kresin.me>
Sat, 26 Jan 2019 14:23:37 +0000 (15:23 +0100)
They were dropped with 6409b159e8b8 ("gemini: switch to 4.14") without
any explaination.

The image generation is disabled for now as it would break the build for
the target. The mkfwimage2 call need to be adjusted to reflect the real
size of kernel and rootfs. Nevertheless, add the required code to give
interested parties a chance to fix the remaining issues.

The dts would need to use the ecoscentric,redboot-fis-partitions
partition parser to get the correct partition offsets and size. It's
expected that the OEM firmware adjusts the on flash partition table with
the values defined in the image header.

Signed-off-by: Mathias Kresin <dev@kresin.me>
target/linux/gemini/image/Makefile

index 24d97508c2b86a75ffc569bab32bd21479cb0b39..aca6e11df2206fa0c104874ba8c7528a70ea015a 100644 (file)
@@ -45,6 +45,17 @@ define Build/dns313-images
        rm -rf $@.tmp
 endef
 
+define Build/wiligear-image
+       $(STAGING_DIR_HOST)/bin/mkfwimage2 \
+               -m GEOS -f 0x30000000 -z \
+               -v $(1).v5.00.SL3512.OpenWrt.00000.000000.000000 \
+               -p Kernel:0x020000:0x100000:0:0:$(IMAGE_KERNEL) \
+               -p Ramdisk:0x120000:0x500000:0:0:$@ \
+               -o $@.new
+
+       mv $@.new $@
+endef
+
 # Create the special NAS4220B and Itian Square One SQ201 image
 # format with the squashfs and overlay inside the "rd.gz" file.
 # We pad it out to 6144K which is the size of the initramfs partition.
@@ -143,18 +154,28 @@ define Device/teltonika_rut1xx
 endef
 TARGET_DEVICES += teltonika_rut1xx
 
+# The wiliboard images need some changes to be functional and buildable.
+#
+# The dts would need to use the ecoscentric,redboot-fis-partitions partition
+# parser to get the correct partition offsets and size.
+#
+# The mkfwimage2 call need to be adjusted to reflect the real size of kernel
+# and rootfs. It is expected that the OEM firmware adjusts the on flash
+# partition table with the values defined in the image header.
 define Device/wiliboard_wbd111
        DEVICE_TITLE := Wiliboard WBD-111
        DEVICE_DTS := gemini-wbd111
        KERNEL := kernel-bin | append-dtb | wbd-nops
+       IMAGES := factory.bin
+       IMAGE/factory.bin := append-rootfs | pad-rootfs | wiligear-image "WILI-S.WILIBOARD"
 endef
-TARGET_DEVICES += wiliboard_wbd111
 
 define Device/wiliboard_wbd222
        DEVICE_TITLE := Wiliboard WBD-222
        DEVICE_DTS := gemini-wbd222
        KERNEL := kernel-bin | append-dtb | wbd-nops
+       IMAGES := factory.bin
+       IMAGE/factory.bin := append-rootfs | pad-rootfs | wiligear-image "WILI-S.WBD222"
 endef
-TARGET_DEVICES += wiliboard_wbd222
 
 $(eval $(call BuildImage))