aboutsummaryrefslogtreecommitdiff
path: root/doc/usage/fit/uefi.rst
blob: 3bbacb5cad0ee8997962c5382710ce58b13ff114 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
.. SPDX-License-Identifier: GPL-2.0+

UEFI
====

Example FIT image description file demonstrating the usage of the
bootm command to launch UEFI binaries.

Two boot configurations are available to enable booting GRUB2 on QEMU,
the former uses a FDT blob contained in the FIT image, while the later
relies on the FDT provided by the board emulator.

::

    /dts-v1/;

    / {
        description = "GRUB2 EFI and QEMU FDT blob";
        #address-cells = <1>;

        images {
            efi-grub {
                description = "GRUB EFI Firmware";
                data = /incbin/("bootarm.efi");
                type = "kernel_noload";
                arch = "arm";
                os = "efi";
                compression = "none";
                load = <0x0>;
                entry = <0x0>;
                hash-1 {
                    algo = "sha256";
                };
            };

            fdt-qemu {
                description = "QEMU DTB";
                data = /incbin/("qemu-arm.dtb");
                type = "flat_dt";
                arch = "arm";
                compression = "none";
                hash-1 {
                    algo = "sha256";
                };
            };
        };

        configurations {
            default = "config-grub-fdt";

            config-grub-fdt {
                description = "GRUB EFI Boot w/ FDT";
                kernel = "efi-grub";
                fdt = "fdt-qemu";
                signature-1 {
                    algo = "sha256,rsa2048";
                    key-name-hint = "dev";
                    sign-images = "kernel", "fdt";
                };
            };

            config-grub-nofdt {
                description = "GRUB EFI Boot w/o FDT";
                kernel = "efi-grub";
                signature-1 {
                    algo = "sha256,rsa2048";
                    key-name-hint = "dev";
                    sign-images = "kernel";
                };
            };
        };
    };