[PATCH] efi_loader: adjust config options for capsule updates
Ilias Apalodimas
ilias.apalodimas at linaro.org
Tue Jun 18 19:25:41 CEST 2024
Hi Jon,
On Tue, 18 Jun 2024 at 19:49, Jon Humphreys <jhumphreysti at gmail.com> wrote:
>
> Ilias Apalodimas <ilias.apalodimas at linaro.org> writes:
>
> > EFI_IGNORE_OSINDICATIONS is used to ignore OsIndications if setvariable
> > at runtime is not supported and allow the platform to perform capsule
> > updates on disk. With the recent changes boards can conditionally enable
> > setvariable at runtime using EFI_RT_VOLATILE_STORE.
> >
> > So let's make the options depend on each other and clarify their
> > functionality. When EFI_RT_VOLATILE_STORE, setvariable at runtime is
> > supported and EFI_IGNORE_OSINDICATIONS, which also breaks the EFI spec, is
> > not needed anymore.
>
> Hi Ilias,
>
> Is there a corresponding effort to update fwupdmgr to set OSIndications
> (and set it correctly so the change persists a reboot)?
>
We are not trying to fix anything atm, we probably will in the future.
> Otherwise, fwupdmgr provided capsules will now get ignored for boards that
> enable setvariable at runtime.
That goes beyond fwupd, EFI variable changes will be ignored in
general unless you sync the file manually -- e.g. dd
if=/sys/firmware/efi/efivars/VarToFile-b2ac5fc9-92b7-4acd-aeac-11e818c3130c
of=/boot/efi/ubootefi.var skip=4 bs=1
after every variable change. Unless you do that, enabling
EFI_RT_VOLATILE_STORE makes little sense (and that's why it's not
enabled by default).
So, I prefer making EFI_IGNORE_OSINDICATIONS, which was a hack,
mutually exclusive and start going in the right direction.
Regards
/Ilias
>
> Jon
>
> >
> > Signed-off-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> > ---
> > lib/efi_loader/Kconfig | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > index 430bb7f0f7dc..c84064de1366 100644
> > --- a/lib/efi_loader/Kconfig
> > +++ b/lib/efi_loader/Kconfig
> > @@ -220,6 +220,8 @@ config EFI_CAPSULE_ON_DISK
> > config EFI_IGNORE_OSINDICATIONS
> > bool "Ignore OsIndications for CapsuleUpdate on-disk"
> > depends on EFI_CAPSULE_ON_DISK
> > + depends on !EFI_RT_VOLATILE_STORE
> > + default y
> > help
> > There are boards where U-Boot does not support SetVariable at runtime.
> > Select this option if you want to use the capsule-on-disk feature
> > --
> > 2.45.2
More information about the U-Boot
mailing list