1.. SPDX-License-Identifier: GPL-2.0+
2.. Copyright 2020 Google LLC
3
4Chromium OS Support in U-Boot
5=============================
6
7Introduction
8------------
9
10This describes how to use U-Boot with Chromium OS. Several options are
11available:
12
13   - Running U-Boot from the 'altfw' feature, which is available on selected
14     Chromebooks from 2019 onwards (initially Grunt). Press '1' from the
15     developer-mode screen to get into U-Boot. See here for details:
16     https://chromium.googlesource.com/chromiumos/docs/+/HEAD/developer_mode.md
17
18   - Running U-Boot from the disk partition. This involves signing U-Boot and
19     placing it on the disk, for booting as a 'kernel'. See
20     :doc:`chainload` for information on this. This is the only
21     option on non-U-Boot Chromebooks from 2013 to 2018 and is somewhat
22     more involved.
23
24   - Running U-Boot with Chromium OS verified boot. This allows U-Boot to be
25     used instead of either or both of depthcharge (a bootloader which forked
26     from U-Boot in 2013) and coreboot. See :doc:`run_vboot` for more
27     information on this.
28
29   - Running U-Boot from coreboot. This allows U-Boot to run on more devices
30     since many of them only support coreboot as the bootloader and have
31     no bare-metal support in U-Boot. For this, use the 'coreboot' target.
32
33   - Running U-Boot and booting into a Chrome OS image, but without verified
34     boot. This can be useful for testing.
35
36
37Talks and documents
38-------------------
39
40Here is some material relevant to Chromium OS verified boot with U-Boot:
41
42   - "U-Boot with Chrome OS and firmware packaging"
43
44     - Author: Simon Glass
45     - Presented at Open Source Firmware Conference 2018, Erlangen
46     - Describes the work in progress as at the end of 2018
47     - Slides at `OSFC <https://2018.osfc.io/uploads/talk/paper/26/U-Boot_with_Chrome_OS_and_firmware_packaging.pdf>`_
48     - `Youtube video 'OSFC - U-Boot with Chrome OS and firmware packaging' <https://www.youtube.com/watch?v=1jknxUvmwpo>`_
49
50   - "Verified Boot in Chrome OS and how to make it work for you"
51
52     - Author: Simon Glass
53     - Presented at ELCE 2013, Edinburgh
54     - Describes the original 2013 implementation as shipped on snow (first
55       `ARM Chromebook was a Samsung Chromebook <https://www.cnet.com/products/samsung-series-3-chromebook-xe303c12-11-6-exynos-5250-2-gb-ram-16-gb-ssd-bilingual-english-french/>`_
56       with Samsung Exynos5250 `review <https://www.cnet.com/reviews/samsung-chromebook-series-3-review/>`_),
57       spring (`HP Chromebook 11 <https://www.cnet.com/products/hp-chromebook-11-g2-11-6-exynos-5250-4-gb-ram-16-gb-emmc/>`_)
58       and pit/pi (`Samsung Chromebook 2 <https://www.cnet.com/products/samsung-chromebook-2-xe503c12-11-6-exynos-5-octa-4-gb-ram-16-gb-ssd/>`_
59       with Exynos 5 Octa 5420 in 2014).
60     - Slides at `Google research <https://research.google/pubs/pub42038/>`_
61     - `Youtube video 'Verified Boot on Chrome OS and How to do it yourself' <https://www.youtube.com/watch?v=kdpZC9jFzZA>`_
62
63   - "Chrome University 2018: Chrome OS Firmware and Verified Boot 201"
64
65     - Author: Duncan Laurie
66     - Describes Chrome OS firmware as of 2018 and includes a wide range of
67       topics. This has no U-Boot information, but does cover coreboot and also
68       talks about the Chrome OS EC and Security chip. This is probably the
69       best introduction talk.
70     - `Youtube video 'Chrome University 2018: Chrome OS Firmware and Verified Boot 201' <https://www.youtube.com/watch?v=WY2sWpuda2g>`_
71
72   - `Chromium OS U-Boot <https://www.chromium.org/developers/u-boot>`_
73
74   - `Firmware porting Guide <https://www.chromium.org/chromium-os/firmware-porting-guide>`_
75