build: add mkrasimage
The current make-ras.sh image generation script for the ZyXEL NBG6617 has portability issues with bash. Because of this, factory images are currently not built correctly by the OpenWRT buildbots. This commit replaces the make-ras.sh by C-written mkrasimage. The new mkrasimage is also compatible with other ZyXEL devices using the ras image-format. This is not tested with the NBG6616 but it correctly builds the header for ZyXEL factory image. Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
committed by
John Crispin
parent
8132e06247
commit
8e9a59a6b9
@@ -1063,8 +1063,12 @@ define Device/NBG6616
|
||||
IMAGE_SIZE := 15323k
|
||||
MTDPARTS := spi0.0:192k(u-boot)ro,64k(env)ro,64k(RFdata)ro,384k(zyxel_rfsd),384k(romd),64k(header),2048k(kernel),13184k(rootfs),15232k@0x120000(firmware)
|
||||
CMDLINE += mem=128M
|
||||
IMAGES := sysupgrade.bin
|
||||
RAS_BOARD := NBG6616
|
||||
RAS_ROOTFS_SIZE := 14464k
|
||||
RAS_VERSION := "$(VERSION_DIST) $(REVISION)"
|
||||
IMAGES := factory.bin sysupgrade.bin
|
||||
KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma | jffs2 boot/vmlinux.lzma.uImage
|
||||
IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | pad-to 64k | check-size $$$$(IMAGE_SIZE) | zyxel-ras-image
|
||||
IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
|
||||
# We cannot currently build a factory image. It is the sysupgrade image
|
||||
# prefixed with a header (which is actually written into the MTD device).
|
||||
|
||||
@@ -221,7 +221,7 @@ define Device/zyxel_nbg6617
|
||||
# at least as large as the one of the initial firmware image (not the current
|
||||
# one on the device). This only applies to the Web-UI, the bootlaoder ignores
|
||||
# this minimum-size. However, the larger image can be flashed both ways.
|
||||
IMAGE/factory.bin := append-rootfs | pad-rootfs | check-size $$$$(ROOTFS_SIZE) | make-ras
|
||||
IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k | check-size $$$$(ROOTFS_SIZE) | zyxel-ras-image separate-kernel
|
||||
IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | check-size $$$$(ROOTFS_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
|
||||
DEVICE_PACKAGES := ipq-wifi-zyxel_nbg6617 uboot-envtools
|
||||
endef
|
||||
|
||||
@@ -67,7 +67,8 @@ define Device/ZyXELImage
|
||||
KERNEL_SUFFIX := -uImage
|
||||
KERNEL = kernel-bin | append-dtb | uImage none | pad-to $${KERNEL_SIZE}
|
||||
KERNEL_NAME := zImage
|
||||
IMAGES := sysupgrade.bin mmcblk0p5-rootfs.bin mmcblk0p4-kernel.bin
|
||||
IMAGES := factory.bin sysupgrade.bin mmcblk0p5-rootfs.bin mmcblk0p4-kernel.bin
|
||||
IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to $$$$(BLOCKSIZE) | zyxel-ras-image separate-kernel
|
||||
IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to $$$${BLOCKSIZE} | sysupgrade-tar rootfs=$$$$@ | append-metadata
|
||||
IMAGE/mmcblk0p5-rootfs.bin := append-rootfs | pad-rootfs | pad-to $$$${BLOCKSIZE}
|
||||
IMAGE/mmcblk0p4-kernel.bin := append-kernel
|
||||
@@ -245,6 +246,9 @@ define Device/zyxel_nbg6817
|
||||
KERNEL_SIZE := 4096k
|
||||
BLOCKSIZE := 64k
|
||||
BOARD_NAME := nbg6817
|
||||
RAS_BOARD := NBG6817
|
||||
RAS_ROOTFS_SIZE := 20934k
|
||||
RAS_VERSION := "V1.99(OWRT.9999)C0"
|
||||
SUPPORTED_DEVICES += nbg6817
|
||||
DEVICE_TITLE := ZyXEL NBG6817
|
||||
DEVICE_PACKAGES := ath10k-firmware-qca9984 e2fsprogs kmod-fs-ext4 losetup
|
||||
|
||||
Reference in New Issue
Block a user