Hi Simon, Thank you for the patch.
On mar., juil. 16, 2024 at 08:04, Simon Glass <s...@chromium.org> wrote: > Add documentation for the cros bootmeth. > > Signed-off-by: Simon Glass <s...@chromium.org> > Reviewed-by: Quentin Schulz <quentin.sch...@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpersh...@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