ar71xx: image: seama: fix making factory and sysupgrade image
authorYousong Zhou <[email protected]>
Sat, 9 Jul 2016 12:15:58 +0000 (20:15 +0800)
committerJo-Philipp Wich <[email protected]>
Mon, 11 Jul 2016 11:26:34 +0000 (13:26 +0200)
Signed-off-by: Yousong Zhou <[email protected]>
target/linux/ar71xx/image/generic.mk

index b8e70a4154c6866d4004ee598ce3409f4cabf693..1e6168612e9c47c438f5024cd0ba4cbc56cd40bc 100644 (file)
@@ -437,22 +437,17 @@ TARGET_DEVICES += hiwifi-hc6361
 # The pre-filled 64 bytes consist of
 # - 28 bytes seama_header
 # - 36 bytes of META data (4-bytes aligned)
-#
-# And as the 4 bytes jffs2 marker will be erased on first boot, they need to
-# be excluded from the calculation of checksum
 define Build/seama-factory
        ( dd if=/dev/zero bs=64 count=1; cat $(word 1,$^) ) >[email protected]
        ( dd [email protected] bs=64k conv=sync; dd if=$(word 2,$^) ) >[email protected]
        tail -c +65 [email protected] >[email protected]
-       head -c -4 [email protected] >[email protected]
        $(STAGING_DIR_HOST)/bin/seama \
-               -i [email protected].2 \
+               -i [email protected].1 \
                -m "dev=/dev/mtdblock/1" -m "type=firmware"
        $(STAGING_DIR_HOST)/bin/seama \
                -s $@ \
                -m "signature=$(1)" \
-               -i [email protected]
-       tail -c 4 [email protected] >>$@
+               -i [email protected]
        rm -f [email protected] [email protected].*
 endef
 
@@ -461,6 +456,7 @@ define Build/seama-sysupgrade
                -i $(word 1,$^) \
                -m "dev=/dev/mtdblock/1" -m "type=firmware"
        ( dd if=$(word 1,$^).seama bs=64k conv=sync; dd if=$(word 2,$^) ) >$@
+       rm -f $(word 1,$^).seama
 endef
 
 define Build/seama-initramfs
@@ -470,16 +466,21 @@ define Build/seama-initramfs
        mv [email protected] $@
 endef
 
+define Build/seama-pad-rootfs
+       $(STAGING_DIR_HOST)/bin/padjffs2 $(word 2,$^) -c 64 >>$@
+endef
+
 define Device/seama
   CONSOLE := ttyS0,115200
-  KERNEL := kernel-bin | loader-kernel-cmdline | lzma
+  LOADER_TYPE := bin
+  KERNEL := kernel-bin | lzma | loader-kernel-cmdline | lzma
   KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | seama-initramfs
   KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX).seama
   IMAGES := sysupgrade.bin factory.bin
-  IMAGE/sysupgrade.bin := seama-sysupgrade $$$$(SEAMA_SIGNATURE) | check-size $$$$(IMAGE_SIZE)
-  IMAGE/factory.bin := seama-factory $$$$(SEAMA_SIGNATURE) | check-size $$$$(IMAGE_SIZE)
+  IMAGE/sysupgrade.bin := seama-sysupgrade $$$$(SEAMA_SIGNATURE) | seama-pad-rootfs | check-size $$$$(IMAGE_SIZE)
+  IMAGE/factory.bin := seama-factory $$$$(SEAMA_SIGNATURE) | seama-pad-rootfs | check-size $$$$(IMAGE_SIZE)
   SEAMA_SIGNATURE :=
-  DEVICE_VARS := SEAMA_SIGNATURE
+  DEVICE_VARS += SEAMA_SIGNATURE
 endef
 
 define Device/mynet-n600