aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ath79/dts/ar724x_senao_loader.dtsi12
-rw-r--r--target/linux/ath79/dts/ar934x_senao_loader.dtsi12
-rw-r--r--target/linux/ath79/dts/qca955x_senao_loader.dtsi12
-rw-r--r--target/linux/ath79/image/common-senao.mk15
-rw-r--r--target/linux/ath79/image/generic.mk24
-rw-r--r--target/linux/ath79/image/tiny.mk12
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