The image build process was modifying the generated IMAGE_KERNEL to
append rootfs information (crc). This caused:
- sysupgrade & factory images to contain 2 times the root.squashfs
information due to both modifying the same IMAGE_KERNEL.
- the generated imagebuilder to contain an erroneous IMAGE_KERNEL that
contained references to an unexisting root.squashfs (the one from
previous cause). The RTL30VW wasn't therefore able to boot the
generated images as they contained checksums from non existing rootfs.
This commit makes sure to use a temporary IMAGE_KERNEL to append the
rootfs information for both factory and sysupgrade images.
Fixes: #10511
Signed-off-by: Gregory Detal <gregory.detal@tessares.net>
-O linux -T filesystem \
-C lzma -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
-n root.squashfs -d $(IMAGE_ROOTFS) $@.new
-O linux -T filesystem \
-C lzma -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
-n root.squashfs -d $(IMAGE_ROOTFS) $@.new
- dd if=$@.new bs=64 count=1 >> $(IMAGE_KERNEL)
+ cat $(IMAGE_KERNEL) > $@.$1
+ dd if=$@.new bs=64 count=1 >> $@.$1
endef
define Build/append-rutx-metadata
endef
define Build/append-rutx-metadata
define Build/qsdk-ipq-factory-nand-askey
$(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh $@.its\
define Build/qsdk-ipq-factory-nand-askey
$(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh $@.its\
- askey_kernel $(IMAGE_KERNEL) \
askey_fs $(IMAGE_ROOTFS) \
ubifs $@
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new
askey_fs $(IMAGE_ROOTFS) \
ubifs $@
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new
KERNEL_NAME := zImage
KERNEL_IN_UBI :=
IMAGES := nand-factory.bin nand-sysupgrade.bin
KERNEL_NAME := zImage
KERNEL_IN_UBI :=
IMAGES := nand-factory.bin nand-sysupgrade.bin
- IMAGE/nand-factory.bin := append-rootfshdr | append-ubi | qsdk-ipq-factory-nand-askey
- IMAGE/nand-sysupgrade.bin := append-rootfshdr | sysupgrade-tar | append-metadata
+ IMAGE/nand-factory.bin := append-rootfshdr kernel | append-ubi | qsdk-ipq-factory-nand-askey kernel
+ IMAGE/nand-sysupgrade.bin := append-rootfshdr kernel | sysupgrade-tar kernel=$$$$@.kernel | append-metadata
DEVICE_VENDOR := Cell C
DEVICE_MODEL := RTL30VW
SOC := qcom-ipq4019
DEVICE_VENDOR := Cell C
DEVICE_MODEL := RTL30VW
SOC := qcom-ipq4019