diff options
author | Tom Rini <trini@konsulko.com> | 2024-07-19 08:53:23 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-07-19 08:53:23 -0600 |
commit | cb0b7ab607aa71ae4b77a2b4d30d3d604c8324af (patch) | |
tree | dc3702be4e5ca6bdcf2ca66d4948bc44cf72a36a /doc/develop/bootstd/cros.rst | |
parent | 459560000736ac7c9c8b04522789c20fb45ff95a (diff) | |
parent | 38b000881ebc0a48b0a814fce9f52dfe62ac644b (diff) |
Merge tag 'efi-2024-10-rc1-3' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2024-10-rc1-3
Documentation:
* Move out-of-tree building info to HTML
* Enable ReadTheDocs addon management
* Remove FIT documentation that is elsewhere
* Update table of contents for FIT images
* Add description for more boot methods
UEFI:
* Correct finding distro device-path for media devices
* Fix typo in EFI_RT_VOLATILE_STORE description
Other:
* MAINTAINERS: Rename BOOTDEVICE
Diffstat (limited to 'doc/develop/bootstd/cros.rst')
-rw-r--r-- | doc/develop/bootstd/cros.rst | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/doc/develop/bootstd/cros.rst b/doc/develop/bootstd/cros.rst new file mode 100644 index 00000000000..85af10588c1 --- /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. |