diff options
author | Maik Otto <m.otto@phytec.de> | 2020-01-07 09:46:02 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-01-08 12:25:57 +0100 |
commit | 8ebc87ee196dc0b88723b5544a746f1b8dbe838f (patch) | |
tree | 529808fc420652effd0ea57268f9b2029d830404 /scripts | |
parent | 7fb7358a41a656ac3f0ffdbba2bdc1927218706d (diff) | |
download | barebox-8ebc87ee196dc0b88723b5544a746f1b8dbe838f.tar.gz barebox-8ebc87ee196dc0b88723b5544a746f1b8dbe838f.tar.xz |
habv4: imx change signing area from full to the executed image
the whole barebox with mbr and partition table were be signed by default.
change the signing to the executed image without signing the mbr,
partition table and header_gap by imx8mq
additional delete option full, from-dcdofs and skip-mbr
Signed-off-by: Maik Otto <m.otto@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/imx/imx.c | 31 |
1 files changed, 7 insertions, 24 deletions
diff --git a/scripts/imx/imx.c b/scripts/imx/imx.c index b8d939a431..d702c900b3 100644 --- a/scripts/imx/imx.c +++ b/scripts/imx/imx.c @@ -338,16 +338,11 @@ static int do_hab_blocks(struct config_data *data, int argc, char *argv[]) char *str; int ret; uint32_t signed_size = data->load_size; - uint32_t offset = 0; + uint32_t offset = data->image_dcd_offset; if (!data->csf) return -EINVAL; - if (argc < 2) - type = "full"; - else - type = argv[1]; - /* * In case of encrypted image we reduce signed area to beginning * of encrypted area. @@ -359,31 +354,19 @@ static int do_hab_blocks(struct config_data *data, int argc, char *argv[]) * Ensure we only sign the PBL for i.MX8MQ */ if (data->pbl_code_size && data->cpu_type == IMX_CPU_IMX8MQ) { - offset = data->header_gap; + offset += data->header_gap; signed_size = roundup(data->pbl_code_size + HEADER_LEN, 0x1000); if (data->signed_hdmi_firmware_file) offset += PLUGIN_HDMI_SIZE; } - if (!strcmp(type, "full")) { + if (signed_size > 0) { ret = asprintf(&str, "Blocks = 0x%08x 0x%08x 0x%08x \"%s\"\n", - data->image_load_addr, offset, signed_size, - data->outfile); - } else if (!strcmp(type, "from-dcdofs")) { - ret = asprintf(&str, "Blocks = 0x%08x 0x%x %d \"%s\"\n", - data->image_load_addr + data->image_dcd_offset, - data->image_dcd_offset, - signed_size - data->image_dcd_offset, - data->outfile); - } else if (!strcmp(type, "skip-mbr")) { - ret = asprintf(&str, - "Blocks = 0x%08x 0 440 \"%s\", \\\n" - " 0x%08x 512 %d \"%s\"\n", - data->image_load_addr, data->outfile, - data->image_load_addr + 512, - signed_size - 512, data->outfile); + data->image_load_addr + data->image_dcd_offset, offset, + signed_size - data->image_dcd_offset, data->outfile); } else { - fprintf(stderr, "Invalid hab_blocks option: %s\n", type); + fprintf(stderr, "Invalid signed size area 0x%08x\n", + signed_size); return -EINVAL; } |