blob: a726149ba2ce09da3102939f00f1f6186f83c7b8 [file] [log] [blame]
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +09001.\" 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
7mkeficapsule \- Generate EFI capsule file for U-Boot
8
9.SH SYNOPSIS
10.B mkeficapsule
Sughosh Ganu6da92712022-10-21 18:16:06 +053011.RI [ options ] " " [ image-blob ] " " capsule-file
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +090012
Caleb Connolly75583852024-08-30 13:34:39 +010013.B mkeficapsule
14.RI guidgen " " [ GUID ] " " DTB " " IMAGE_NAME...
15
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +090016.SH "DESCRIPTION"
Heinrich Schuchardta13b92a2023-01-22 11:27:10 +010017The
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +090018.B mkeficapsule
Heinrich Schuchardta13b92a2023-01-22 11:27:10 +010019command is used to create an EFI capsule file to be used by U-Boot for firmware
20updates.
21A capsule file may contain various types of firmware blobs which are to be
22applied to the system.
23If a capsule file is placed in the /EFI/CapusuleUpdate directory of the EFI
24system partition, U-Boot will try to execute the update at the next reboot.
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +090025
26Optionally, a capsule file can be signed with a given private key.
27In this case, the update will be authenticated by verifying the signature
28before applying.
29
Heinrich Schuchardta13b92a2023-01-22 11:27:10 +010030Additionally, an empty capsule file can be generated to indicate the acceptance
31or rejection of firmware images by a governing component like an operating
32system.
33Empty capsules do not require an image-blob input file.
Sughosh Ganu6da92712022-10-21 18:16:06 +053034
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +090035.B mkeficapsule
Sughosh Ganu6da92712022-10-21 18:16:06 +053036takes any type of image files when generating non empty capsules, including:
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +090037.TP
38.I raw image
39format is a single binary blob of any type of firmware.
40
41.TP
42.I FIT (Flattened Image Tree) image
43format is the same as used in the new uImage format and allows for
44multiple binary blobs in a single capsule file.
45This type of image file can be generated by
46.BR mkimage .
47
Caleb Connolly75583852024-08-30 13:34:39 +010048mkeficapsule can also be used to simulate the dynamic GUID generation used to
49identify firmware images in capsule updates by providing the namespace guid, dtb
50for the board, and a list of firmware images.
51
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +090052.SH "OPTIONS"
Sughosh Ganu6da92712022-10-21 18:16:06 +053053
AKASHI Takahirod9612f42022-02-09 19:10:39 +090054.TP
55.BI "-g\fR,\fB --guid " guid-string
56Specify guid for image blob type. The format is:
57 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
58
59The first three elements are in little endian, while the rest
Sughosh Ganu6da92712022-10-21 18:16:06 +053060is in big endian. The option must be specified for all non empty and
61image acceptance capsules
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +090062
63.TP
64.BI "-i\fR,\fB --index " index
65Specify an image index
66
67.TP
68.BI "-I\fR,\fB --instance " instance
69Specify a hardware instance
70
Sughosh Ganu6da92712022-10-21 18:16:06 +053071.PP
Masahisa Kojima000806f2023-06-07 14:41:56 +090072FMP Payload Header is inserted right before the payload if
73.BR --fw-version
74is specified
75
76
77.TP
78.BI "-v\fR,\fB --fw-version " firmware-version
79Specify a firmware version, 0 if omitted
80
81.PP
Sughosh Ganu6da92712022-10-21 18:16:06 +053082For generation of firmware accept empty capsule
83.BR --guid
84is mandatory
85.TP
86.BI "-A\fR,\fB --fw-accept "
87Generate a firmware acceptance empty capsule
88
89.TP
90.BI "-R\fR,\fB --fw-revert "
91Generate a firmware revert empty capsule
92
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +090093.TP
Sughosh Ganuf65ee992022-10-21 18:16:07 +053094.BI "-o\fR,\fB --capoemflag "
95Capsule OEM flag, value between 0x0000 to 0xffff
96
97.TP
Simon Glass84362822024-07-31 08:49:00 -060098.BR -V ", " --version
99Print version information and exit.
100
101.TP
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +0900102.BR -h ", " --help
103Print a help message
104
105.PP
106With signing,
107.BR --private-key ", " --certificate " and " --monotonic-count
108are all mandatory.
109
110.TP
111.BI "-p\fR,\fB --private-key " private-key-file
112Specify signer's private key file in PEM
113
114.TP
115.BI "-c\fR,\fB --certificate " certificate-file
116Specify signer's certificate file in EFI certificate list format
117
118.TP
119.BI "-m\fR,\fB --monotonic-count " count
120Specify a monotonic count which is set to be monotonically incremented
121at every firmware update.
122
123.TP
124.B "-d\fR,\fB --dump_sig"
125Dump signature data into *.p7 file
126
Caleb Connolly75583852024-08-30 13:34:39 +0100127.SH "GUIDGEN OPTIONS"
128
129.TP
130.B "[GUID]"
131The namespace/salt GUID, by default this is EFI_CAPSULE_NAMESPACE_GUID.
132The format is:
133 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
134
135.TP
136.B DTB
137The device tree blob file for the board.
138
139.TP
140.B IMAGE_NAME...
141The names of the firmware images to generate GUIDs for.
142
AKASHI Takahiro118a0ec2022-02-09 19:10:36 +0900143.PP
144.SH FILES
145.TP
146.I /EFI/UpdateCapsule
147The directory in which all capsule files be placed
148
149.SH SEE ALSO
150.BR mkimage (1)
151
152.SH AUTHORS
153Written by AKASHI Takahiro <takahiro.akashi@linaro.org>
154
155.SH HOMEPAGE
Tom Rini656b3272024-08-26 10:49:55 -0600156http://www.u-boot.org/