diff --git a/meta-digi-arm/classes/boot-artifacts.bbclass b/meta-digi-arm/classes/boot-artifacts.bbclass index 3ca896e6f..f0195bd8c 100644 --- a/meta-digi-arm/classes/boot-artifacts.bbclass +++ b/meta-digi-arm/classes/boot-artifacts.bbclass @@ -24,3 +24,27 @@ def get_uboot_ram_combinations(d): return " ".join(matches) UBOOT_RAM_COMBINATIONS = "${@get_uboot_ram_combinations(d)}" + +# This function returns a list with the bootable artifacts +def get_bootable_artifacts(d): + import re + + types = d.getVar('UBOOT_CONFIG', True) or "" + ram_configs = d.getVar('RAM_CONFIGS', True) or "" + uboot_prefix = d.getVar('UBOOT_PREFIX', True) or "" + uboot_suffix = d.getVar('UBOOT_SUFFIX', True) or "" + artifacts = [] + + # For platforms without RAM_CONFIGS, build the artifacts from UBOOT_CONFIG + if ram_configs == "": + for t in types.split(" "): + artifacts.append("%s-%s.%s" % (uboot_prefix, t, uboot_suffix)) + return " ".join(artifacts) + else: + machine = d.getVar('MACHINE', True) or "" + ram_combinations = get_uboot_ram_combinations(d) + for ramc in ram_combinations.split(" "): + artifacts.append("%s-%s-%s.%s" % (uboot_prefix, machine, ramc, uboot_suffix)) + return " ".join(artifacts) + +BOOTABLE_ARTIFACTS = "${@get_bootable_artifacts(d)}" diff --git a/meta-digi-arm/conf/machine/include/digi-defaults.inc b/meta-digi-arm/conf/machine/include/digi-defaults.inc index 55fc19ba0..0063dbc43 100644 --- a/meta-digi-arm/conf/machine/include/digi-defaults.inc +++ b/meta-digi-arm/conf/machine/include/digi-defaults.inc @@ -53,3 +53,4 @@ MACHINEOVERRIDES .= "${@['', ':${MACHINE_VARIANT}']['${MACHINE_VARIANT}' != '']} # U-Boot symlink UBOOT_SYMLINK ?= "${UBOOT_PREFIX}-${MACHINE}.${UBOOT_SUFFIX}" +BOOTABLE_ARTIFACTS ?= "" diff --git a/meta-digi-dey/classes/dey-image-installer.bbclass b/meta-digi-dey/classes/dey-image-installer.bbclass index bea197890..6a543c76f 100644 --- a/meta-digi-dey/classes/dey-image-installer.bbclass +++ b/meta-digi-dey/classes/dey-image-installer.bbclass @@ -3,6 +3,7 @@ # # Copyright 2017, Digi International Inc. # +inherit boot-artifacts DEPENDS += "zip-native" @@ -26,9 +27,9 @@ generate_installer_zip () { INSTALLER_FILELIST="${INSTALLER_FILELIST} ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${ext}" fi done - for ubconf in ${UBOOT_CONFIG}; do - if readlink -e "${DEPLOY_DIR_IMAGE}/${UBOOT_PREFIX}-${ubconf}.${UBOOT_SUFFIX}" >/dev/null; then - INSTALLER_FILELIST="${INSTALLER_FILELIST} ${DEPLOY_DIR_IMAGE}/${IMAGE_BOOTLOADER}-${ubconf}.${UBOOT_SUFFIX}" + for artifact in ${BOOTABLE_ARTIFACTS}; do + if readlink -e "${DEPLOY_DIR_IMAGE}/${artifact}" >/dev/null; then + INSTALLER_FILELIST="${INSTALLER_FILELIST} ${DEPLOY_DIR_IMAGE}/${artifact}" fi done