11# Capsule Update releases
22
33Dasharo releases that support Capsule Updates need to include a number of
4- additional options in their coreboot configuration file. The options correspond
5- to the required payload data described in
6- [ Capsule Updates Details - Required Payload Data] ( ./edk2-capsule-updates.md#capsule-information )
4+ additional options in their coreboot configuration file. The most important
5+ options directly correspond to the required payload data described in
6+ [ Capsule Updates Details - Required Payload Data] ( ./edk2-capsule-updates.md#capsule-information ) .
77
88## Configuration
99
1010The coreboot configuration file can be found in the coreboot repository
1111in the ` configs/ ` directory under the name of
1212` config.<coreboot_mainboard_vendor>_<coreboot_mainboard_model> ` .
1313
14- The options that need to be set are:
14+ The options that must be set are:
1515
16- - ` CONFIG_DRIVERS_EFI_MAIN_FW_GUID `
17- - ` CONFIG_DRIVERS_EFI_MAIN_FW_VERSION `
18- - ` CONFIG_DRIVERS_EFI_MAIN_FW_LSV `
16+ - [ ` CONFIG_DRIVERS_EFI_MAIN_FW_GUID ` ] ( #config_drivers_efi_main_fw_guid )
17+ - [ ` CONFIG_DRIVERS_EFI_MAIN_FW_VERSION ` ] ( #config_drivers_efi_main_fw_version )
18+ - [ ` CONFIG_DRIVERS_EFI_MAIN_FW_LSV ` ] ( #config_drivers_efi_main_fw_lsv )
19+
20+ The following settings may not be set (read their description to know under
21+ which conditions):
22+
23+ - [ ` CONFIG_EDK2_CAPSULES_V2 ` ] ( #config_edk2_capsules_v2 )
24+ - [ ` CONFIG_EDK2_CAPSULES_V2_TRANSITION ` ] ( #config_edk2_capsules_v2_transition )
1925
2026### CONFIG_DRIVERS_EFI_MAIN_FW_GUID
2127
@@ -40,8 +46,8 @@ Capsule Update.
4046The ` CONFIG_LOCALVERSION ` option is a string representation of the version
4147which does not allow reliable comparisons.
4248The value consists of 8 hexadecimal digits which are grouped
43- into four groups of two numbers . Each group represents a single component of
44- a Dasharo version according to the [ Versioning] ( https://docs.dasharo.com /dev-proc/versioning/ )
49+ into four groups of two digits . Each group represents a single component of
50+ a Dasharo version according to the [ Versioning] ( .. /dev-proc/versioning.md ) .
4551` CONFIG_DRIVERS_EFI_MAIN_FW_VERSION ` has to be updated on new releases to always
4652match the ` CONFIG_LOCALVERSION ` .
4753
@@ -67,8 +73,38 @@ The value represents the lowest firmware version, that will be accepted as
6773a valid one. A Capsule Update to a version lower than
6874` CONFIG_DRIVERS_EFI_MAIN_FW_LSV ` will not be allowed. May be used to forbid
6975downgrading to versions with severe security vulnerabilities. The value
70- takes the same format as ` CONFIG_DRIVERS_EFI_MAIN_FW_VERSION `
76+ takes the same format as ` CONFIG_DRIVERS_EFI_MAIN_FW_VERSION ` .
7177
7278Examples:
7379
7480- Forbid changing the version to anything below release v0.1.0 - ` CONFIG_DRIVERS_EFI_MAIN_FW_LSV="0x00010080" `
81+
82+ ### CONFIG_EDK2_CAPSULES_V2
83+
84+ This boolean option enables more advanced features:
85+
86+ - Enforcing authentication of capsule images before processing them.
87+ - Vendor's logo shown on the screen during an update, scaled proportionally.
88+ - Smoother progress bar increments that better reflect amount of work done/left.
89+ - Pop-up reporting success/failure of the firmware update with some diagnostic
90+ information.
91+ - Best-effort recovery if the update has failed halfway.
92+
93+ Some devices don't have this option set, but newer releases may transition to
94+ this version of capsules (see
95+ [ ` CONFIG_EDK2_CAPSULES_V2_TRANSITION ` ] ( #config_edk2_capsules_v2_transition ) ).
96+ Devices that have capsules enabled for the first time should preferably use
97+ this option from the start to avoid transitioning later.
98+
99+ ### CONFIG_EDK2_CAPSULES_V2_TRANSITION
100+
101+ This boolean option marks a release as transitional from initial capsule
102+ implementation (v1) to a more advanced version (v2). Due to authentication
103+ changes capsules can only be processed by an appropriate firmware (i.e.,
104+ v1-firmware and v1-capsule, v2-firmware and v2-capsule), which on its own makes
105+ upgrading to a v2-firmware via capsules impossible. Enabling this option
106+ requests [ ` capsule.sh ` script] ( ./edk2-capsule-updates.md#capsulesh-script ) to
107+ build v1-capsule for a v2-firmware thus permitting updates from v1-firmware.
108+
109+ This option needs to be set only for a single public release, the first one that
110+ gets ` CONFIG_EDK2_CAPSULES_V2 ` set after using v1-capsules in previous releases.
0 commit comments