rewrote quickstart, build-process
[AGL/documentation.git] / docs / 2_Architecture_Guides / 2.2_Security_Blueprint / 2_Secure_Boot / 1.2.2.1_Image.md
1 ---
2 edit_link: ''
3 title: Image
4 origin_url: >-
5   https://raw.githubusercontent.com/automotive-grade-linux/docs-sources/master/docs/security-blueprint/part-2/1-Image.md
6 ---
7
8 <!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/architecture/master/security_blueprint-security-blueprint-book.yml -->
9
10 # Image
11
12 ## Image selection
13
14 The boot process shall be uninterruptible and shall irrevocably boot the image
15 as specified in the boot environment.
16
17 In U-Boot set the "_bootdelay_" environment variable and/or define
18 `CONFIG_BOOTDELAY` to _-2_.
19
20 <!-- section-config -->
21
22 Domain                 | _Variable_ / `Config` name | `Value`
23 ---------------------- | -------------------------- | -------
24 Boot-Image-Selection-1 | `CONFIG_BOOTDELAY`         | `-2`
25 Boot-Image-Selection-2 | _bootdelay_                | `-2`
26
27 <!-- end-section-config -->
28
29 --------------------------------------------------------------------------------
30
31 ## Image authenticity
32
33 It shall not be possible to boot from an unverified image. The secure boot
34 feature in U-Boot shall be enabled. The secure boot feature is available from
35 U-Boot 2013.07 version. To enable the secure boot feature, enable the following
36 features:
37
38 ```
39 CONFIG_FIT: Enables support for Flat Image Tree (FIT) uImage format.
40 CONFIG_FIT_SIGNATURE: Enables signature verification of FIT images.
41 CONFIG_RSA: Enables RSA algorithm used for FIT image verification.
42 CONFIG_OF_CONTROL: Enables Flattened Device Tree (FDT) configuration.
43 CONFIG_OF_SEPARATE: Enables separate build of u-Boot from the device tree.
44 CONFIG_DEFAULT_DEVICE_TREE: Specifies the default Device Tree used for the run-time configuration of U-Boot.
45 ```
46
47 Generate the U-Boot image with public keys to validate and load the image. It
48 shall use RSA2048 and SHA256 for authentication.
49
50 <!-- section-config -->
51
52 Domain                    | `Config` name                | _State_
53 ------------------------- | ---------------------------- | --------
54 Boot-Image-Authenticity-1 | `CONFIG_FIT`                 | _Enable_
55 Boot-Image-Authenticity-2 | `CONFIG_FIT_SIGNATURE`       | _Enable_
56 Boot-Image-Authenticity-3 | `CONFIG_RSA`                 | _Enable_
57 Boot-Image-Authenticity-4 | `CONFIG_OF_CONTROL`          | _Enable_
58 Boot-Image-Authenticity-5 | `CONFIG_OF_SEPARATE`         | _Enable_
59 Boot-Image-Authenticity-6 | `CONFIG_DEFAULT_DEVICE_TREE` | _Enable_
60
61 <!-- end-section-config -->