blob: 5498ed9c16c7c9e8b7db54e6cb191597e8bf63ae [file] [log] [blame]
.. SPDX-License-Identifier: GPL-2.0+
.. Copyright 2020 Google LLC
Chromium OS Support in U-Boot
=============================
Introduction
------------
This describes how to use U-Boot with Chromium OS. Several options are
available:
- Running U-Boot from the 'altfw' feature, which is available on selected
Chromebooks from 2019 onwards (initially Grunt). Press '1' from the
developer-mode screen to get into U-Boot. See here for details:
https://chromium.googlesource.com/chromiumos/docs/+/HEAD/developer_mode.md
- Running U-Boot from the disk partition. This involves signing U-Boot and
placing it on the disk, for booting as a 'kernel'. See
:doc:`chainload` for information on this. This is the only
option on non-U-Boot Chromebooks from 2013 to 2018 and is somewhat
more involved.
- Running U-Boot with Chromium OS verified boot. This allows U-Boot to be
used instead of either or both of depthcharge (a bootloader which forked
from U-Boot in 2013) and coreboot. See :doc:`run_vboot` for more
information on this.
- Running U-Boot from coreboot. This allows U-Boot to run on more devices
since many of them only support coreboot as the bootloader and have
no bare-metal support in U-Boot. For this, use the 'coreboot' target.
- Running U-Boot and booting into a Chrome OS image, but without verified
boot. This can be useful for testing.
Talks and documents
-------------------
Here is some material relevant to Chromium OS verified boot with U-Boot:
- "U-Boot with Chrome OS and firmware packaging"
- Author: Simon Glass
- Presented at Open Source Firmware Conference 2018, Erlangen
- Describes the work in progress as at the end of 2018
- Slides at `OSFC <https://2018.osfc.io/uploads/talk/paper/26/U-Boot_with_Chrome_OS_and_firmware_packaging.pdf>`_
- Video on `Youtube <https://www.youtube.com/watch?v=1jknxUvmwpo>`_
- "Verified Boot in Chrome OS and how to make it work for you"
- Author: Simon Glass
- Presented at ELCE 2013, Edinburgh
- Describes the original 2013 implementation as shipped on snow (first
`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/>`_
with Samsung Exynos5250 `review <https://www.cnet.com/reviews/samsung-chromebook-series-3-review/>`_),
spring (`HP Chromebook 11 <https://www.cnet.com/products/hp-chromebook-11-g2-11-6-exynos-5250-4-gb-ram-16-gb-emmc/>`_)
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/>`_
with Exynos 5 Octa 5420 in 2014).
- Slides at `Google research <https://research.google/pubs/pub42038/>`_
- Video at `Youtube <https://www.youtube.com/watch?v=kdpZC9jFzZA>`_
- "Chrome University 2018: Chrome OS Firmware and Verified Boot 201"
- Author: Duncan Laurie
- Describes Chrome OS firmware as of 2018 and includes a wide range of
topics. This has no U-Boot information, but does cover coreboot and also
talks about the Chrome OS EC and Security chip. This is probably the
best introduction talk.
- Video at `YouTube <https://www.youtube.com/watch?v=WY2sWpuda2g>`_
- `Chromium OS U-Boot <https://www.chromium.org/developers/u-boot>`_
- `Firmware porting Guide <https://www.chromium.org/chromium-os/firmware-porting-guide>`_