u-boot splits nand factory firmware at 2M offset, flash the first
part as kernel into spi nor and the other part as ubi into nand
flash. With previous commit increasing kernel size to 4M, generated
factory firmware is broken because ubi is at 4M offset.
This commit reduces kernel size definition to 2M in image Makefile,
producing proper factory image. Partition size in dts is kept
unchanged so that sysupgrade to a firmware with 2M+ kernel still
works.
Fixes: b496a2294c
("ath79: GL-AR750S: provide NAND support; increase kernel to 4 MB")
Reported-by: Jeff Kletsky <git-commits@allycomm.com>
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
178 lines
5.4 KiB
Makefile
178 lines
5.4 KiB
Makefile
include ./common-netgear.mk # for netgear-uImage
|
|
|
|
# attention: only zlib compression is allowed for the boot fs
|
|
define Build/zyxel-buildkerneljffs
|
|
rm -rf $(KDIR_TMP)/zyxelnbg6716
|
|
mkdir -p $(KDIR_TMP)/zyxelnbg6716/image/boot
|
|
cp $@ $(KDIR_TMP)/zyxelnbg6716/image/boot/vmlinux.lzma.uImage
|
|
$(STAGING_DIR_HOST)/bin/mkfs.jffs2 \
|
|
--big-endian --squash-uids -v -e 128KiB -q -f -n -x lzma -x rtime \
|
|
-o $@ \
|
|
-d $(KDIR_TMP)/zyxelnbg6716/image
|
|
rm -rf $(KDIR_TMP)/zyxelnbg6716
|
|
endef
|
|
|
|
define Build/zyxel-factory
|
|
let \
|
|
maxsize="$(subst k,* 1024,$(RAS_ROOTFS_SIZE))"; \
|
|
let size="$$(stat -c%s $@)"; \
|
|
if [ $$size -lt $$maxsize ]; then \
|
|
$(STAGING_DIR_HOST)/bin/mkrasimage \
|
|
-b $(RAS_BOARD) \
|
|
-v $(RAS_VERSION) \
|
|
-r $@ \
|
|
-s $$maxsize \
|
|
-o $@.new \
|
|
-l 131072 \
|
|
&& mv $@.new $@ ; \
|
|
fi
|
|
endef
|
|
|
|
define Device/aerohive_hiveap-121
|
|
SOC := ar9344
|
|
DEVICE_VENDOR := Aerohive
|
|
DEVICE_MODEL := HiveAP 121
|
|
DEVICE_PACKAGES := kmod-usb2
|
|
BLOCKSIZE := 128k
|
|
PAGESIZE := 2048
|
|
IMAGE_SIZE := 116m
|
|
KERNEL_SIZE := 5120k
|
|
UBINIZE_OPTS := -E 5
|
|
SUPPORTED_DEVICES += hiveap-121
|
|
IMAGES += factory.bin
|
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
|
|
check-size $$$$(IMAGE_SIZE)
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
|
endef
|
|
TARGET_DEVICES += aerohive_hiveap-121
|
|
|
|
define Device/glinet_gl-ar300m-common-nand
|
|
SOC := qca9531
|
|
DEVICE_VENDOR := GL.iNet
|
|
DEVICE_MODEL := GL-AR300M
|
|
DEVICE_PACKAGES := kmod-usb2
|
|
KERNEL_SIZE := 4096k
|
|
IMAGE_SIZE := 16000k
|
|
PAGESIZE := 2048
|
|
VID_HDR_OFFSET := 2048
|
|
endef
|
|
|
|
define Device/glinet_gl-ar300m-nand
|
|
$(Device/glinet_gl-ar300m-common-nand)
|
|
DEVICE_VARIANT := NAND
|
|
BLOCKSIZE := 128k
|
|
IMAGES += factory.img
|
|
IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
|
SUPPORTED_DEVICES += glinet,gl-ar300m-nor
|
|
endef
|
|
TARGET_DEVICES += glinet_gl-ar300m-nand
|
|
|
|
define Device/glinet_gl-ar300m-nor
|
|
$(Device/glinet_gl-ar300m-common-nand)
|
|
DEVICE_VARIANT := NOR
|
|
BLOCKSIZE := 64k
|
|
SUPPORTED_DEVICES += glinet,gl-ar300m-nand gl-ar300m
|
|
endef
|
|
TARGET_DEVICES += glinet_gl-ar300m-nor
|
|
|
|
define Device/glinet_gl-ar750s-common
|
|
SOC := qca9563
|
|
DEVICE_VENDOR := GL.iNet
|
|
DEVICE_MODEL := GL-AR750S
|
|
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct kmod-usb2 \
|
|
kmod-usb-storage block-mount
|
|
KERNEL_SIZE := 2048k
|
|
IMAGE_SIZE := 16000k
|
|
PAGESIZE := 2048
|
|
VID_HDR_OFFSET := 2048
|
|
endef
|
|
|
|
define Device/glinet_gl-ar750s-nor-nand
|
|
$(Device/glinet_gl-ar750s-common)
|
|
DEVICE_VARIANT := NOR/NAND
|
|
BLOCKSIZE := 128k
|
|
IMAGES += factory.img
|
|
IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
|
SUPPORTED_DEVICES += glinet,gl-ar750s-nor
|
|
endef
|
|
TARGET_DEVICES += glinet_gl-ar750s-nor-nand
|
|
|
|
define Device/glinet_gl-ar750s-nor
|
|
$(Device/glinet_gl-ar750s-common)
|
|
DEVICE_VARIANT := NOR
|
|
BLOCKSIZE := 64k
|
|
SUPPORTED_DEVICES += gl-ar750s glinet,gl-ar750s glinet,gl-ar750s-nor-nand
|
|
endef
|
|
TARGET_DEVICES += glinet_gl-ar750s-nor
|
|
|
|
# fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff)
|
|
define Device/netgear_ath79_nand
|
|
DEVICE_VENDOR := NETGEAR
|
|
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
|
|
KERNEL_SIZE := 2048k
|
|
BLOCKSIZE := 128k
|
|
PAGESIZE := 2048
|
|
IMAGE_SIZE := 25600k
|
|
KERNEL := kernel-bin | append-dtb | lzma -d20 | \
|
|
pad-offset $$(KERNEL_SIZE) 129 | netgear-uImage lzma | \
|
|
append-string -e '\xff' | \
|
|
append-uImage-fakehdr filesystem $$(NETGEAR_KERNEL_MAGIC)
|
|
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma
|
|
IMAGES := sysupgrade.bin factory.img
|
|
IMAGE/factory.img := append-kernel | append-ubi | netgear-dni | \
|
|
check-size $$$$(IMAGE_SIZE)
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | \
|
|
check-size $$$$(IMAGE_SIZE)
|
|
UBINIZE_OPTS := -E 5
|
|
endef
|
|
|
|
define Device/netgear_wndr3700-v4
|
|
SOC := ar9344
|
|
DEVICE_MODEL := WNDR3700
|
|
DEVICE_VARIANT := v4
|
|
NETGEAR_KERNEL_MAGIC := 0x33373033
|
|
NETGEAR_BOARD_ID := WNDR3700v4
|
|
NETGEAR_HW_ID := 29763948+128+128
|
|
SUPPORTED_DEVICES += wndr3700v4
|
|
$(Device/netgear_ath79_nand)
|
|
endef
|
|
TARGET_DEVICES += netgear_wndr3700-v4
|
|
|
|
define Device/netgear_wndr4300
|
|
SOC := ar9344
|
|
DEVICE_MODEL := WNDR4300
|
|
NETGEAR_KERNEL_MAGIC := 0x33373033
|
|
NETGEAR_BOARD_ID := WNDR4300
|
|
NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
|
|
SUPPORTED_DEVICES += wndr4300
|
|
$(Device/netgear_ath79_nand)
|
|
endef
|
|
TARGET_DEVICES += netgear_wndr4300
|
|
|
|
define Device/zyxel_nbg6716
|
|
SOC := qca9558
|
|
DEVICE_VENDOR := ZyXEL
|
|
DEVICE_MODEL := NBG6716
|
|
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
|
|
ath10k-firmware-qca988x-ct
|
|
RAS_BOARD := NBG6716
|
|
RAS_ROOTFS_SIZE := 29696k
|
|
RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
|
|
KERNEL_SIZE := 4096k
|
|
BLOCKSIZE := 128k
|
|
PAGESIZE := 2048
|
|
KERNEL := kernel-bin | append-dtb | uImage none | zyxel-buildkerneljffs | \
|
|
check-size 4096k
|
|
IMAGES := sysupgrade.tar sysupgrade-4M-Kernel.bin factory.bin
|
|
IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | \
|
|
sysupgrade-tar rootfs=$$$$@ | append-metadata
|
|
IMAGE/sysupgrade-4M-Kernel.bin/squashfs := append-kernel | \
|
|
pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to 263192576 | gzip
|
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
|
|
zyxel-factory
|
|
UBINIZE_OPTS := -E 5
|
|
endef
|
|
TARGET_DEVICES += zyxel_nbg6716
|
|
DEVICE_VARS += RAS_ROOTFS_SIZE RAS_BOARD RAS_VERSION
|