diff options
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/ath79/dts/ar724x_senao_loader.dtsi | 12 | ||||
-rw-r--r-- | target/linux/ath79/dts/ar934x_senao_loader.dtsi | 12 | ||||
-rw-r--r-- | target/linux/ath79/dts/qca955x_senao_loader.dtsi | 12 | ||||
-rw-r--r-- | target/linux/ath79/image/common-senao.mk | 15 | ||||
-rw-r--r-- | target/linux/ath79/image/generic.mk | 24 | ||||
-rw-r--r-- | target/linux/ath79/image/tiny.mk | 12 |
6 files changed, 38 insertions, 49 deletions
diff --git a/target/linux/ath79/dts/ar724x_senao_loader.dtsi b/target/linux/ath79/dts/ar724x_senao_loader.dtsi index fdc2726e6f..54dbec18b3 100644 --- a/target/linux/ath79/dts/ar724x_senao_loader.dtsi +++ b/target/linux/ath79/dts/ar724x_senao_loader.dtsi @@ -15,7 +15,7 @@ partition@0 { compatible = "openwrt,uimage", "denx,uimage"; - openwrt,ih-magic = <IH_MAGIC_OKLI>; + openwrt,ih-magic = <0x73714f4b>; label = "firmware"; reg = <0x0 0x0>; }; @@ -64,15 +64,9 @@ reg = <0xb0000 0xf0000>; }; - partition@1a0000 { - label = "fakeroot"; - reg = <0x1a0000 0x10000>; - read-only; - }; - - fwconcat0: partition@1b0000 { + fwconcat0: partition@1a0000 { label = "fwconcat0"; - reg = <0x1b0000 0x4c0000>; + reg = <0x1a0000 0x4d0000>; }; partition@670000 { diff --git a/target/linux/ath79/dts/ar934x_senao_loader.dtsi b/target/linux/ath79/dts/ar934x_senao_loader.dtsi index aa8a36d242..35e5f13535 100644 --- a/target/linux/ath79/dts/ar934x_senao_loader.dtsi +++ b/target/linux/ath79/dts/ar934x_senao_loader.dtsi @@ -15,7 +15,7 @@ partition@0 { compatible = "openwrt,uimage", "denx,uimage"; - openwrt,ih-magic = <IH_MAGIC_OKLI>; + openwrt,ih-magic = <0x73714f4b>; label = "firmware"; reg = <0x0 0x0>; }; @@ -68,15 +68,9 @@ reg = <0x0b0000 0x170000>; }; - partition@220000 { - label = "fakeroot"; - reg = <0x220000 0x010000>; - read-only; - }; - - fwconcat0: partition@230000 { + fwconcat0: partition@220000 { label = "fwconcat0"; - reg = <0x230000 0xbc0000>; + reg = <0x220000 0xbd0000>; }; partition@df0000 { diff --git a/target/linux/ath79/dts/qca955x_senao_loader.dtsi b/target/linux/ath79/dts/qca955x_senao_loader.dtsi index 3f5fc0e938..77eabde80a 100644 --- a/target/linux/ath79/dts/qca955x_senao_loader.dtsi +++ b/target/linux/ath79/dts/qca955x_senao_loader.dtsi @@ -17,7 +17,7 @@ partition@0 { compatible = "openwrt,uimage", "denx,uimage"; - openwrt,ih-magic = <IH_MAGIC_OKLI>; + openwrt,ih-magic = <0x73714f4b>; label = "firmware"; reg = <0x0 0x0>; }; @@ -66,15 +66,9 @@ reg = <0x0b0000 0x170000>; }; - partition@220000 { - label = "fakeroot"; - reg = <0x220000 0x010000>; - read-only; - }; - - fwconcat0: partition@230000 { + fwconcat0: partition@220000 { label = "fwconcat0"; - reg = <0x230000 0xb40000>; + reg = <0x220000 0xb50000>; }; partition@d70000 { diff --git a/target/linux/ath79/image/common-senao.mk b/target/linux/ath79/image/common-senao.mk index dd1a53c969..9b5903d8e7 100644 --- a/target/linux/ath79/image/common-senao.mk +++ b/target/linux/ath79/image/common-senao.mk @@ -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 diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index f358d44064..bda47ce74d 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -994,8 +994,8 @@ define Device/engenius_eap1200h DEVICE_VENDOR := EnGenius DEVICE_MODEL := EAP1200H DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct - IMAGE_SIZE := 11520k - LOADER_FLASH_OFFS := 0x230000 + IMAGE_SIZE := 11584k + LOADER_FLASH_OFFS := 0x220000 SENAO_IMGNAME := ar71xx-generic-eap1200h endef TARGET_DEVICES += engenius_eap1200h @@ -1006,8 +1006,8 @@ define Device/engenius_eap300-v2 DEVICE_VENDOR := EnGenius DEVICE_MODEL := EAP300 DEVICE_VARIANT := v2 - IMAGE_SIZE := 12032k - LOADER_FLASH_OFFS := 0x230000 + IMAGE_SIZE := 12096k + LOADER_FLASH_OFFS := 0x220000 SENAO_IMGNAME := senao-eap300v2 endef TARGET_DEVICES += engenius_eap300-v2 @@ -1017,8 +1017,8 @@ define Device/engenius_eap600 SOC := ar9344 DEVICE_VENDOR := EnGenius DEVICE_MODEL := EAP600 - IMAGE_SIZE := 12032k - LOADER_FLASH_OFFS := 0x230000 + IMAGE_SIZE := 12096k + LOADER_FLASH_OFFS := 0x220000 SENAO_IMGNAME := senao-eap600 endef TARGET_DEVICES += engenius_eap600 @@ -1054,8 +1054,8 @@ define Device/engenius_ecb600 SOC := ar9344 DEVICE_VENDOR := EnGenius DEVICE_MODEL := ECB600 - IMAGE_SIZE := 12032k - LOADER_FLASH_OFFS := 0x230000 + IMAGE_SIZE := 12096k + LOADER_FLASH_OFFS := 0x220000 SENAO_IMGNAME := senao-ecb600 endef TARGET_DEVICES += engenius_ecb600 @@ -1067,8 +1067,8 @@ define Device/engenius_ens202ext-v1 DEVICE_MODEL := ENS202EXT DEVICE_VARIANT := v1 DEVICE_PACKAGES := rssileds - IMAGE_SIZE := 12032k - LOADER_FLASH_OFFS := 0x230000 + IMAGE_SIZE := 12096k + LOADER_FLASH_OFFS := 0x220000 SENAO_IMGNAME := senao-ens202ext endef TARGET_DEVICES += engenius_ens202ext-v1 @@ -1080,8 +1080,8 @@ define Device/engenius_enstationac-v1 DEVICE_MODEL := EnStationAC DEVICE_VARIANT := v1 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct rssileds - IMAGE_SIZE := 11520k - LOADER_FLASH_OFFS := 0x230000 + IMAGE_SIZE := 11584k + LOADER_FLASH_OFFS := 0x220000 SENAO_IMGNAME := ar71xx-generic-enstationac endef TARGET_DEVICES += engenius_enstationac-v1 diff --git a/target/linux/ath79/image/tiny.mk b/target/linux/ath79/image/tiny.mk index dec3cd368d..e9aab2ce06 100644 --- a/target/linux/ath79/image/tiny.mk +++ b/target/linux/ath79/image/tiny.mk @@ -37,8 +37,8 @@ define Device/engenius_eap350-v1 DEVICE_VENDOR := EnGenius DEVICE_MODEL := EAP350 DEVICE_VARIANT := v1 - IMAGE_SIZE := 4864k - LOADER_FLASH_OFFS := 0x1b0000 + IMAGE_SIZE := 4928k + LOADER_FLASH_OFFS := 0x1a0000 SENAO_IMGNAME := senao-eap350 endef TARGET_DEVICES += engenius_eap350-v1 @@ -49,8 +49,8 @@ define Device/engenius_ecb350-v1 DEVICE_VENDOR := EnGenius DEVICE_MODEL := ECB350 DEVICE_VARIANT := v1 - IMAGE_SIZE := 4864k - LOADER_FLASH_OFFS := 0x1b0000 + IMAGE_SIZE := 4928k + LOADER_FLASH_OFFS := 0x1a0000 SENAO_IMGNAME := senao-ecb350 endef TARGET_DEVICES += engenius_ecb350-v1 @@ -62,8 +62,8 @@ define Device/engenius_enh202-v1 DEVICE_MODEL := ENH202 DEVICE_VARIANT := v1 DEVICE_PACKAGES := rssileds - IMAGE_SIZE := 4864k - LOADER_FLASH_OFFS := 0x1b0000 + IMAGE_SIZE := 4928k + LOADER_FLASH_OFFS := 0x1a0000 SENAO_IMGNAME := senao-enh202 endef TARGET_DEVICES += engenius_enh202-v1 |