openwrt/target/linux/ath79/image/tiny.mk
Michael Pratt 467c1424e0 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>
Signed-off-by: maurerr <mariusd84@gmail.com>
2021-09-01 08:07:55 +00:00

80 lines
1.9 KiB
Makefile

include ./common-buffalo.mk
include ./common-senao.mk
define Device/buffalo_whr-g301n
$(Device/buffalo_common)
SOC := ar7240
DEVICE_MODEL := WHR-G301N
BUFFALO_PRODUCT := WHR-G301N
IMAGE_SIZE := 3712k
SUPPORTED_DEVICES += whr-g301n
DEFAULT := n
endef
TARGET_DEVICES += buffalo_whr-g301n
define Device/dlink_dir-615-e4
SOC := ar7240
DEVICE_VENDOR := D-Link
DEVICE_MODEL := DIR-615
DEVICE_VARIANT := E4
IMAGE_SIZE := 3776k
FACTORY_IMAGE_SIZE := 3456k
IMAGES += factory.bin
IMAGE/default := append-kernel | append-rootfs | pad-rootfs
IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \
check-size
IMAGE/factory.bin := $$(IMAGE/default) | \
check-size $$$$(FACTORY_IMAGE_SIZE) | pad-to $$$$(FACTORY_IMAGE_SIZE) | \
append-string "AP99-AR7240-RT-091105-05"
SUPPORTED_DEVICES += dir-615-e4
DEFAULT := n
endef
TARGET_DEVICES += dlink_dir-615-e4
define Device/engenius_eap350-v1
$(Device/senao_loader_okli)
SOC := ar7242
DEVICE_VENDOR := EnGenius
DEVICE_MODEL := EAP350
DEVICE_VARIANT := v1
IMAGE_SIZE := 4928k
LOADER_FLASH_OFFS := 0x1a0000
SENAO_IMGNAME := senao-eap350
endef
TARGET_DEVICES += engenius_eap350-v1
define Device/engenius_ecb350-v1
$(Device/senao_loader_okli)
SOC := ar7242
DEVICE_VENDOR := EnGenius
DEVICE_MODEL := ECB350
DEVICE_VARIANT := v1
IMAGE_SIZE := 4928k
LOADER_FLASH_OFFS := 0x1a0000
SENAO_IMGNAME := senao-ecb350
endef
TARGET_DEVICES += engenius_ecb350-v1
define Device/engenius_enh202-v1
$(Device/senao_loader_okli)
SOC := ar7240
DEVICE_VENDOR := EnGenius
DEVICE_MODEL := ENH202
DEVICE_VARIANT := v1
DEVICE_PACKAGES := rssileds
IMAGE_SIZE := 4928k
LOADER_FLASH_OFFS := 0x1a0000
SENAO_IMGNAME := senao-enh202
endef
TARGET_DEVICES += engenius_enh202-v1
define Device/pqi_air-pen
SOC := ar9330
DEVICE_VENDOR := PQI
DEVICE_MODEL := Air-Pen
DEVICE_PACKAGES := kmod-usb2
IMAGE_SIZE := 7680k
SUPPORTED_DEVICES += pqi-air-pen
endef
TARGET_DEVICES += pqi_air-pen