summaryrefslogtreecommitdiff
path: root/brillo_uefi_x86_64/README
blob: a6b5e634adec2f7b24dc9eaba17cd6b2e7a2a72e (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
This sub-directory defines an x86_64 UEFI-compatbile Brillo board target.

-- FILES AND DIRECTORIES

boot_loader/

    Contains the EFI source code files, a Makefile, and EFI binaries needed for
    the A/B boot loader of the system.  The binaries will be placed on the EFI
    partition of the final disk image.  Currently, developers using the x86_64
    UEFI board target must manually install gnu-efi on their workstations in
    order to build the boot loader binary.  Once this is done, simply run 'make'
    in the boot_loader/ directory to produce the necessary *.efi binaries.

make_efi_image/

    Contains a bash script (make_efi_image) which creates an image to be put
    on the EFI partition of the final disk image. The script takes image size
    in bytes, resulting image output path, and a list of EFI application
    'host/target' paths as inputs.  The EFI applications will placed on the
    final image's EFI partition with absolute paths specified by the latter
    argument. Each 'host/target' element must be of the form
    "/PATH/TO/HOST_EFI_FILE:/PATH/TO/TARGET_EFI_FILE"
    NOTE: mtools utility is required on the system in order to create the EFI
    image.

make_misc_image/

    Contains source files for a utility which creates an image to be put into
    the "misc" partition of the final disk image. This image will contain
    metadata in binary format to be used for A/B booting. The utility program
    takes attribute values for two slots, "a" and "b", as well as a path to the
    output "misc" binary file.
    Usage:
      make_misc_image
        --ab_metadata=a_priority,a_tries_remaining,a_successful_boot,
                      b_priority,b_tries_remaining,b_successful_boot
        --output=/PATH/TO/MISC_IMAGE
    Where
      0 <= [a,b]_priority <= 15
      0 <= [a,b]_tries_remaining <= 7
      0 <= [a,b]_successful_boot <= 1

    TODO: Build system integration similar to make_efi_image.

-- BUILD SYSTEM INTEGRATION NOTES

If EFI_INPUT_FILE_PATHS is non-empty, the build system system will call the
make_efi_image script, passing EFI_IMAGE_SIZE, $(ANDROID_OUT)/EFI.img, and
EFI_INPUT_FILE_PATHS arguments. The variables are defined globally in the
BoardConfig.mk file.