Hi Heinrich, On Tue, 16 Jul 2024 at 00:07, Heinrich Schuchardt <xypron.g...@gmx.de> wrote: > > On 7/15/24 12:13, Simon Glass wrote: > > Add documentation for the cros bootmeth. > > %s/bootmeth/boot method/ > > throughout the patch. > > > > > Signed-off-by: Simon Glass <s...@chromium.org> > > --- > > > > 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..96f148837ac > > --- /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 > > What does 'invoked on a boot device' mean? Do you mean "if ChromimumOS > selects a boot device"?
No, this how bootstd works. It scans through the bootdevs one at a time and invokes the bootmeths on each. > > > +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 OS, each with > > its > > %s/OS/operating system/ > > > +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. The driver is > > +automatically instantiated if there are no bootmeth drivers in the > > devicetree. > > The last sentence should be moved to the overview. > > Please, mention the relevant configuration option for the boot method > driver. > [..] Regards, Simon