From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: u-boot@lists.denx.de
Subject: [PATCH v8 00/18] efi_loader: add capsule update support
Date: Tue, 17 Nov 2020 09:16:26 +0900 [thread overview]
Message-ID: <20201117001626.GA12604@laputa> (raw)
In-Reply-To: <20201116161012.GR5340@bill-the-cat>
On Mon, Nov 16, 2020 at 11:10:12AM -0500, Tom Rini wrote:
> On Mon, Nov 16, 2020 at 09:37:23AM +0900, AKASHI Takahiro wrote:
> > Heinrich,
> >
> > On Fri, Nov 13, 2020 at 08:18:58AM +0100, Heinrich Schuchardt wrote:
> > > On 11/13/20 5:14 AM, AKASHI Takahiro wrote:
> > > > Summary
> > > > =======
> > > > 'UpdateCapsule' is one of runtime services defined in UEFI specification
> > > > and its aim is to allow a caller (OS) to pass information to the firmware,
> > > > i.e. U-Boot. This is mostly used to update firmware binary on devices by
> > > > instructions from OS.
> > > >
> > > > While 'UpdateCapsule' is a runtime services function, it is, at least
> > > > initially, supported only before exiting boot services alike other runtime
> > > > functions, [Get/]SetVariable. This is because modifying storage which may
> > > > be shared with OS must be carefully designed and there is no general
> > > > assumption that we can do it.
> > > >
> > > > Therefore, we practically support only "capsule on disk"; any capsule can
> > > > be handed over to UEFI subsystem as a file on a specific file system.
> > > >
> > > > In this patch series, all the related definitions and structures are given
> > > > as UEFI specification describes, and basic framework for capsule support
> > > > is provided. Currently supported is
> > > > * firmware update (Firmware Management Protocol or simply FMP)
> > > >
> > > > Most of functionality of firmware update is provided by FMP driver and
> > > > it can be, by nature, system/platform-specific. So you can and should
> > > > implement your own FMP driver(s) based on your system requirements.
> > > > Under the current implementation, we provide two basic but generic
> > > > drivers with two formats:
> > > > * FIT image format (as used in TFTP update and dfu)
> > > > * raw image format
> > > >
> > > > It's totally up to users which one, or both, should be used on users'
> > > > system depending on user requirements.
> > > >
> > > > Quick usage
> > > > ===========
> > > > 1. You can create a capsule file with the following host command:
> > > >
> > > > $ mkeficapsule [--fit <fit image> | --raw <raw image>] <output file>
> > > >
> > > > 2. Put the file under:
> > > >
> > > > /EFI/UpdateCapsule of UEFI system partition
> > > >
> > > > 3. Specify firmware storage to be updated in "dfu_alt_info" variable
> > > > (Please follow README.dfu for details.)
> > > >
> > > > ==> env set dfu_alt_info '...'
> > > >
> > > > 4. After setting up UEFI's OsIndications variable, reboot U-Boot:
> > > >
> > > > OsIndications <= EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED
> > > >
> > > > Patch structure
> > > > ===============
> > > > Patch#1-#4,#12: preparatory patches
> > > > Patch#5-#11,#13: main part of implementation
> > > > Patch#14-#15: utilities
> > > > Patch#16-#17: pytests
> > > > Patch#18: for sandbox test
> > > >
> > > > [1] https://git.linaro.org/people/takahiro.akashi/u-boot.git efi/capsule
> > > >
> > > > Prerequisite patches
> > > > ====================
> > > > None
> > > >
> > > > Test
> > > > ====
> > > > * passed all the pytests which are included in this patch series
> > > > on sandbox build locally.
> > > > * skipped (or 'S', but it's not a failure, 'F') in Travis CI because
> > > > "virt-make-fs" cannot be executed.
> > >
> > > Dear Takahiro,
> > >
> > > please, rebase your series on origin/master. A prior version of the
> > > first patches is already applied.
> >
> > You can simply pick up and apply non-merged patches without problems
> > except a function prototype change of efi_create_indexed_name() you made,
> > which is not trivial to me.
> >
> > But anyway, I will post a clean patch set soon.
> >
> > > Testing on Gitlab CI, Travis CI, Amazon CI must be addressed for merging
> > > the remaining patches.
> >
> > Where can we find the results?
> > I don't think there is no official information on those CI's.
>
> If you submit a pull request against https://github.com/u-boot/u-boot
> Azure will run automatically and show the results. We don't have
We can get a free account for Azure, but yet it requires us to give
our credit card information to Azure. I don't want to accept it.
So I believe requiring Azure test results is just inappropriate.
-Takahiro Akashi
> anything similar setup for GitLab, but since it uses the same Docker
> images as Azure, so long as the syntax is right (and there are linters
> if you're unsure of a change), it would be expected to work too.
>
> --
> Tom
next prev parent reply other threads:[~2020-11-17 0:16 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-13 4:14 [PATCH v8 00/18] efi_loader: add capsule update support AKASHI Takahiro
2020-11-13 4:14 ` [PATCH v8 01/18] dfu: rename dfu_tftp_write() to dfu_write_by_name() AKASHI Takahiro
2020-11-13 4:14 ` [PATCH v8 02/18] dfu: modify an argument type for an address AKASHI Takahiro
2020-11-13 4:14 ` [PATCH v8 03/18] common: update: add a generic interface for FIT image AKASHI Takahiro
2020-11-13 4:14 ` [PATCH v8 04/18] dfu: export dfu_list AKASHI Takahiro
2020-11-13 4:14 ` [PATCH v8 05/18] efi_loader: add option to initialise EFI subsystem early AKASHI Takahiro
2020-11-13 4:14 ` [PATCH v8 06/18] efi_loader: add efi_create_indexed_name() AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 07/18] efi_loader: define UpdateCapsule api AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 08/18] efi_loader: capsule: add capsule_on_disk support AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 09/18] efi_loader: capsule: add memory range capsule definitions AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 10/18] efi_loader: capsule: support firmware update AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 11/18] efi_loader: add firmware management protocol for FIT image AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 12/18] dfu: add dfu_write_by_alt() AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 13/18] efi_loader: add firmware management protocol for raw image AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 14/18] cmd: add "efidebug capsule" command AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 15/18] tools: add mkeficapsule command for UEFI capsule update AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 16/18] test/py: efi_capsule: test for FIT image capsule AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 17/18] test/py: efi_capsule: test for raw " AKASHI Takahiro
2020-11-13 4:15 ` [PATCH v8 18/18] sandbox: enable capsule update for testing AKASHI Takahiro
2020-11-13 7:18 ` [PATCH v8 00/18] efi_loader: add capsule update support Heinrich Schuchardt
2020-11-16 0:37 ` AKASHI Takahiro
2020-11-16 16:10 ` Tom Rini
2020-11-17 0:16 ` AKASHI Takahiro [this message]
2020-11-17 0:36 ` Tom Rini
2020-11-17 0:44 ` AKASHI Takahiro
2020-11-17 1:49 ` [BUG] Hang shortly after loading FDT when booting on RK3399 Jean Lucas
2020-11-17 12:43 ` Alper Nebi Yasak
2020-11-17 14:11 ` Peter Robinson
2020-11-17 14:42 ` Alper Nebi Yasak
2020-11-17 18:28 ` Jean Lucas
2020-11-19 5:45 ` Jean Lucas
2020-11-19 6:08 ` Jean Lucas
2021-01-28 22:28 ` Jan Palus
2021-01-29 0:56 ` Jan Palus
2021-01-29 18:47 ` Jan Palus
2020-11-17 23:50 ` [PATCH v8 00/18] efi_loader: add capsule update support AKASHI Takahiro
2020-11-17 23:59 ` Tom Rini
2020-11-18 0:26 ` AKASHI Takahiro
2020-11-18 3:02 ` Tom Rini
2020-11-18 3:11 ` AKASHI Takahiro
2020-11-18 14:49 ` Tom Rini
2020-11-19 0:51 ` AKASHI Takahiro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201117001626.GA12604@laputa \
--to=takahiro.akashi@linaro.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox