aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorYousong Zhou <yszhou4tech@gmail.com>2016-07-09 20:15:58 +0800
committerJo-Philipp Wich <jo@mein.io>2016-07-11 13:26:34 +0200
commit6d6db4ff7bc2263f56e0abfb86e4c3305e7e6e49 (patch)
tree5e91e4edae1e7c599449d0fc89975f0554b99f3c /target/linux
parentd06b68fe83ebb969baa64335779045d80bc41f89 (diff)
downloadupstream-6d6db4ff7bc2263f56e0abfb86e4c3305e7e6e49.tar.gz
upstream-6d6db4ff7bc2263f56e0abfb86e4c3305e7e6e49.tar.bz2
upstream-6d6db4ff7bc2263f56e0abfb86e4c3305e7e6e49.zip
ar71xx: image: seama: fix making factory and sysupgrade image
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ar71xx/image/generic.mk23
1 files changed, 12 insertions, 11 deletions
diff --git a/target/linux/ar71xx/image/generic.mk b/target/linux/ar71xx/image/generic.mk
index b8e70a4154..1e6168612e 100644
--- a/target/linux/ar71xx/image/generic.mk
+++ b/target/linux/ar71xx/image/generic.mk
@@ -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,$^) ) >$@.loader.tmp
( dd if=$@.loader.tmp bs=64k conv=sync; dd if=$(word 2,$^) ) >$@.tmp.0
tail -c +65 $@.tmp.0 >$@.tmp.1
- head -c -4 $@.tmp.1 >$@.tmp.2
$(STAGING_DIR_HOST)/bin/seama \
- -i $@.tmp.2 \
+ -i $@.tmp.1 \
-m "dev=/dev/mtdblock/1" -m "type=firmware"
$(STAGING_DIR_HOST)/bin/seama \
-s $@ \
-m "signature=$(1)" \
- -i $@.tmp.2.seama
- tail -c 4 $@.tmp.1 >>$@
+ -i $@.tmp.1.seama
rm -f $@.loader.tmp $@.tmp.*
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 $@.seama $@
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