AKASHI Takahiro | 7889a99 | 2022-02-09 19:10:36 +0900 | [diff] [blame] | 1 | .\" SPDX-License-Identifier: GPL-2.0+ |
| 2 | .\" Copyright (c) 2021, Linaro Limited |
| 3 | .\" written by AKASHI Takahiro <takahiro.akashi@linaro.org> |
| 4 | .TH MAEFICAPSULE 1 "May 2021" |
| 5 | |
| 6 | .SH NAME |
| 7 | mkeficapsule \- Generate EFI capsule file for U-Boot |
| 8 | |
| 9 | .SH SYNOPSIS |
| 10 | .B mkeficapsule |
Sughosh Ganu | b39405d | 2022-10-21 18:16:06 +0530 | [diff] [blame] | 11 | .RI [ options ] " " [ image-blob ] " " capsule-file |
AKASHI Takahiro | 7889a99 | 2022-02-09 19:10:36 +0900 | [diff] [blame] | 12 | |
| 13 | .SH "DESCRIPTION" |
Heinrich Schuchardt | 438cd70 | 2023-01-22 11:27:10 +0100 | [diff] [blame] | 14 | The |
AKASHI Takahiro | 7889a99 | 2022-02-09 19:10:36 +0900 | [diff] [blame] | 15 | .B mkeficapsule |
Heinrich Schuchardt | 438cd70 | 2023-01-22 11:27:10 +0100 | [diff] [blame] | 16 | command is used to create an EFI capsule file to be used by U-Boot for firmware |
| 17 | updates. |
| 18 | A capsule file may contain various types of firmware blobs which are to be |
| 19 | applied to the system. |
| 20 | If a capsule file is placed in the /EFI/CapusuleUpdate directory of the EFI |
| 21 | system partition, U-Boot will try to execute the update at the next reboot. |
AKASHI Takahiro | 7889a99 | 2022-02-09 19:10:36 +0900 | [diff] [blame] | 22 | |
| 23 | Optionally, a capsule file can be signed with a given private key. |
| 24 | In this case, the update will be authenticated by verifying the signature |
| 25 | before applying. |
| 26 | |
Heinrich Schuchardt | 438cd70 | 2023-01-22 11:27:10 +0100 | [diff] [blame] | 27 | Additionally, an empty capsule file can be generated to indicate the acceptance |
| 28 | or rejection of firmware images by a governing component like an operating |
| 29 | system. |
| 30 | Empty capsules do not require an image-blob input file. |
Sughosh Ganu | b39405d | 2022-10-21 18:16:06 +0530 | [diff] [blame] | 31 | |
AKASHI Takahiro | 7889a99 | 2022-02-09 19:10:36 +0900 | [diff] [blame] | 32 | .B mkeficapsule |
Sughosh Ganu | b39405d | 2022-10-21 18:16:06 +0530 | [diff] [blame] | 33 | takes any type of image files when generating non empty capsules, including: |
AKASHI Takahiro | 7889a99 | 2022-02-09 19:10:36 +0900 | [diff] [blame] | 34 | .TP |
| 35 | .I raw image |
| 36 | format is a single binary blob of any type of firmware. |
| 37 | |
| 38 | .TP |
| 39 | .I FIT (Flattened Image Tree) image |
| 40 | format is the same as used in the new uImage format and allows for |
| 41 | multiple binary blobs in a single capsule file. |
| 42 | This type of image file can be generated by |
| 43 | .BR mkimage . |
| 44 | |
| 45 | .SH "OPTIONS" |
Sughosh Ganu | b39405d | 2022-10-21 18:16:06 +0530 | [diff] [blame] | 46 | |
AKASHI Takahiro | 7889a99 | 2022-02-09 19:10:36 +0900 | [diff] [blame] | 47 | .TP |
AKASHI Takahiro | ba21243 | 2022-02-09 19:10:39 +0900 | [diff] [blame] | 48 | .BI "-g\fR,\fB --guid " guid-string |
| 49 | Specify guid for image blob type. The format is: |
| 50 | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| 51 | |
| 52 | The first three elements are in little endian, while the rest |
Sughosh Ganu | b39405d | 2022-10-21 18:16:06 +0530 | [diff] [blame] | 53 | is in big endian. The option must be specified for all non empty and |
| 54 | image acceptance capsules |
AKASHI Takahiro | 7889a99 | 2022-02-09 19:10:36 +0900 | [diff] [blame] | 55 | |
| 56 | .TP |
| 57 | .BI "-i\fR,\fB --index " index |
| 58 | Specify an image index |
| 59 | |
| 60 | .TP |
| 61 | .BI "-I\fR,\fB --instance " instance |
| 62 | Specify a hardware instance |
| 63 | |
Sughosh Ganu | b39405d | 2022-10-21 18:16:06 +0530 | [diff] [blame] | 64 | .PP |
Masahisa Kojima | de87ca0 | 2023-06-07 14:41:56 +0900 | [diff] [blame] | 65 | FMP Payload Header is inserted right before the payload if |
| 66 | .BR --fw-version |
| 67 | is specified |
| 68 | |
| 69 | |
| 70 | .TP |
| 71 | .BI "-v\fR,\fB --fw-version " firmware-version |
| 72 | Specify a firmware version, 0 if omitted |
| 73 | |
| 74 | .PP |
Sughosh Ganu | b39405d | 2022-10-21 18:16:06 +0530 | [diff] [blame] | 75 | For generation of firmware accept empty capsule |
| 76 | .BR --guid |
| 77 | is mandatory |
| 78 | .TP |
| 79 | .BI "-A\fR,\fB --fw-accept " |
| 80 | Generate a firmware acceptance empty capsule |
| 81 | |
| 82 | .TP |
| 83 | .BI "-R\fR,\fB --fw-revert " |
| 84 | Generate a firmware revert empty capsule |
| 85 | |
AKASHI Takahiro | 7889a99 | 2022-02-09 19:10:36 +0900 | [diff] [blame] | 86 | .TP |
Sughosh Ganu | c067638 | 2022-10-21 18:16:07 +0530 | [diff] [blame] | 87 | .BI "-o\fR,\fB --capoemflag " |
| 88 | Capsule OEM flag, value between 0x0000 to 0xffff |
| 89 | |
| 90 | .TP |
Simon Glass | b0ef861 | 2024-07-31 08:49:00 -0600 | [diff] [blame] | 91 | .BR -V ", " --version |
| 92 | Print version information and exit. |
| 93 | |
| 94 | .TP |
AKASHI Takahiro | 7889a99 | 2022-02-09 19:10:36 +0900 | [diff] [blame] | 95 | .BR -h ", " --help |
| 96 | Print a help message |
| 97 | |
| 98 | .PP |
| 99 | With signing, |
| 100 | .BR --private-key ", " --certificate " and " --monotonic-count |
| 101 | are all mandatory. |
| 102 | |
| 103 | .TP |
| 104 | .BI "-p\fR,\fB --private-key " private-key-file |
| 105 | Specify signer's private key file in PEM |
| 106 | |
| 107 | .TP |
| 108 | .BI "-c\fR,\fB --certificate " certificate-file |
| 109 | Specify signer's certificate file in EFI certificate list format |
| 110 | |
| 111 | .TP |
| 112 | .BI "-m\fR,\fB --monotonic-count " count |
| 113 | Specify a monotonic count which is set to be monotonically incremented |
| 114 | at every firmware update. |
| 115 | |
| 116 | .TP |
| 117 | .B "-d\fR,\fB --dump_sig" |
| 118 | Dump signature data into *.p7 file |
| 119 | |
| 120 | .PP |
| 121 | .SH FILES |
| 122 | .TP |
| 123 | .I /EFI/UpdateCapsule |
| 124 | The directory in which all capsule files be placed |
| 125 | |
| 126 | .SH SEE ALSO |
| 127 | .BR mkimage (1) |
| 128 | |
| 129 | .SH AUTHORS |
| 130 | Written by AKASHI Takahiro <takahiro.akashi@linaro.org> |
| 131 | |
| 132 | .SH HOMEPAGE |
| 133 | http://www.denx.de/wiki/U-Boot/WebHome |