-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Not Prioritized
-
SITSW-9066
-
-
When building SBL_NULL through CCS, it will result in two identically
named output files to get generated, as follows:
$ ll Release/sbl_null.Release.hs_fs.tiimage -rw-r--r-- 1 a0797059 1049089 425673 Nov 11 12:10 Release/sbl_null.Release.hs_fs.tiimage $ ll sbl_null.Release.hs_fs.tiimage -rw-r--r-- 1 a0797059 1049089 423859 Nov 11 12:10 sbl_null.Release.hs_fs.tiimage
The file in the project root directory is smaller and seems incomplete, it also doesn't boot (gets rejected by ROM). It does have the initial certificate, but then some other stuff is missing, so the file does not work on HS-FS devices. Our build should not generate two identically-named files. And the Release (or Debug) artifacts shouldn't pollute the project root.
Looking at it further, it looks like the extra sbl_null.Release.hs_fs.tiimage file generated at the project root is caused by the below line of code in makefile_ccs_bootimage_gen. Commenting it out will avoid creating the file, and not impact on the proper HS-FS boot file builds in any way. The temp file is invalid because it uses/embedds a GP-based TIFS image file, which won't work on HS-FS devices.
$(BOOTIMAGE_CERT_GEN_CMD) --swrv 1 --sbl-bin $(BOOTIMAGE_BIN_NAME) --sysfw-bin $(SYSFW_PATH)/sysfw.bin --boardcfg-blob $(BOARDCFG_BLOB) --boardcfg-sbldata-blob $(BOARDCFG_SBLDATA_BLOB) --sbl-loadaddr $(SBL_RUN_ADDRESS) --sysfw-loadaddr $(SYSFW_LOAD_ADDR) --bcfg-loadaddr $(BOARDCFG_LOAD_ADDR) --bcfg-sbldata-loadaddr $(BOARDCFG_SBLDATA_LOAD_ADDR) --key $(BOOTIMAGE_CERT_KEY) --rom-image $(BOOTIMAGE_NAME) --enable-sbldata $(ENABLE_SBLDATA)
It's not a good customer experience and confusing the way it is, and has led to wasted time already trying to boot the wrong image file and trying to figure out what's going on. Cleanest is probably to just remove GP support from that file since that's not something the customer can get their hands on anyways. This will simplify the makefile generation logic. Or just clean that up so it works for all of GP/HS-FS/HS without confusing and mixing up filenames and creating temp files in invalid locations.