summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMaik Otto <m.otto@phytec.de>2020-01-07 09:46:02 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2020-01-08 12:25:57 +0100
commit8ebc87ee196dc0b88723b5544a746f1b8dbe838f (patch)
tree529808fc420652effd0ea57268f9b2029d830404 /scripts
parent7fb7358a41a656ac3f0ffdbba2bdc1927218706d (diff)
downloadbarebox-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.c31
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;
}