openwrt/target/linux/ar71xx/image/senao.mk
Piotr Dymacz 656ed7544f ar71xx: fix EnGenius ENS202EXT mtd definition
Use statically defined sizes for kernel and rootfs mtd partitions.
Vendor upgrade script writes both firmware parts independently which
ends up in a gap between kernel and rootfs images. This results in
incorrectly calculated rootfs_data start offset.

Also, fix IMAGE_SIZE, DEVICE_PACKAGES and drop redundant KERNEL
definition.

Fixes FS#835

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-06-29 10:37:36 +02:00

32 lines
1.1 KiB
Makefile

define Build/senao-factory-image
$(eval board=$(word 1,$(1)))
$(eval rootfs=$(word 2,$(1)))
mkdir -p $@.senao
touch $@.senao/FWINFO-OpenWrt-$(REVISION)-$(board)
$(CP) $(IMAGE_KERNEL) $@.senao/openwrt-senao-$(board)-uImage-lzma.bin
$(CP) $(rootfs) $@.senao/openwrt-senao-$(board)-root.squashfs
$(TAR) -c \
--numeric-owner --owner=0 --group=0 --sort=name \
$(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
-C $@.senao . | gzip -9nc > $@
rm -rf $@.senao
endef
define Device/ens202ext
DEVICE_TITLE := EnGenius ENS202EXT
BOARDNAME := ENS202EXT
DEVICE_PACKAGES := rssileds
KERNEL_SIZE := 1536k
IMAGE_SIZE := 13632k
IMAGES += factory.bin
MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env),320k(custom)ro,1536k(kernel),12096k(rootfs),2048k(failsafe)ro,64k(art)ro,13632k@0xa0000(firmware)
IMAGE/factory.bin/squashfs := append-rootfs | pad-rootfs | senao-factory-image ens202ext $$$$@
IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += ens202ext