firmware-open icon indicating copy to clipboard operation
firmware-open copied to clipboard

Test fwupd Capsule On Disk support

Open jackpot51 opened this issue 4 years ago • 4 comments

After https://github.com/fwupd/fwupd/releases/tag/1.6.2, fwupd now supports Capsule On Disk. We should test doing firmware updates using that.

https://github.com/fwupd/fwupd/commit/3747e245e5a5402eca272b7c45088e03ba965f1e

jackpot51 avatar Aug 02 '21 18:08 jackpot51

Now that we have the new coreboot and edk2 releases, what would be the next steps for this?

crawfxrd avatar Jan 07 '22 01:01 crawfxrd

Adding EsrtFmpDxe and adding a skeleton device FMP to edk2 causes the ESRT to be published. This shows up in sysfs under /sys/firmware/efi/esrt and will also be listed by fwupd as "UEFI ESRT device".

crawfxrd avatar Oct 27 '23 17:10 crawfxrd

Capsules can be generated using edk2's Python script:

GenerateCapsule -e --guid <FMP_GUID> --fw-version 0x1 --lsv 0 -o firmware.cap firmware.bin

UEFI requires the firmware version be represented as a u32.

This can then be added to a cabinet for fwupd to use:

rm -f firmware.jcat
jcat-tool self-sign --kind sha256 firmware.jcat firmware.cap
jcat-tool self-sign --kind sha256 firmware.jcat firmware.metainfo.xml
gcab -c firmware.cab firmware.cap firmware.jcat firmware.metainfo.xml
fwupdmgr get-details firmware.cab
fwupdmgr local-install firmware.cab <FMP_GUID>

crawfxrd avatar Nov 02 '23 15:11 crawfxrd

Dasharo is working on Capsule Update support for coreboot-based firmware:

  • https://github.com/orgs/Dasharo/projects/7

crawfxrd avatar Jul 20 '24 02:07 crawfxrd