Simon Glass | 8dfb135 | 2021-03-15 18:11:20 +1300 | [diff] [blame] | 1 | .. SPDX-License-Identifier: GPL-2.0+ |
| 2 | .. Copyright 2020 Google LLC |
| 3 | |
| 4 | Chromium OS Support in U-Boot |
| 5 | ============================= |
| 6 | |
| 7 | Introduction |
| 8 | ------------ |
| 9 | |
| 10 | This describes how to use U-Boot with Chromium OS. Several options are |
| 11 | available: |
| 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 | |
| 37 | Talks and documents |
| 38 | ------------------- |
| 39 | |
| 40 | Here 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>`_ |
Heinrich Schuchardt | d63b774 | 2021-04-10 20:32:03 +0200 | [diff] [blame] | 48 | - `Youtube video 'OSFC - U-Boot with Chrome OS and firmware packaging' <https://www.youtube.com/watch?v=1jknxUvmwpo>`_ |
Simon Glass | 8dfb135 | 2021-03-15 18:11:20 +1300 | [diff] [blame] | 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/>`_ |
Heinrich Schuchardt | d63b774 | 2021-04-10 20:32:03 +0200 | [diff] [blame] | 61 | - `Youtube video 'Verified Boot on Chrome OS and How to do it yourself' <https://www.youtube.com/watch?v=kdpZC9jFzZA>`_ |
Simon Glass | 8dfb135 | 2021-03-15 18:11:20 +1300 | [diff] [blame] | 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. |
Heinrich Schuchardt | d63b774 | 2021-04-10 20:32:03 +0200 | [diff] [blame] | 70 | - `Youtube video 'Chrome University 2018: Chrome OS Firmware and Verified Boot 201' <https://www.youtube.com/watch?v=WY2sWpuda2g>`_ |
Simon Glass | 8dfb135 | 2021-03-15 18:11:20 +1300 | [diff] [blame] | 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>`_ |