[PATCH 24/32] x86: Use CONFIG_CHROMEOS_VBOOT for verified boot

Bin Meng bmeng.cn at gmail.com
Fri Oct 16 16:17:22 CEST 2020


Hi Simon,

On Mon, Sep 28, 2020 at 12:26 PM Simon Glass <sjg at chromium.org> wrote:
>
> At present CONFIG_CHROMEOS is used to determine whether verified boot is
> in use. The code to implement that is not in U-Boot mainline.
>
> However, it is useful to be able to boot a Chromebook in developer mode
> in U-Boot mainline without needing the verified boot code.
>
> To allow this, use CONFIG_CHROMEOS_VBOOT to indicate that verified boot
> should be used, and CONFIG_CHROMEOS to indicate that the board supports
> Chrome OS. That allows us to define CONFIG_CHROMEOS on coral.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
>  Kconfig                            | 8 ++++++++
>  arch/x86/dts/chromebook_coral.dts  | 2 +-
>  arch/x86/dts/chromebook_samus.dts  | 2 +-
>  arch/x86/include/asm/intel_gnvs.h  | 3 ---
>  arch/x86/lib/tpl.c                 | 2 +-
>  configs/chromebook_coral_defconfig | 3 ++-
>  6 files changed, 13 insertions(+), 7 deletions(-)
>
> diff --git a/Kconfig b/Kconfig
> index 837b2f517ae..bd3bcb0d6f1 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -759,6 +759,14 @@ config ARCH_FIXUP_FDT_MEMORY
>           used for booting OS with different memory setup where the part of
>           the memory location should be used for different purpose.
>
> +config CHROMEOS
> +       bool "Support booting Chrome OS"
> +       help
> +         Chrome OS requires U-Boot to set up a table indicating the boot mode
> +         (e.g. Developer mode) and a few other things. Enable this if you are
> +         booting on a Chromebook to avoid getting an error about an invalid
> +         firmware ID.
> +
>  endmenu                # Boot images
>
>  source "api/Kconfig"
> diff --git a/arch/x86/dts/chromebook_coral.dts b/arch/x86/dts/chromebook_coral.dts
> index 92f70b13dd7..43f4b33da1b 100644
> --- a/arch/x86/dts/chromebook_coral.dts
> +++ b/arch/x86/dts/chromebook_coral.dts
> @@ -9,7 +9,7 @@
>  /include/ "rtc.dtsi"
>  /include/ "tsc_timer.dtsi"
>
> -#ifdef CONFIG_CHROMEOS
> +#ifdef CONFIG_CHROMEOS_VBOOT

I don't see this being defined as a Kconfig option. Am I missing anything?

>  #include "chromeos-x86.dtsi"
>  #include "flashmap-x86-ro.dtsi"
>  #include "flashmap-16mb-rw.dtsi"

[snip]

Regards,
Bin


More information about the U-Boot mailing list