Rework ccimx8x imx-boot/u-boot recipes to reduce number of imx-boot artifacts
Now that both U-Boot and the SCFW can autodetect the RAM configuration, we can simplify the imx-boot build process to generate two binaries (one per SOC revision) instead of eight. Build "flash_spl" imx-boot images and use only one global defconfig for u-boot. Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
parent
609028fe66
commit
d13b42492f
|
|
@ -6,11 +6,9 @@
|
||||||
include conf/machine/include/ccimx8x.inc
|
include conf/machine/include/ccimx8x.inc
|
||||||
|
|
||||||
# U-Boot configurations
|
# U-Boot configurations
|
||||||
# Last one is the default (the one the symlinks point at)
|
UBOOT_CONFIG ??= "ccimx8x_sbc_express"
|
||||||
UBOOT_CONFIG ??= "ccimx8x_sbc_express512MB ccimx8x_sbc_express1GB ccimx8x_sbc_express2GB"
|
UBOOT_CONFIG[ccimx8x_sbc_express] = "ccimx8x_sbc_express_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}"
|
||||||
UBOOT_CONFIG[ccimx8x_sbc_express2GB] = "ccimx8x_sbc_express2GB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}"
|
SPL_BINARY = "spl/u-boot-spl.bin"
|
||||||
UBOOT_CONFIG[ccimx8x_sbc_express1GB] = "ccimx8x_sbc_express1GB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}"
|
|
||||||
UBOOT_CONFIG[ccimx8x_sbc_express512MB] = "ccimx8x_sbc_express512MB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}"
|
|
||||||
|
|
||||||
KERNEL_DEVICETREE ?= " \
|
KERNEL_DEVICETREE ?= " \
|
||||||
digi/ccimx8x-sbc-express.dtb \
|
digi/ccimx8x-sbc-express.dtb \
|
||||||
|
|
@ -36,12 +34,6 @@ IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \
|
||||||
|
|
||||||
# Boot artifacts to be copied from the deploy dir to the installer ZIP
|
# Boot artifacts to be copied from the deploy dir to the installer ZIP
|
||||||
BOOTABLE_ARTIFACTS = " \
|
BOOTABLE_ARTIFACTS = " \
|
||||||
imx-boot-ccimx8x-sbc-express-B0-1GB_16bit.bin \
|
imx-boot-ccimx8x-sbc-express-B0.bin \
|
||||||
imx-boot-ccimx8x-sbc-express-B0-1GB_32bit.bin \
|
imx-boot-ccimx8x-sbc-express-C0.bin \
|
||||||
imx-boot-ccimx8x-sbc-express-B0-2GB_32bit.bin \
|
|
||||||
imx-boot-ccimx8x-sbc-express-B0-512MB_16bit.bin \
|
|
||||||
imx-boot-ccimx8x-sbc-express-C0-1GB_16bit.bin \
|
|
||||||
imx-boot-ccimx8x-sbc-express-C0-1GB_32bit.bin \
|
|
||||||
imx-boot-ccimx8x-sbc-express-C0-2GB_32bit.bin \
|
|
||||||
imx-boot-ccimx8x-sbc-express-C0-512MB_16bit.bin \
|
|
||||||
"
|
"
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,9 @@ include conf/machine/include/ccimx8x.inc
|
||||||
|
|
||||||
# U-Boot configurations
|
# U-Boot configurations
|
||||||
# Last one is the default (the one the symlinks point at)
|
# Last one is the default (the one the symlinks point at)
|
||||||
UBOOT_CONFIG ??= "ccimx8x_sbc_pro512MB ccimx8x_sbc_pro1GB ccimx8x_sbc_pro2GB"
|
UBOOT_CONFIG ??= "ccimx8x_sbc_pro"
|
||||||
UBOOT_CONFIG[ccimx8x_sbc_pro2GB] = "ccimx8x_sbc_pro2GB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}"
|
UBOOT_CONFIG[ccimx8x_sbc_pro] = "ccimx8x_sbc_pro_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}"
|
||||||
UBOOT_CONFIG[ccimx8x_sbc_pro1GB] = "ccimx8x_sbc_pro1GB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}"
|
SPL_BINARY = "spl/u-boot-spl.bin"
|
||||||
UBOOT_CONFIG[ccimx8x_sbc_pro512MB] = "ccimx8x_sbc_pro512MB_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}"
|
|
||||||
|
|
||||||
KERNEL_DEVICETREE ?= " \
|
KERNEL_DEVICETREE ?= " \
|
||||||
digi/ccimx8x-sbc-pro.dtb \
|
digi/ccimx8x-sbc-pro.dtb \
|
||||||
|
|
@ -49,17 +48,11 @@ IMAGE_FSTYPES ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", \
|
||||||
|
|
||||||
# Boot artifacts to be copied from the deploy dir to the installer ZIP
|
# Boot artifacts to be copied from the deploy dir to the installer ZIP
|
||||||
BOOTABLE_ARTIFACTS = " \
|
BOOTABLE_ARTIFACTS = " \
|
||||||
imx-boot-ccimx8x-sbc-pro-B0-1GB_16bit.bin \
|
imx-boot-ccimx8x-sbc-pro-B0.bin \
|
||||||
imx-boot-ccimx8x-sbc-pro-B0-1GB_32bit.bin \
|
imx-boot-ccimx8x-sbc-pro-C0.bin \
|
||||||
imx-boot-ccimx8x-sbc-pro-B0-2GB_32bit.bin \
|
|
||||||
imx-boot-ccimx8x-sbc-pro-B0-512MB_16bit.bin \
|
|
||||||
imx-boot-ccimx8x-sbc-pro-C0-1GB_16bit.bin \
|
|
||||||
imx-boot-ccimx8x-sbc-pro-C0-1GB_32bit.bin \
|
|
||||||
imx-boot-ccimx8x-sbc-pro-C0-2GB_32bit.bin \
|
|
||||||
imx-boot-ccimx8x-sbc-pro-C0-512MB_16bit.bin \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
# Default overlayfs_etc mount point and type
|
# Default overlayfs_etc mount point and type
|
||||||
OVERLAYFS_ETC_MOUNT_POINT ?= "/mnt/data"
|
OVERLAYFS_ETC_MOUNT_POINT ?= "/mnt/data"
|
||||||
OVERLAYFS_ETC_DEVICE ?= "/dev/mmcblk0p7"
|
OVERLAYFS_ETC_DEVICE ?= "/dev/mmcblk0p7"
|
||||||
OVERLAYFS_ETC_FSTYPE ?= "ext4"
|
OVERLAYFS_ETC_FSTYPE ?= "ext4"
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ MACHINE_FEATURES += "accel-graphics wifi bluetooth cryptochip pci mca"
|
||||||
# TrustFence
|
# TrustFence
|
||||||
TRUSTFENCE_SIGN_MODE = "AHAB"
|
TRUSTFENCE_SIGN_MODE = "AHAB"
|
||||||
|
|
||||||
IMXBOOT_TARGETS = "flash"
|
IMXBOOT_TARGETS = "flash_spl"
|
||||||
|
|
||||||
IMX_BOOT_SOC_TARGET = "iMX8QX"
|
IMX_BOOT_SOC_TARGET = "iMX8QX"
|
||||||
IMX_BOOT_SEEK = "32"
|
IMX_BOOT_SEEK = "32"
|
||||||
|
|
|
||||||
|
|
@ -17,16 +17,6 @@ DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-too
|
||||||
UUU_BOOTLOADER = ""
|
UUU_BOOTLOADER = ""
|
||||||
UUU_BOOTLOADER_TAGGED = ""
|
UUU_BOOTLOADER_TAGGED = ""
|
||||||
|
|
||||||
compile_mx8x() {
|
|
||||||
bbnote 8QX boot binary build
|
|
||||||
cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}
|
|
||||||
cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
|
|
||||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/
|
|
||||||
for type in ${UBOOT_CONFIG}; do
|
|
||||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-${type}.bin ${BOOT_STAGING}/
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
compile_mx8m:append:ccimx8m() {
|
compile_mx8m:append:ccimx8m() {
|
||||||
# Create dummy DEK blob to support building with encrypted u-boot
|
# Create dummy DEK blob to support building with encrypted u-boot
|
||||||
if [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ]; then
|
if [ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ]; then
|
||||||
|
|
@ -45,24 +35,16 @@ do_compile:ccimx8x () {
|
||||||
cp ${DEPLOY_DIR_IMAGE}/tee.bin {BOOT_STAGING}
|
cp ${DEPLOY_DIR_IMAGE}/tee.bin {BOOT_STAGING}
|
||||||
fi
|
fi
|
||||||
# mkimage for i.MX8
|
# mkimage for i.MX8
|
||||||
for type in ${UBOOT_CONFIG}; do
|
|
||||||
cd ${BOOT_STAGING}
|
for target in ${IMXBOOT_TARGETS}; do
|
||||||
ln -sf u-boot-${type}.bin u-boot.bin
|
for rev in ${SOC_REVISIONS}; do
|
||||||
cd -
|
bbnote "building ${IMX_BOOT_SOC_TARGET} - REV=${rev} ${target}"
|
||||||
for target in ${IMXBOOT_TARGETS}; do
|
make SOC=${IMX_BOOT_SOC_TARGET} dtbs=${UBOOT_DTB_NAME} REV=${rev} ${target} > ${S}/mkimage-${target}.log 2>&1
|
||||||
for rev in ${SOC_REVISIONS}; do
|
if [ -e "${BOOT_STAGING}/flash.bin" ]; then
|
||||||
bbnote "building ${IMX_BOOT_SOC_TARGET} - ${type} - REV=${rev} ${target}"
|
cp ${BOOT_STAGING}/flash.bin ${S}/${UBOOT_PREFIX}-${MACHINE}-${rev}.bin-${target}
|
||||||
make SOC=${IMX_BOOT_SOC_TARGET} dtbs=${UBOOT_DTB_NAME} REV=${rev} ${target} > ${S}/mkimage-${target}.log 2>&1
|
fi
|
||||||
if [ -e "${BOOT_STAGING}/flash.bin" ]; then
|
SCFWBUILT="yes"
|
||||||
cp ${BOOT_STAGING}/flash.bin ${S}/${UBOOT_PREFIX}-${MACHINE}-${rev}-${ramc}.bin-${target}
|
|
||||||
fi
|
|
||||||
SCFWBUILT="yes"
|
|
||||||
done
|
|
||||||
done
|
done
|
||||||
rm ${BOOT_STAGING}/u-boot.bin
|
|
||||||
# Remove u-boot-atf.bin and u-boot-hash.bin so they get generated with the next iteration's U-Boot
|
|
||||||
rm ${BOOT_STAGING}/u-boot-atf.bin
|
|
||||||
rm ${BOOT_STAGING}/u-boot-hash.bin
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check that SCFW was built at least once
|
# Check that SCFW was built at least once
|
||||||
|
|
@ -102,12 +84,6 @@ do_deploy:append:ccimx93() {
|
||||||
generate_symlinks
|
generate_symlinks
|
||||||
}
|
}
|
||||||
|
|
||||||
deploy_mx8x() {
|
|
||||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
|
||||||
install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
|
||||||
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
|
||||||
}
|
|
||||||
|
|
||||||
do_deploy:ccimx8x () {
|
do_deploy:ccimx8x () {
|
||||||
deploy_${SOC_FAMILY}
|
deploy_${SOC_FAMILY}
|
||||||
# copy tee.bin to deploy path
|
# copy tee.bin to deploy path
|
||||||
|
|
|
||||||
|
|
@ -182,13 +182,6 @@ BOOT_TOOLS:ccmp1 = "u-boot"
|
||||||
FIP_UBOOT_HEADER = "ccmp15-dvk"
|
FIP_UBOOT_HEADER = "ccmp15-dvk"
|
||||||
FIP_UBOOT_HEADER:ccmp13 = "ccmp13-dvk"
|
FIP_UBOOT_HEADER:ccmp13 = "ccmp13-dvk"
|
||||||
|
|
||||||
adapt_uboot_filenames:append:ccimx8x() {
|
|
||||||
# Move all U-Boot artifacts to the imx-boot-tools folder
|
|
||||||
# U-Boot images are not bootable on the i.MX8X
|
|
||||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
|
||||||
mv ${DEPLOYDIR}/u-boot* ${DEPLOYDIR}/${BOOT_TOOLS}/
|
|
||||||
}
|
|
||||||
|
|
||||||
do_deploy:append:ccimx8m() {
|
do_deploy:append:ccimx8m() {
|
||||||
# Deploy u-boot-nodtb.bin and ccimx8m[m|n]-dvk.dtb, to be packaged in boot binary by imx-boot
|
# Deploy u-boot-nodtb.bin and ccimx8m[m|n]-dvk.dtb, to be packaged in boot binary by imx-boot
|
||||||
if [ -n "${UBOOT_CONFIG}" ]
|
if [ -n "${UBOOT_CONFIG}" ]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue