imx-image: add option to prepare image for HAB signing
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
16df434592
commit
b6c786528b
|
@ -33,6 +33,7 @@
|
||||||
|
|
||||||
#define MAX_DCD 1024
|
#define MAX_DCD 1024
|
||||||
#define HEADER_LEN 0x1000 /* length of the blank area + IVT + DCD */
|
#define HEADER_LEN 0x1000 /* length of the blank area + IVT + DCD */
|
||||||
|
#define CSF_LEN 0x2000 /* length of the CSF (needed for HAB) */
|
||||||
|
|
||||||
static uint32_t image_load_addr;
|
static uint32_t image_load_addr;
|
||||||
static uint32_t image_dcd_offset;
|
static uint32_t image_dcd_offset;
|
||||||
|
@ -41,6 +42,7 @@ static int curdcd;
|
||||||
static int header_version;
|
static int header_version;
|
||||||
static int cpu_type;
|
static int cpu_type;
|
||||||
static int add_barebox_header;
|
static int add_barebox_header;
|
||||||
|
static int prepare_sign;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ============================================================================
|
* ============================================================================
|
||||||
|
@ -194,6 +196,11 @@ static int add_header_v2(void *buf, int offset, uint32_t loadaddr, uint32_t imag
|
||||||
hdr->boot_data.start = loadaddr;
|
hdr->boot_data.start = loadaddr;
|
||||||
hdr->boot_data.size = imagesize;
|
hdr->boot_data.size = imagesize;
|
||||||
|
|
||||||
|
if (prepare_sign) {
|
||||||
|
hdr->csf = loadaddr + imagesize;
|
||||||
|
hdr->boot_data.size += CSF_LEN;
|
||||||
|
}
|
||||||
|
|
||||||
hdr->dcd_header.tag = TAG_DCD_HEADER;
|
hdr->dcd_header.tag = TAG_DCD_HEADER;
|
||||||
hdr->dcd_header.length = htobe16(sizeof(uint32_t) + dcdsize);
|
hdr->dcd_header.length = htobe16(sizeof(uint32_t) + dcdsize);
|
||||||
hdr->dcd_header.version = DCD_VERSION;
|
hdr->dcd_header.version = DCD_VERSION;
|
||||||
|
@ -214,6 +221,7 @@ static void usage(const char *prgname)
|
||||||
"-b add barebox header to image. If used, barebox recognizes\n"
|
"-b add barebox header to image. If used, barebox recognizes\n"
|
||||||
" the image as regular barebox image which can be used as\n"
|
" the image as regular barebox image which can be used as\n"
|
||||||
" second stage image\n"
|
" second stage image\n"
|
||||||
|
"-p prepare image for signing\n"
|
||||||
"-h this help\n", prgname);
|
"-h this help\n", prgname);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
@ -655,7 +663,7 @@ int main(int argc, char *argv[])
|
||||||
int dcd_only = 0;
|
int dcd_only = 0;
|
||||||
int now = 0;
|
int now = 0;
|
||||||
|
|
||||||
while ((opt = getopt(argc, argv, "c:hf:o:bd")) != -1) {
|
while ((opt = getopt(argc, argv, "c:hf:o:bdp")) != -1) {
|
||||||
switch (opt) {
|
switch (opt) {
|
||||||
case 'c':
|
case 'c':
|
||||||
configfile = optarg;
|
configfile = optarg;
|
||||||
|
@ -672,6 +680,9 @@ int main(int argc, char *argv[])
|
||||||
case 'd':
|
case 'd':
|
||||||
dcd_only = 1;
|
dcd_only = 1;
|
||||||
break;
|
break;
|
||||||
|
case 'p':
|
||||||
|
prepare_sign = 1;
|
||||||
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
usage(argv[0]);
|
usage(argv[0]);
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue