1SUMARY = "Corstone1000 platform Image"
2DESCRIPTION = "This is the main image which is the container of all the binaries \
3               generated for the Corstone1000 platform."
4LICENSE = "MIT"
5
6COMPATIBLE_MACHINE = "corstone1000"
7
8# IMAGE_FSTYPES must be set before 'inherit image'
9# https://docs.yoctoproject.org/ref-manual/variables.html#term-IMAGE_FSTYPES
10IMAGE_FSTYPES = "wic uefi_capsule"
11
12inherit image
13inherit tfm_sign_image
14inherit uefi_capsule
15
16DEPENDS += "external-system \
17            trusted-firmware-a \
18            trusted-firmware-m \
19"
20
21IMAGE_FEATURES = ""
22IMAGE_LINGUAS = ""
23
24PACKAGE_INSTALL = ""
25
26UEFI_FIRMWARE_BINARY = "${IMAGE_LINK_NAME}.${CAPSULE_IMGTYPE}"
27UEFI_CAPSULE_CONFIG = "${THISDIR}/files/${PN}-capsule-update-image.json"
28CAPSULE_IMGTYPE = "wic"
29
30# TF-A settings for signing host images
31TFA_BL2_BINARY = "bl2-corstone1000.bin"
32TFA_FIP_BINARY = "fip-corstone1000.bin"
33TFA_BL2_RE_IMAGE_LOAD_ADDRESS = "0x62353000"
34TFA_BL2_RE_SIGN_BIN_SIZE = "0x2d000"
35TFA_FIP_RE_IMAGE_LOAD_ADDRESS = "0x68130000"
36TFA_FIP_RE_SIGN_BIN_SIZE = "0x00200000"
37RE_LAYOUT_WRAPPER_VERSION = "0.0.7"
38TFM_SIGN_PRIVATE_KEY = "${libdir}/tfm-scripts/root-RSA-3072_1.pem"
39RE_IMAGE_OFFSET = "0x1000"
40
41do_sign_images() {
42    # Sign TF-A BL2
43    sign_host_image ${RECIPE_SYSROOT}/firmware/${TFA_BL2_BINARY} \
44        ${TFA_BL2_RE_IMAGE_LOAD_ADDRESS} ${TFA_BL2_RE_SIGN_BIN_SIZE}
45
46    # Update BL2 in the FIP image
47    cp ${RECIPE_SYSROOT}/firmware/${TFA_FIP_BINARY} .
48    fiptool update --tb-fw \
49        ${TFM_IMAGE_SIGN_DEPLOY_DIR}/signed_${TFA_BL2_BINARY} \
50        ${TFM_IMAGE_SIGN_DIR}/${TFA_FIP_BINARY}
51
52    # Sign the FIP image
53    sign_host_image ${TFM_IMAGE_SIGN_DIR}/${TFA_FIP_BINARY} \
54        ${TFA_FIP_RE_IMAGE_LOAD_ADDRESS} ${TFA_FIP_RE_SIGN_BIN_SIZE}
55}
56do_sign_images[depends] = "\
57    fiptool-native:do_populate_sysroot \
58    "
59