Wei Xu, Thanks for providing this request for a new edk2-staging branch. Please add the branch maintainers to the Readme along with the criteria that must be met for the feature to be considered a candidate for edk2/master. With those updates, Reviewed-by: Michael D Kinney michael.d.kinney@intel.com Thanks, Mike From: Xu, Wei6 Sent: Friday, April 12, 2019 2:05 AM To: devel@edk2.groups.io Cc: Zhang, Chao B ; Gao, Liming ; Kinney, Michael D Subject: [staging/UEFI_CapsuleOnDisk][PATCH] Announce to create "UEFI_CapsuleOnDisk" branch in edk2-staging. UEFI_CapsuleOnDisk branch is used to develop the Capsule-On-Disk feature. Please refer to the patch of Readme.md to get the detailed feature introduction. Note: The branch will be created by the end of Apr 19th if no objection. Cc: Kinney Michael D > Cc: Zhang, Chao B > Cc: Gao, Liming > Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: xuwei6 > --- Readme.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Readme.md diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000000..5528044802 --- /dev/null +++ b/Readme.md @@ -0,0 +1,42 @@ + +# Introduction + +This branch is used to develop the **Capsule-On-Disk** feature. +The branch owner: Chao Zhang < [chao.b.zhang@intel.com](mailto:chao.b.zhang@intel.com) >, Wei Xu < [wei6.xu@intel.com](mailto:wei6.xu@intel.com) > + +# Feature Summary + +Traditionally capsule image is delivered to BIOS in persistent memory across system reset, but not all platforms support or function well across memory persistent reset. To solve this problem, **Capsule-On-Disk** delivers capsule images through EFI system partition on peripheral storage device. For security reasons, Design is composed of 2 solutions. +- **Solution A)** - Load the image out of TCB and rely on Capsule-In-RAM to deliver Capsule-On-Disk. +- **Solution B)** - Relocate capsule image outside TCB. And leverage existing storage stack in PEI to load all capsule on disk images. Solution B) has bigger TCB but can work without Capsule-In-RAM support + +>User can test this feature with **CapsuleApp** in **MdeModulePkg**. It has been updated to support Capsule on Disk since **2019 Q1 stable release**. + +Brief working flow of **Capsule-On-Disk**: +``` +1. Store capsule images into \EFI\Capsules\ folder on EFI system partition. +2. Set EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED flag in L"OsIndications". +3. Reboot system. +4. Get all capsule images from \EFI\Capsules\ after TCB, relocated them to root direcotry of a platform-specific NV storage device with BlockIo protocol. +5. Reboot system. +6. Load capsule imaages from the root direcotry in TCB, and build CV hobs +``` + +## Related Modules + +The following modules are related to **Capsule-On-Disk**. +``` +MdeModulePkg\Library\DxeCapsuleLibFmp\DxeCapsuleLib.inf +MdeModulePkg\Universal\CapsuleOnDiskLoadPei\CapsuleOnDiskLoadPei.inf +``` + +# Time Line + +|Date |Event | +|----------------|-------------------------------| +|2019 Q2 | Exit Staging | + + +# Related Materials + +UEFI Specification - http://uefi.org/specifications \ No newline at end of file -- 2.16.2.windows.1