From: Álvaro Fernández Rojas Date: Thu, 21 May 2020 13:04:23 +0000 (+0200) Subject: bcm63xx: nand: support CFE partition tags X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=5998c8f059dbd64c5391e4caec2c07d434ffe146;p=openwrt%2Fstaging%2Fsvanheule.git bcm63xx: nand: support CFE partition tags Introduce support for generating JFFS2 CFE partition tags. This is used in NAND devices in order to verify the integrity of the JFFS2 partition. Signed-off-by: Álvaro Fernández Rojas --- diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index 7c3091fb66..5fbe8ea470 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -168,6 +168,9 @@ define Build/cfe-jffs2-cferam # Some devices need padding between CFE RAM and kernel $(if $(CFE_RAM_JFFS2_PAD),$(call Build/pad-to,$(CFE_RAM_JFFS2_PAD))) + # Add CFE partition tag + $(if $(CFE_PART_ID),$(call Build/cfe-part-tag)) + # Append kernel dd if=$@.kernel >> $@ rm -f $@.kernel @@ -204,6 +207,22 @@ define Build/cfe-jffs2-kernel $(call Build/cfe-jffs2,$@-kernel) endef +define Build/cfe-part-tag + mv $@ $@.part + + $(TOPDIR)/scripts/cfe-partition-tag.py \ + --input-file $@.part \ + --output-file $@ \ + --flags $(CFE_PART_FLAGS) \ + --id $(CFE_PART_ID) \ + --name $(VERSION_CODE) \ + --version $(DEVICE_NAME) + + $(call Build/pad-to,$(BLOCKSIZE)) + + dd if=$@.part >> $@ +endef + define Build/cfe-old-bin $(TOPDIR)/scripts/brcmImage.pl -t -p \ -o $@ -b $(CFE_BOARD_ID) -c $(CHIP_ID) \ diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk b/target/linux/bcm63xx/image/bcm63xx_nand.mk index aeaf6f2ae5..c70fdf8b2f 100644 --- a/target/linux/bcm63xx/image/bcm63xx_nand.mk +++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk @@ -2,6 +2,7 @@ # BCM63XX NAND Profiles # +DEVICE_VARS += CFE_PART_FLAGS CFE_PART_ID DEVICE_VARS += CFE_RAM_FILE DEVICE_VARS += CFE_RAM_JFFS2_NAME CFE_RAM_JFFS2_PAD DEVICE_VARS += CFE_WFI_CHIP_ID CFE_WFI_FLASH_TYPE @@ -21,6 +22,8 @@ define Device/bcm63xx-nand IMAGE/cfe.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | cfe-jffs2-cferam | append-ubi | cfe-wfi-tag IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata KERNEL_SIZE := 5120k + CFE_PART_FLAGS := + CFE_PART_ID := CFE_RAM_FILE := CFE_RAM_JFFS2_NAME := CFE_RAM_JFFS2_PAD :=