From 5998c8f059dbd64c5391e4caec2c07d434ffe146 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Thu, 21 May 2020 15:04:23 +0200 Subject: [PATCH] bcm63xx: nand: support CFE partition tags MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- target/linux/bcm63xx/image/Makefile | 19 +++++++++++++++++++ target/linux/bcm63xx/image/bcm63xx_nand.mk | 3 +++ 2 files changed, 22 insertions(+) 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 := -- 2.25.1