doc: Add a description for bootmeth_cros
Add documentation for the cros bootmeth. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
This commit is contained in:

committed by
Heinrich Schuchardt

parent
70a4982d4f
commit
56418511e9
33
doc/develop/bootstd/cros.rst
Normal file
33
doc/develop/bootstd/cros.rst
Normal file
@@ -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.
|
@@ -10,3 +10,4 @@ Standard Boot
|
||||
extlinux
|
||||
pxelinux
|
||||
qfw
|
||||
cros
|
||||
|
@@ -421,6 +421,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
|
||||
- Android bootflow (boot image v4)
|
||||
- :doc:`QFW <qfw>`: QEMU firmware interface
|
||||
|
Reference in New Issue
Block a user