From 3c1512a25d927dbddea96802f55980e6c963302e Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Tue, 29 Nov 2022 18:13:38 +0800 Subject: [PATCH] ath79: optimize the firmware recipe for Netgear NAND devices 1. Drop useless character '0xff' before fake filesystem header. 2. Reduce useless padding to shrink the size of the sysupgrade image. 3. Do not check the size of sysupgrade image. It does not make sense to check the size of a compressed package. 4. Do not take the size of netgear header into account because it will not be written to Flash. 5. Use the default lzma compression dictionary parameter '-d24' to get better performance. Tested on Netgear R6100 Signed-off-by: Shiji Yang --- target/linux/ath79/image/nand.mk | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/target/linux/ath79/image/nand.mk b/target/linux/ath79/image/nand.mk index 9da47ad38e..ee14c005cc 100644 --- a/target/linux/ath79/image/nand.mk +++ b/target/linux/ath79/image/nand.mk @@ -230,7 +230,7 @@ define Device/linksys_ea4500-v3 endef TARGET_DEVICES += linksys_ea4500-v3 -# fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff) +# fake rootfs is mandatory, pad-offset 64 equals (1 * uimage_header) define Device/netgear_ath79_nand DEVICE_VENDOR := NETGEAR DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport @@ -238,15 +238,12 @@ define Device/netgear_ath79_nand BLOCKSIZE := 128k PAGESIZE := 2048 IMAGE_SIZE := 25600k - KERNEL := kernel-bin | append-dtb | lzma -d20 | \ - pad-offset $$(KERNEL_SIZE) 129 | uImage lzma | \ - append-string -e '\xff' | \ - append-uImage-fakehdr filesystem $$(UIMAGE_MAGIC) - KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | uImage lzma + KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | \ + pad-offset $$(BLOCKSIZE) 64 | append-uImage-fakehdr filesystem $$(UIMAGE_MAGIC) IMAGES := sysupgrade.bin factory.img - IMAGE/factory.img := append-kernel | append-ubi | netgear-dni | \ - check-size - IMAGE/sysupgrade.bin := sysupgrade-tar | check-size | append-metadata + IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | \ + append-ubi | check-size | netgear-dni + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata UBINIZE_OPTS := -E 5 endef @@ -262,8 +259,7 @@ define Device/netgear_pgzng1 IMAGE_SIZE := 83968k PAGESIZE := 2048 BLOCKSIZE := 128k - KERNEL := kernel-bin | append-dtb | lzma | uImage lzma - IMAGE/sysupgrade.bin := sysupgrade-tar | check-size | append-metadata + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata endef TARGET_DEVICES += netgear_pgzng1