diff options
author | Michael Pratt <mcpratt@pm.me> | 2021-02-24 22:55:09 -0500 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2021-04-08 09:20:59 +0200 |
commit | 4a0cc5d4ef29a11914850c72158aca1e2a170fb0 (patch) | |
tree | 4595a9c3115f558a600fda44aff98039837e85a2 /target/linux/ath79/image/tiny.mk | |
parent | 1b8bd17c2d07c7397015a86941db9e114e1d349a (diff) | |
download | upstream-4a0cc5d4ef29a11914850c72158aca1e2a170fb0.tar.gz upstream-4a0cc5d4ef29a11914850c72158aca1e2a170fb0.tar.bz2 upstream-4a0cc5d4ef29a11914850c72158aca1e2a170fb0.zip |
ath79: remove 'fakeroot' for Senao devices
By using the same custom kernel header magic
in both OKLI lzma-loader, DTS, and makefile
this hack is not necessary anymore
However, "rootfs" size and checksum
must now be supplied by the factory.bin image
through a script that is accepted by the OEM upgrade script.
This is because Senao OEM scripts assume a squashfs header exists
at the offset for the original "rootfs" partition
which is actually the kernel + rootfs in this implementation,
and takes size value from the header that would be there with hexdump,
but this offset is now the uImage header instead.
This frees up 1 eraseblock
previously used by the "fakeroot" partition
for bypassing the OEM image verification.
Also, these Senao devices with a 'failsafe' partition
and the tar-gz factory.bin platform would otherwise require
flashing the new tar-gz sysupgrade.bin afterward.
So this also prevents having to flash both images
when starting from OEM or 'failsafe'
the OEM upgrade script verifies the header magic numbers,
but only the first two bytes.
Example:
[ "${magic_word_kernel}" = "2705" ] &&
[ "${magic_word_rootfs}" = "7371" -o "${magic_word_rootfs}" = "6873" ] &&
errcode="0"
therefore picked the magic number
0x73714f4b
which is
'sqOK'
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Diffstat (limited to 'target/linux/ath79/image/tiny.mk')
-rw-r--r-- | target/linux/ath79/image/tiny.mk | 12 |
1 files changed, 6 insertions, 6 deletions
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 |