|
@@ -93,11 +93,13 @@ static void usage(const char *msg)
|
|
" -f => input filename for FIT source\n");
|
|
" -f => input filename for FIT source\n");
|
|
#ifdef CONFIG_FIT_SIGNATURE
|
|
#ifdef CONFIG_FIT_SIGNATURE
|
|
fprintf(stderr,
|
|
fprintf(stderr,
|
|
- "Signing / verified boot options: [-k keydir] [-K dtb] [ -c <comment>] [-r]\n"
|
|
|
|
|
|
+ "Signing / verified boot options: [-E] [-k keydir] [-K dtb] [ -c <comment>] [-p addr] [-r]\n"
|
|
|
|
+ " -E => place data outside of the FIT structure\n"
|
|
" -k => set directory containing private keys\n"
|
|
" -k => set directory containing private keys\n"
|
|
" -K => write public keys to this .dtb file\n"
|
|
" -K => write public keys to this .dtb file\n"
|
|
" -c => add comment in signature node\n"
|
|
" -c => add comment in signature node\n"
|
|
" -F => re-sign existing FIT image\n"
|
|
" -F => re-sign existing FIT image\n"
|
|
|
|
+ " -p => place external data at a static position\n"
|
|
" -r => mark keys used as 'required' in dtb\n");
|
|
" -r => mark keys used as 'required' in dtb\n");
|
|
#else
|
|
#else
|
|
fprintf(stderr,
|
|
fprintf(stderr,
|
|
@@ -136,7 +138,7 @@ static void process_args(int argc, char **argv)
|
|
int opt;
|
|
int opt;
|
|
|
|
|
|
while ((opt = getopt(argc, argv,
|
|
while ((opt = getopt(argc, argv,
|
|
- "a:A:b:cC:d:D:e:Ef:Fk:K:ln:O:rR:qsT:vVx")) != -1) {
|
|
|
|
|
|
+ "a:A:b:cC:d:D:e:Ef:Fk:K:ln:p:O:rR:qsT:vVx")) != -1) {
|
|
switch (opt) {
|
|
switch (opt) {
|
|
case 'a':
|
|
case 'a':
|
|
params.addr = strtoull(optarg, &ptr, 16);
|
|
params.addr = strtoull(optarg, &ptr, 16);
|
|
@@ -216,6 +218,13 @@ static void process_args(int argc, char **argv)
|
|
if (params.os < 0)
|
|
if (params.os < 0)
|
|
usage("Invalid operating system");
|
|
usage("Invalid operating system");
|
|
break;
|
|
break;
|
|
|
|
+ case 'p':
|
|
|
|
+ params.external_offset = strtoull(optarg, &ptr, 16);
|
|
|
|
+ if (*ptr) {
|
|
|
|
+ fprintf(stderr, "%s: invalid offset size %s\n",
|
|
|
|
+ params.cmdname, optarg);
|
|
|
|
+ exit(EXIT_FAILURE);
|
|
|
|
+ }
|
|
case 'q':
|
|
case 'q':
|
|
params.quiet = 1;
|
|
params.quiet = 1;
|
|
break;
|
|
break;
|