mkimage: Allow updating the FIT timestamp
Normally the FIT timestamp is created the first time mkimage is run on a FIT, when converting the source .its to the binary .fit file. This corresponds to using the -f flag. But if the original input to mkimage is a binary file (already compiled) then the timestamp is assumed to have been set previously. Add a -t flag to allow setting the timestamp in this case. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
b3295fd4e3
commit
152b246298
@ -167,6 +167,15 @@ Specifies that keys used to sign the FIT are required. This means that they
|
||||
must be verified for the image to boot. Without this option, the verification
|
||||
will be optional (useful for testing but not for release).
|
||||
|
||||
.TP
|
||||
.BI "\-t
|
||||
Update the timestamp in the FIT.
|
||||
|
||||
Normally the FIT timestamp is created the first time mkimage is run on a FIT,
|
||||
when converting the source .its to the binary .fit file. This corresponds to
|
||||
using the -f flag. But if the original input to mkimage is a binary file
|
||||
(already compiled) then the timestamp is assumed to have been set previously.
|
||||
|
||||
.SH EXAMPLES
|
||||
|
||||
List image information:
|
||||
|
@ -53,7 +53,7 @@ static int fit_add_file_data(struct image_tool_params *params, size_t size_inc,
|
||||
}
|
||||
|
||||
/* for first image creation, add a timestamp at offset 0 i.e., root */
|
||||
if (params->datafile) {
|
||||
if (params->datafile || params->reset_timestamp) {
|
||||
time_t time = imagetool_get_source_date(params->cmdname,
|
||||
sbuf.st_mtime);
|
||||
ret = fit_set_timestamp(ptr, 0, time);
|
||||
|
@ -81,6 +81,7 @@ struct image_tool_params {
|
||||
unsigned int external_offset; /* Add padding to external data */
|
||||
int bl_len; /* Block length in byte for external data */
|
||||
const char *engine_id; /* Engine to use for signing */
|
||||
bool reset_timestamp; /* Reset the timestamp on an existing image */
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -145,7 +145,7 @@ static void process_args(int argc, char **argv)
|
||||
int opt;
|
||||
|
||||
while ((opt = getopt(argc, argv,
|
||||
"a:A:b:B:c:C:d:D:e:Ef:Fk:i:K:ln:N:p:O:rR:qsT:vVx")) != -1) {
|
||||
"a:A:b:B:c:C:d:D:e:Ef:Fk:i:K:ln:N:p:O:rR:qstT:vVx")) != -1) {
|
||||
switch (opt) {
|
||||
case 'a':
|
||||
params.addr = strtoull(optarg, &ptr, 16);
|
||||
@ -269,6 +269,9 @@ static void process_args(int argc, char **argv)
|
||||
case 's':
|
||||
params.skipcpy = 1;
|
||||
break;
|
||||
case 't':
|
||||
params.reset_timestamp = 1;
|
||||
break;
|
||||
case 'T':
|
||||
if (strcmp(optarg, "list") == 0) {
|
||||
show_valid_options(IH_TYPE);
|
||||
|
Loading…
Reference in New Issue
Block a user