ath79: remove 'fakeroot' for Senao devices
[openwrt/staging/jow.git] / target / linux / ath79 / image / common-senao.mk
index dd1a53c969c4abf45d76dc6c7ee1c131c89ae539..9b5903d8e7ca55357edf0ad1c1cbbf41d0e212c1 100644 (file)
@@ -3,30 +3,37 @@ DEVICE_VARS += SENAO_IMGNAME
 # This needs to make /tmp/_sys/sysupgrade.tgz an empty file prior to
 # sysupgrade, as otherwise it will implant the old configuration from
 # OEM firmware when writing rootfs from factory.bin
+# rootfs size and checksum is taken from a squashfs header
+# the header does not exist, therefore, supply the size and md5
 define Build/senao-tar-gz
        -[ -f "$@" ] && \
        mkdir -p $@.tmp && \
        touch $@.tmp/failsafe.bin && \
        echo '#!/bin/sh' > $@.tmp/before-upgrade.sh && \
        echo ': > /tmp/_sys/sysupgrade.tgz' >> $@.tmp/before-upgrade.sh && \
+       echo -n $$(( $$(cat $@ | wc -c) / 4096 * 4096 )) > $@.len && \
+       dd if=$@ bs=$$(cat $@.len) count=1 | md5sum - | cut -d ' ' -f 1 > $@.md5 && \
+       echo '#!/bin/sh' > $@.tmp/after-upgrade.sh && \
+       printf 'fw_setenv rootfs_size 0x%08x\n' $$(cat $@.len) >> $@.tmp/after-upgrade.sh && \
+       printf 'fw_setenv rootfs_checksum %s\n' $$(cat $@.md5) >> $@.tmp/after-upgrade.sh && \
        $(CP) $(KDIR)/loader-$(DEVICE_NAME).uImage \
                $@.tmp/openwrt-$(word 1,$(1))-uImage-lzma.bin && \
        $(CP) $@ $@.tmp/openwrt-$(word 1,$(1))-root.squashfs && \
        $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \
                $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
                -C $@.tmp . | gzip -9n > $@ && \
-       rm -rf $@.tmp
+       rm -rf $@.tmp $@.len $@.md5
 endef
 
 define Device/senao_loader_okli
-  KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
+  KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x73714f4b
+  LOADER_KERNEL_MAGIC := 0x73714f4b
   LOADER_TYPE := bin
   COMPILE := loader-$(1).bin loader-$(1).uImage
   COMPILE/loader-$(1).bin := loader-okli-compile
   COMPILE/loader-$(1).uImage := append-loader-okli $(1) | pad-to 64k | lzma | \
        uImage lzma
   IMAGES += factory.bin
-  IMAGE/factory.bin := append-squashfs-fakeroot-be | pad-to $$$$(BLOCKSIZE) | \
-       append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
+  IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
        check-size | senao-tar-gz $$$$(SENAO_IMGNAME)
 endef