From 0099bfe82ffab8ede63210ad20aa695b7a41125c Mon Sep 17 00:00:00 2001 From: Markus Gothe <markus.gothe@genexis.eu> Date: Thu, 4 Jun 2020 10:48:53 +0200 Subject: [PATCH] Add ability to parse multiple values for 'boardid' and 'voiceboardid'. Change-Id: I06e625b224ace1abefcd4e31c2399a529c81f544 --- iopsys-brcm63xx-arm/image/Makefile | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/iopsys-brcm63xx-arm/image/Makefile b/iopsys-brcm63xx-arm/image/Makefile index 773d65be0..d0cd8d6d5 100644 --- a/iopsys-brcm63xx-arm/image/Makefile +++ b/iopsys-brcm63xx-arm/image/Makefile @@ -394,10 +394,39 @@ else TARGET_IMAGE_MAC_NUM=--numbermac=$(CONFIG_TARGET_IMAGE_PRODUCTION_NUM_MACADDR) endif +BUILD_ECC_USE_BOARDIDS=0 +ifeq ($(CONFIG_TARGET_IMAGE_PRODUCTION_PARAMS),y) +ifneq ($(CONFIG_TARGET_IMAGE_PRODUCTION_BOARD_ID),"") +BUILD_ECC_USE_BOARDIDS=1 +endif +endif + define Production_image #Copy cferom bootloader and ubi nand ecc image to bin directory. echo "In Production Image" +ifeq ($(BUILD_ECC_USE_BOARDIDS),1) + # This needs to be compact unfortunately! + @i=0; \ + $(eval i=$(shell echo $$(($(i)+1)))) \ + $(foreach boardid, $(subst ",,$(CONFIG_TARGET_IMAGE_PRODUCTION_BOARD_ID)), \ + $(eval voice_boardid=$(shell echo $(word $(i), $(subst ",,$(subst \, ,$(CONFIG_TARGET_IMAGE_PRODUCTION_VOICEBOARD_ID)))))) \ + cd $(KDIR) ; cp $(KDIR)/cfe$(CONFIG_BCM_CHIP_ID)_nand.v $(KDIR)/cfe$(CONFIG_BCM_CHIP_ID)_nand.v.tmp.$(boardid); \ + cd $(KDIR) ; $(HOSTTOOLS_DIR)/editnvram $(TARGET_IMAGE_IS_LITTLE_ENDIAN) --boardid="$(boardid)" --voiceboardid="$(voice_boardid)" --production=$(TARGET_IMAGE_PRODUCTION_FLAG) $(TARGET_IMAGE_MAC_NUM) $(TARGET_IMAGE_BASE_MAC) -O $(CONFIG_TARGET_IMAGE_PRODUCTION_NVRAM_OFFSET) cfe$(CONFIG_BCM_CHIP_ID)_nand.v.tmp.$(boardid) cfe$(CONFIG_BCM_CHIP_ID)_nand.v.out && mv cfe$(CONFIG_BCM_CHIP_ID)_nand.v.out cfe$(CONFIG_BCM_CHIP_ID)_nand.v.tmp.$(boardid); \ + cd $(KDIR) ; $(STAGING_DIR_HOST)/bin/nand-image-builder -i cfe$(CONFIG_BCM_CHIP_ID)_nand.v.tmp.$(boardid) -o cfe$(CONFIG_BCM_CHIP_ID)_nand.$(boardid).ecc -b $(CONFIG_TARGET_NAND_BLOCKSZ) -p $(CONFIG_TARGET_NAND_PAGESZ) -s $(CONFIG_TARGET_NAND_SPARE_SIZE) -e $(CONFIG_TARGET_NAND_BCH_LEVEL) -m $(FIELD_ORDER); \ + cd $(KDIR) ; $(STAGING_DIR_HOST)/bin/nand-image-builder -i root.ubi -o root-nand.$(boardid).ecc -b $(CONFIG_TARGET_NAND_BLOCKSZ) -p $(CONFIG_TARGET_NAND_PAGESZ) -s $(CONFIG_TARGET_NAND_SPARE_SIZE) -e $(CONFIG_TARGET_NAND_BCH_LEVEL) -m $(FIELD_ORDER); \ + cp $(KDIR)/cfe$(CONFIG_BCM_CHIP_ID)_nand.$(boardid).ecc $(BIN_DIR)/$(IHGSP_BUILD_VERSION)_cfe.$(boardid).ecc; \ + cp $(KDIR)/root-nand.$(boardid).ecc $(BIN_DIR)/$(IHGSP_BUILD_VERSION)_root.$(boardid).ecc; \ + echo -e "Part \tStart \tEnd \tProg \tBadBlock \tPart-Name" > $(BIN_DIR)/nand-partition.$(boardid).txt; \ + echo -e "0 \t$(CFE_START_BLOCK) \t$(CFE_END_BLOCK) \t0 \t0 \t\tBootloader" >> $(BIN_DIR)/nand-partition.$(boardid).txt; \ + echo -e "1 \t$(UBI_START_BLOCK) \t$(UBI_END_BLOCK) \t0 \t0 \t\tSystem" >> $(BIN_DIR)/nand-partition.$(boardid).txt; \ + ln -sf $(BIN_DIR)/$(IHGSP_BUILD_VERSION)_cfe.$(boardid).ecc $(BIN_DIR)/cfe.$(boardid).ecc; \ + ln -sf $(BIN_DIR)/$(IHGSP_BUILD_VERSION)_root.$(boardid).ecc $(BIN_DIR)/root.$(boardid).ecc; \ + rm $(KDIR)/cfe$(CONFIG_BCM_CHIP_ID)_nand.v.tmp.$(boardid); \ + $(eval i=$(shell echo $$(($(i)+1)))) \ + ) +else + cp $(KDIR) ; cp $(KDIR)/cfe$(CONFIG_BCM_CHIP_ID)_nand.v $(KDIR)/cfe$(CONFIG_BCM_CHIP_ID)_nand.v.tmp ifeq ($(CONFIG_TARGET_IMAGE_PRODUCTION_PARAMS),y) @@ -421,6 +450,7 @@ endif ln -sf $(BIN_DIR)/$(IHGSP_BUILD_VERSION)_cfe.ecc $(BIN_DIR)/cfe.ecc ln -sf $(BIN_DIR)/$(IHGSP_BUILD_VERSION)_root.ecc $(BIN_DIR)/root.ecc rm $(KDIR)/cfe$(CONFIG_BCM_CHIP_ID)_nand.v.tmp +endif endef define Image/Build/imgY3 -- GitLab