[PATCH v2 07/14] doc: Add a description for bootmeth_cros
Mattijs Korpershoek
mkorpershoek at baylibre.com
Tue Jul 16 09:41:18 CEST 2024
Hi Simon,
Thank you for the patch.
On mar., juil. 16, 2024 at 08:04, Simon Glass <sjg at chromium.org> wrote:
> Add documentation for the cros bootmeth.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> Reviewed-by: Quentin Schulz <quentin.schulz at cherry.de>
Reviewed-by: Mattijs Korpershoek <mkorpershoek at baylibre.com>
> ---
>
> Changes in v2:
> - Adjustments from Heinrich's comments
>
> doc/develop/bootstd/cros.rst | 33 ++++++++++++++++++++++++++++++++
> doc/develop/bootstd/index.rst | 1 +
> doc/develop/bootstd/overview.rst | 1 +
> 3 files changed, 35 insertions(+)
> create mode 100644 doc/develop/bootstd/cros.rst
>
> diff --git a/doc/develop/bootstd/cros.rst b/doc/develop/bootstd/cros.rst
> new file mode 100644
> index 00000000000..92b83729150
> --- /dev/null
> +++ b/doc/develop/bootstd/cros.rst
> @@ -0,0 +1,33 @@
> +.. SPDX-License-Identifier: GPL-2.0+:
> +
> +ChromiumOS Bootmeth
> +===================
> +
> +ChromiumOS provides a mechanism for booting its Operating System from a block
> +device, described
> +`here <https://www.chromium.org/chromium-os/chromiumos-design-docs/verified-boot/>`_.
> +
> +U-Boot includes support for reading the associated data structures from the
> +device and identifying a bootable ChromiumOS image. This structure includes the
> +kernel itself, boot arguments (kernel command line), as well as the x86 setup
> +block (for x86 only).
> +
> +When invoked on a bootdev, this bootmeth searches for kernel partitions with
> +the appropriate GUID (Globally Unique Identifier). When found, the information
> +is loaded and a bootflow is created.
> +
> +When the bootflow is booted, the bootmeth reads the kernel and boot arguments.
> +It then boots the kernel using zboot (on x86) or bootm (on ARM). The boot
> +arguments are adjusted to replace %U with the UUID of the selected kernel
> +partition. This results in the correct root disk being used, which is the next
> +partition after the kernel partition.
> +
> +For ARM, a :doc:`/usage/fit/index` is used. The `CONFIG_FIT_BEST_MATCH` option
> +must be enabled for U-Boot to select the correct devicetree to boot with.
> +
> +Note that a ChromiumOS image typically has two copies of the Operating System,
> +each with its own kernel and root disk. There is no initial ramdisk (initrd).
> +This means that this bootmeth typically locates two separate images.
> +
> +The compatible string "u-boot,cros" is used for the driver. It is present
> +if `CONFIG_BOOTMETH_CROS` is enabled.
> diff --git a/doc/develop/bootstd/index.rst b/doc/develop/bootstd/index.rst
> index f8fce7207ce..69fd3c2d2eb 100644
> --- a/doc/develop/bootstd/index.rst
> +++ b/doc/develop/bootstd/index.rst
> @@ -10,3 +10,4 @@ Standard Boot
> extlinux
> pxelinux
> qfw
> + cros
> diff --git a/doc/develop/bootstd/overview.rst b/doc/develop/bootstd/overview.rst
> index f23e344546d..9b50b5593c4 100644
> --- a/doc/develop/bootstd/overview.rst
> +++ b/doc/develop/bootstd/overview.rst
> @@ -417,6 +417,7 @@ Bootmeth drivers are provided for booting from various media:
> - U-Boot scripts from disk, network or SPI flash
> - EFI boot using bootefi from disk
> - VBE
> + - :doc:`ChromiumOS <cros>` ChromiumOS boot from a disk
> - EFI boot using boot manager
> - :doc:`QFW <qfw>`: QEMU firmware interface
>
> --
> 2.34.1
More information about the U-Boot
mailing list