diff --git a/conf/machine/include/gpu_vivante.inc b/conf/machine/include/gpu_vivante.inc index 899124b..3073fb4 100644 --- a/conf/machine/include/gpu_vivante.inc +++ b/conf/machine/include/gpu_vivante.inc @@ -6,7 +6,7 @@ GPU_USERLAND_LIBRARIES_EGLFS ?= "gcnano-userland-multi-binary-stm32mp" GPU_USERLAND_LIBRARIES_X11 ?= "mesa" # Helper function for overloading the default EGL/GLES implementation. -# The Vivnate libraries are compatible with the Mesa headers +# The Vivante libraries are compatible with the Mesa headers # but we can have several backend available following the distro configuration: # - wayland # - x11 diff --git a/conf/machine/include/st-machine-common-stm32mp.inc b/conf/machine/include/st-machine-common-stm32mp.inc index 2cbab00..874539f 100644 --- a/conf/machine/include/st-machine-common-stm32mp.inc +++ b/conf/machine/include/st-machine-common-stm32mp.inc @@ -55,13 +55,13 @@ MACHINE_EXTRA_RRECOMMENDS_append = " m4projects-stm32mp1 " MACHINE_EXTRA_RRECOMMENDS_append = " linux-examples-stm32mp1 " MACHINE_EXTRA_RRECOMMENDS_append = " m4fwcoredump " # Enable Software watchdog when sysvinit -# We enable it to be aligned with the activation within u-boot https://gerrit.st.com/#/c/102528 MACHINE_EXTRA_RRECOMMENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES','sysvinit',' watchdog ','',d)} " # ========================================================================= # Image # ========================================================================= -IMAGE_CLASSES += "image_types-stubi st-partitions-image" +# Partitions configuration +IMAGE_CLASSES += "st-partitions-image" # Define image to use for extra partitions STM32MP_BOOTFS_IMAGE = "st-image-bootfs" @@ -74,68 +74,103 @@ STM32MP_VENDORFS_IMAGE = "st-image-vendorfs" STM32MP_VENDORFS_LABEL = "vendorfs" STM32MP_VENDORFS_MOUNTPOINT_IMAGE = "/vendor" -# Define extra partition to build -PARTITIONS_IMAGE = "${STM32MP_BOOTFS_IMAGE} ${STM32MP_USERFS_IMAGE} ${STM32MP_VENDORFS_IMAGE}" -PARTITIONS_MOUNTPOINT_IMAGE = "${STM32MP_BOOTFS_MOUNTPOINT_IMAGE} ${STM32MP_USERFS_MOUNTPOINT_IMAGE} ${STM32MP_VENDORFS_MOUNTPOINT_IMAGE}" +# Configure use of VENDORFS partition +ST_VENDORFS ?= "1" -# Enable licence summary and configure License content generation -ENABLE_IMAGE_LICENSE_SUMMARY = "1" -IMAGE_SUMMARY_LIST = "${STM32MP_BOOTFS_IMAGE}:${STM32MP_VENDORFS_IMAGE}:#IMAGE#:${STM32MP_USERFS_IMAGE}" +# Define extra partition to build +PARTITIONS_IMAGE = "${STM32MP_BOOTFS_IMAGE}" +PARTITIONS_IMAGE += "${STM32MP_USERFS_IMAGE}" +PARTITIONS_IMAGE += "${@bb.utils.contains('ST_VENDORFS','1','${STM32MP_VENDORFS_IMAGE}','',d)}" +PARTITIONS_MOUNTPOINT_IMAGE = "${STM32MP_BOOTFS_MOUNTPOINT_IMAGE}" +PARTITIONS_MOUNTPOINT_IMAGE += "${STM32MP_USERFS_MOUNTPOINT_IMAGE}" +PARTITIONS_MOUNTPOINT_IMAGE += "${@bb.utils.contains('ST_VENDORFS','1','${STM32MP_VENDORFS_MOUNTPOINT_IMAGE}','',d)}" # Provide list of partition to mount MOUNT_PARTITIONS_LIST = "${STM32MP_BOOTFS_LABEL},${STM32MP_BOOTFS_MOUNTPOINT_IMAGE}" MOUNT_PARTITIONS_LIST += "${STM32MP_USERFS_LABEL},${STM32MP_USERFS_MOUNTPOINT_IMAGE}" -MOUNT_PARTITIONS_LIST += "${STM32MP_VENDORFS_LABEL},${STM32MP_VENDORFS_MOUNTPOINT_IMAGE}" +MOUNT_PARTITIONS_LIST += "${@bb.utils.contains('ST_VENDORFS','1','${STM32MP_VENDORFS_LABEL},${STM32MP_VENDORFS_MOUNTPOINT_IMAGE}','',d)}" # Define image partition size (supposed to be set as max size in image recipe) +# Proposed value for bootfs is 64MB BOOTFS_PARTITION_SIZE = "65536" -# New value proposed for rootfs is 768MB -ROOTFS_PARTITION_SIZE = "768432" -# If we consider the highest constraint is NAND size (so < 1GB) -# Boot binaries 4 MB max (with optee) + bootfs 64 MB max + rootfs 768 MB max + userfs size (4*32MB) < 1024 MB +# Proposed value for rootfs should fit our highest constraint: NAND size (1GiB) +# For optee bootscheme we have the maximum partitions: +# FSBL1 + SSBL + SSBL2 + TEEH + TEED + TEEX + Multivolume UBI = NAND size +# Multivolume UBI = 1GiB - (2MiB + 2MiB + 2MiB + 512KiB + 512KiB + 512KiB) = 1016.5MiB +# With multivolume UBI split: +# Multivolume UBI > uboot_config + uboot_config_r + bootfs + vendorfs + rootfs + userfs + UBI Overhead +# From http://www.linux-mtd.infradead.org/doc/ubi.html#L_overhead, we compute +# the UBI overhead for our NAND: +# (20*4096/1024 + 4) * 256KiB + (256KiB - 248KiB) * (1016.5MiB/256KiB - 20*4096/1024 - 4) = 53360KiB +# In addition, for each UBIFS, our NAND consummed 9 extra eraseblocks +# So: +# rootfs < Multivolume UBI - (uboot_config + uboot_config_r + bootfs + vendorfs + userfs + UBI Overhead + 4 * 9*eraseblocks) +# rootfs < 1016.5MiB - (256KiB + 256KiB + 64MiB + 16MiB + 128MiB + 53360KiB + 4 * 9 * 256KiB) +# rootfs < 746.8MiB +# Proposed value for rootfs is 746MiB +ROOTFS_PARTITION_SIZE = "763904" +# Proposed value for userfs is 128MB (4*32MB) USERFS_PARTITION_SIZE = "131072" -# New value proposed for vendorfs is 16MB +# Proposed value for vendorfs is 16MB VENDORFS_PARTITION_SIZE = "16384" -# Define volume list for multivolume UBIFS -STM32MP_UBI_VOLUME += "${STM32MP_BOOTFS_IMAGE}-${DISTRO}-${MACHINE}:${BOOTFS_PARTITION_SIZE}" -STM32MP_UBI_VOLUME += "${IMAGE_LINK_NAME}:${ROOTFS_PARTITION_SIZE}" -STM32MP_UBI_VOLUME += "${STM32MP_VENDORFS_IMAGE}-${DISTRO}-${MACHINE}:${VENDORFS_PARTITION_SIZE}" -STM32MP_UBI_VOLUME += "${STM32MP_USERFS_IMAGE}-${DISTRO}-${MACHINE}:${USERFS_PARTITION_SIZE}" - -# Set on machine side the max size for ROOTFS image to apply for default rootfs being built +# Define the max size for ROOTFS image being built # On other image partition such settings is directly done in image recipe IMAGE_ROOTFS_MAXSIZE ?= "${ROOTFS_PARTITION_SIZE}" -# ST Naming rules partitions for UBI format are : -# nand__ -# nor_ -# Like that a same UBI partition can be used for severals NAND/NOR providers +# UBI Configuration +IMAGE_CLASSES += "image_types-stubi" -# UBI Args for NAND soldered by default on MB1262 -# Micron MT29F8G16ABACAH4 +# Define specific U-Boot config partition settings +STM32MP_UBOOTCONFIG_NAME = "uboot_config" +UBOOTCONFIG_PARTITION_SIZE = "256" + +# Define volume list for multivolume UBIFS +# We need to have two empty UBI volumes to manage U-Boot config in our multivolume UBI +STM32MP_UBI_VOLUME += "${STM32MP_UBOOTCONFIG_NAME}:${UBOOTCONFIG_PARTITION_SIZE}:empty" +STM32MP_UBI_VOLUME += "${STM32MP_UBOOTCONFIG_NAME}_r:${UBOOTCONFIG_PARTITION_SIZE}:empty" +# Add default partition volumes +STM32MP_UBI_VOLUME += "${STM32MP_BOOTFS_IMAGE}-${DISTRO}-${MACHINE}:${BOOTFS_PARTITION_SIZE}" +STM32MP_UBI_VOLUME += "${IMAGE_LINK_NAME}:${ROOTFS_PARTITION_SIZE}" +STM32MP_UBI_VOLUME += "${@bb.utils.contains('ST_VENDORFS','1','${STM32MP_VENDORFS_IMAGE}-${DISTRO}-${MACHINE}:${VENDORFS_PARTITION_SIZE}','',d)}" +STM32MP_UBI_VOLUME += "${STM32MP_USERFS_IMAGE}-${DISTRO}-${MACHINE}:${USERFS_PARTITION_SIZE}" + +# Define UBI volume label for ROOTFS image being built +# This is needed to have "generic" kernel command line to mount UBI file system +UBI_VOLNAME ?= "rootfs" + +# Define UBI labels to build +# Naming rules for UBI partitions: +# nand__ +# nor_ +# Like that a same UBI partition can be used for severals NAND/NOR providers +MULTIUBI_BUILD_append = " nand_4_256 " + +# UBI Args for NAND by default on MB1262 (Micron MT29F8G16ABACAH4) # LEB = BLOCK_SIZE - (2 * page size): 256*1024 - (2*4096) MKUBIFS_ARGS_nand_4_256 = "--min-io-size 4096 --leb-size 253952 --max-leb-cnt 4096 --space-fixup" UBINIZE_ARGS_nand_4_256 = "--min-io-size 4096 --peb-size 256KiB" - -# Define UBI labels to build -MULTIUBI_BUILD_append = " nand_4_256 " - -# Set on machine side the UBI volume label for ROOTFS image to apply to reuse it -# on kernel command line to mount UBI file system -# On other image partition such settings is directly done in image recipe -UBI_VOLNAME ?= "rootfs" - -# create minimal inode number (as it is done by default in image_types.bbclass) -# add naming of ext4 FS to be aligned with gpt... scripts -# For label name we are using IMAGE_NAME_SUFFIX we are removing "." and truncing to 16 caracters -# -L new-volume-label -# Set the volume label for the filesystem to new-volume-label. The maximum length of the volume label is 16 bytes. -EXTRA_IMAGECMD_ext4 = "-i 4096 -L ${@d.getVar('IMAGE_NAME_SUFFIX').replace('.', '', 1)[:16]}" +# Set extra size required for UBIFS volume size (KiB) +EXTRA_UBIFS_SIZE_nand_4_256 = "2304" # Default FSTYPES requested IMAGE_FSTYPES ?= "tar.xz ext4" +# Define specific EXT4 command line: +# - Create minimal inode number (as it is done by default in image_types.bbclass) +# - Add label name (maximum length of the volume label is 16 bytes) +# So use IMAGE_NAME_SUFFIX name by removing the '.' and truncing to 16 caracters +# - Deactivate metadata_csum and dir_index (hashed b-trees): update not supported +# by U-Boot +EXTRA_IMAGECMD_ext4 = "-i 4096 -L ${@d.getVar('IMAGE_NAME_SUFFIX').replace('.', '', 1)[:16]} -O ^metadata_csum,^dir_index" + +# Enable licence summary and configure License content generation +ENABLE_IMAGE_LICENSE_SUMMARY = "1" +IMAGE_SUMMARY_LIST = "${STM32MP_BOOTFS_IMAGE}" +IMAGE_SUMMARY_LIST_append = "${@bb.utils.contains('ST_VENDORFS','1',':${STM32MP_VENDORFS_IMAGE}','',d)}" +IMAGE_SUMMARY_LIST_append = ":#IMAGE#" +IMAGE_SUMMARY_LIST_append = ":${STM32MP_USERFS_IMAGE}" + # Allow debug on the platform with gdb and openocd tools EXTRA_IMAGEDEPENDS_append = " \ gdb-cross-arm \ @@ -163,29 +198,34 @@ ST_TOOLS_FOR_SDK_append = " \ ST_TOOLS_FOR_SDK_append = " \ nativesdk-wayland \ " +# Make sure to append mkimage to SDK for kernel uImage build +ST_DEPENDENCIES_BUILD_FOR_SDK = " \ + ${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', 'nativesdk-u-boot-mkimage', '', d)} \ + ${@bb.utils.contains('KERNEL_ALT_IMAGETYPE', 'uImage', 'nativesdk-u-boot-mkimage', '', d)} \ + " +# Make sure to append openssl to SDK for kernel-module and scripts build +ST_DEPENDENCIES_BUILD_FOR_SDK_append = " nativesdk-openssl-dev " + +# Make sure to append bison to SDK for u-boot build +ST_DEPENDENCIES_BUILD_FOR_SDK_append = " \ + ${@bb.utils.contains('EXTRA_IMAGEDEPENDS', 'u-boot-stm32mp', 'nativesdk-bison', '', d)} \ + " # for populate_sdk, we will have all the tools TOOLCHAIN_HOST_TASK_append = " ${ST_TOOLS_FOR_SDK} " - -# Make sure to append mkimage to SDK for kernel uImage build -TOOLCHAIN_HOST_TASK_append = " ${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', 'nativesdk-u-boot-mkimage', '', d)} " -TOOLCHAIN_HOST_TASK_append = " ${@bb.utils.contains('KERNEL_ALT_IMAGETYPE', 'uImage', 'nativesdk-u-boot-mkimage', '', d)} " -# Make sure to append openssl to SDK for kernel-module and scripts build -TOOLCHAIN_HOST_TASK_append = " nativesdk-openssl-dev " - -# Make sure to append bison to SDK for u-boot build -TOOLCHAIN_HOST_TASK_append = " ${@bb.utils.contains('EXTRA_IMAGEDEPENDS', 'u-boot-stm32mp', 'nativesdk-bison', '', d)} " - +TOOLCHAIN_HOST_TASK_append = " ${ST_DEPENDENCIES_BUILD_FOR_SDK} " # for populate_sdk_ext, the tools are not desired as mandatory tools (aka basic # tools for devtool) TOOLCHAIN_HOST_TASK_remove_task-populate-sdk-ext = " ${ST_TOOLS_FOR_SDK} " - -# buildtools and uninatve are used only by populate_sdk_ext +TOOLCHAIN_HOST_TASK_remove_task-populate-sdk-ext = " ${ST_DEPENDENCIES_BUILD_FOR_SDK} " +# buildtools is used only by populate_sdk_ext # populate_sdk_ext = buildtools + uninatve + layer # buildtools: sdk part of esdk (like sdk generated by populate_sdk) # uninative: basic tools for devtool -TOOLCHAIN_HOST_TASK_append_pn-buildtools-tarball = " ${ST_TOOLS_FOR_SDK} " -TOOLCHAIN_HOST_TASK_remove_pn-uninative-tarball = " ${ST_TOOLS_FOR_SDK} " +TOOLCHAIN_HOST_TASK_remove_pn-buildtools-tarball = " ${ST_TOOLS_FOR_SDK} " + +TOOLCHAIN_TARGET_TASK += " bash-dev " +TOOLCHAIN_TARGET_TASK_remove_pn-buildtools-tarball = " bash-dev " # ========================================================================= # Kernel @@ -222,6 +262,7 @@ LINUX_A7_EXAMPLES_DT ?= "" # u-boot # ========================================================================= EXTRA_IMAGEDEPENDS += "u-boot-stm32mp" +PREFERRED_PROVIDER_virtual/bootloader = "u-boot-stm32mp" # Define default U-Boot config UBOOT_CONFIG += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'basic', 'basic', '', d)}" @@ -310,4 +351,5 @@ DEFAULT_COPRO_FIRMWARE = "OpenAMP_TTY_echo" # GCNANO userland configuration # ========================================================================= # Variable for using vendor directory instead of usr +GCNANO_USERLAND_USE_VENDOR_DIR = "${@bb.utils.contains('ST_VENDORFS','1','1','0',d)}" GCNANO_USERLAND_VENDOR_DIR = "${STM32MP_VENDORFS_MOUNTPOINT_IMAGE}" diff --git a/conf/machine/include/st-machine-extlinux-config-stm32mp.inc b/conf/machine/include/st-machine-extlinux-config-stm32mp.inc index bfd4f66..7339291 100644 --- a/conf/machine/include/st-machine-extlinux-config-stm32mp.inc +++ b/conf/machine/include/st-machine-extlinux-config-stm32mp.inc @@ -27,13 +27,13 @@ EXTLINUX_BOOTDEVICE_NOREMMC = "nor0-mmc1" EXTLINUX_BOOTDEVICE_NAND = "nand0" # Set generic extlinux root variable to ease definition -EXTLINUX_ROOT_EMMC = "root=/dev/mmcblk1p4" -EXTLINUX_ROOT_EMMC_OPTEE = "root=/dev/mmcblk1p7" +EXTLINUX_ROOT_EMMC = "${@bb.utils.contains('ST_VENDORFS','1','root=/dev/mmcblk1p4','root=/dev/mmcblk1p3',d)}" +EXTLINUX_ROOT_EMMC_OPTEE = "${@bb.utils.contains('ST_VENDORFS','1','root=/dev/mmcblk1p7','root=/dev/mmcblk1p6',d)}" EXTLINUX_ROOT_NAND = "ubi.mtd=UBI rootfstype=ubifs root=ubi0:rootfs" -EXTLINUX_ROOT_NOREMMC = "root=/dev/mmcblk1p3" -EXTLINUX_ROOT_NORSDCARD = "root=/dev/mmcblk0p3" -EXTLINUX_ROOT_SDCARD = "root=/dev/mmcblk0p6" -EXTLINUX_ROOT_SDCARD_OPTEE = "root=/dev/mmcblk0p9" +EXTLINUX_ROOT_NOREMMC = "${@bb.utils.contains('ST_VENDORFS','1','root=/dev/mmcblk1p3','root=/dev/mmcblk1p2',d)}" +EXTLINUX_ROOT_NORSDCARD = "${@bb.utils.contains('ST_VENDORFS','1','root=/dev/mmcblk0p3','root=/dev/mmcblk0p2',d)}" +EXTLINUX_ROOT_SDCARD = "${@bb.utils.contains('ST_VENDORFS','1','root=/dev/mmcblk0p6','root=/dev/mmcblk0p5',d)}" +EXTLINUX_ROOT_SDCARD_OPTEE = "${@bb.utils.contains('ST_VENDORFS','1','root=/dev/mmcblk0p9','root=/dev/mmcblk0p8',d)}" # ----------------------------------------------------------------------------- # REMINDER: how 'exlinux.conf' files are built diff --git a/conf/machine/include/st-machine-flashlayout-deleteall-stm32mp.inc b/conf/machine/include/st-machine-flashlayout-deleteall-stm32mp.inc index 48c4a8e..145e862 100644 --- a/conf/machine/include/st-machine-flashlayout-deleteall-stm32mp.inc +++ b/conf/machine/include/st-machine-flashlayout-deleteall-stm32mp.inc @@ -21,43 +21,43 @@ FLASHLAYOUT_TYPE_LABELS_deleteall_eval = "${STM32MP_DT_FILES_ED} ${STM32MP_DT_F # re-using 'fsbl1-boot' and 'ssbl-boot' partitions already defined in file # 'st-machine-flashlayout-stm32mp.inc' # ----------------------------------------------------------------------------- -FLASHLAYOUT_PARTITION_LABELS_deleteall_disco = "fsbl1-boot ssbl-boot sdcard-all" -FLASHLAYOUT_PARTITION_LABELS_deleteall_eval = "fsbl1-boot ssbl-boot emmc-fsbl1 emmc-fsbl2 emmc-all nand-4-256-all nor-all sdcard-all" +FLASHLAYOUT_PARTITION_LABELS_deleteall_disco = "fsbl1-boot ssbl-boot sdcardall" +FLASHLAYOUT_PARTITION_LABELS_deleteall_eval = "fsbl1-boot ssbl-boot emmcfsbl1 emmcfsbl2 emmcall nandall norall sdcardall" # ----------------------------------------------------------------------------- # Partition configuration for each partition label -FLASHLAYOUT_PARTITION_ENABLE_emmc-fsbl1 = "PED" -FLASHLAYOUT_PARTITION_ENABLE_emmc-fsbl2 = "PED" -FLASHLAYOUT_PARTITION_ENABLE_emmc-all = "PED" -FLASHLAYOUT_PARTITION_ENABLE_nand-4-256-all = "PED" -FLASHLAYOUT_PARTITION_ENABLE_nor-all = "PED" -FLASHLAYOUT_PARTITION_ENABLE_sdcard-all = "PED" +FLASHLAYOUT_PARTITION_ENABLE_emmcfsbl1 = "PED" +FLASHLAYOUT_PARTITION_ENABLE_emmcfsbl2 = "PED" +FLASHLAYOUT_PARTITION_ENABLE_emmcall = "PED" +FLASHLAYOUT_PARTITION_ENABLE_nandall = "PED" +FLASHLAYOUT_PARTITION_ENABLE_norall = "PED" +FLASHLAYOUT_PARTITION_ENABLE_sdcardall = "PED" -FLASHLAYOUT_PARTITION_ID_emmc-fsbl1 = "0x04" -FLASHLAYOUT_PARTITION_ID_emmc-fsbl2 = "0x05" -FLASHLAYOUT_PARTITION_ID_emmc-all = "0x30" -FLASHLAYOUT_PARTITION_ID_nand-4-256-all = "0x40" -FLASHLAYOUT_PARTITION_ID_nor-all = "0x50" -FLASHLAYOUT_PARTITION_ID_sdcard-all = "0x60" +FLASHLAYOUT_PARTITION_ID_emmcfsbl1 = "0x08" +FLASHLAYOUT_PARTITION_ID_emmcfsbl2 = "0x09" +FLASHLAYOUT_PARTITION_ID_emmcall = "0x30" +FLASHLAYOUT_PARTITION_ID_nandall = "0x40" +FLASHLAYOUT_PARTITION_ID_norall = "0x50" +FLASHLAYOUT_PARTITION_ID_sdcardall = "0x60" -FLASHLAYOUT_PARTITION_TYPE_emmc-all = "RawImage" -FLASHLAYOUT_PARTITION_TYPE_nand-4-256-all = "RawImage" -FLASHLAYOUT_PARTITION_TYPE_nor-all = "RawImage" -FLASHLAYOUT_PARTITION_TYPE_sdcard-all = "RawImage" +FLASHLAYOUT_PARTITION_TYPE_emmcall = "RawImage" +FLASHLAYOUT_PARTITION_TYPE_nandall = "RawImage" +FLASHLAYOUT_PARTITION_TYPE_norall = "RawImage" +FLASHLAYOUT_PARTITION_TYPE_sdcardall = "RawImage" -FLASHLAYOUT_PARTITION_DEVICE_emmc-fsbl1 = "${DEVICE_EMMC}" -FLASHLAYOUT_PARTITION_DEVICE_emmc-fsbl2 = "${DEVICE_EMMC}" -FLASHLAYOUT_PARTITION_DEVICE_emmc-all = "${DEVICE_EMMC}" -FLASHLAYOUT_PARTITION_DEVICE_nand-4-256-all = "${DEVICE_NAND}" -FLASHLAYOUT_PARTITION_DEVICE_nor-all = "${DEVICE_NOR}" -FLASHLAYOUT_PARTITION_DEVICE_sdcard-all = "${DEVICE_SDCARD}" +FLASHLAYOUT_PARTITION_DEVICE_emmcfsbl1 = "${DEVICE_EMMC}" +FLASHLAYOUT_PARTITION_DEVICE_emmcfsbl2 = "${DEVICE_EMMC}" +FLASHLAYOUT_PARTITION_DEVICE_emmcall = "${DEVICE_EMMC}" +FLASHLAYOUT_PARTITION_DEVICE_nandall = "${DEVICE_NAND}" +FLASHLAYOUT_PARTITION_DEVICE_norall = "${DEVICE_NOR}" +FLASHLAYOUT_PARTITION_DEVICE_sdcardall = "${DEVICE_SDCARD}" # Specific for fsbl1-boot ssbl-boot partitions FLASHLAYOUT_PARTITION_DEVICE_deleteall_fsbl1-boot = "none" FLASHLAYOUT_PARTITION_DEVICE_deleteall_ssbl-boot = "none" FLASHLAYOUT_PARTITION_OFFSET_deleteall = "0x0" -FLASHLAYOUT_PARTITION_OFFSET_deleteall_emmc-fsbl1 = "${FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl1}" -FLASHLAYOUT_PARTITION_OFFSET_deleteall_emmc-fsbl2 = "${FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl2}" +FLASHLAYOUT_PARTITION_OFFSET_deleteall_emmcfsbl1 = "${FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl1}" +FLASHLAYOUT_PARTITION_OFFSET_deleteall_emmcfsbl2 = "${FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl2}" # ----------------------------------------------------------------------------- # The 'deletall' bootscheme is a trick to generate flashlayout files to clean diff --git a/conf/machine/include/st-machine-flashlayout-stm32mp.inc b/conf/machine/include/st-machine-flashlayout-stm32mp.inc index 099d5f8..6bb1fc4 100644 --- a/conf/machine/include/st-machine-flashlayout-stm32mp.inc +++ b/conf/machine/include/st-machine-flashlayout-stm32mp.inc @@ -55,6 +55,17 @@ FLASHLAYOUT_BOOTSCHEME_LABELS ??= "basic optee trusted" # ----------------------------------------------------------------------------- FLASHLAYOUT_CONFIG_LABELS ??= "emmc nand-4-256 nor-sdcard nor-emmc nor-nand-4-256 sdcard" +# Set by default this variable to 0, and set to 1 only when we are using st-example-image-* +ST_EXAMPLE_IMAGE ??= "0" + +# Remove NAND flashlayout when we are using st-example-image-* as rootfs too big for a NAND device size of 1 GBytes +#FLASHLAYOUT_CONFIG_LABELS_remove = "${@bb.utils.contains('ST_EXAMPLE_IMAGE', '1', 'emmc', '', d)}" +FLASHLAYOUT_CONFIG_LABELS_remove = "${@bb.utils.contains('ST_EXAMPLE_IMAGE', '1', 'nand-4-256', '', d)}" +#FLASHLAYOUT_CONFIG_LABELS_remove = "${@bb.utils.contains('ST_EXAMPLE_IMAGE', '1', 'nor-sdcard', '', d)}" +#FLASHLAYOUT_CONFIG_LABELS_remove = "${@bb.utils.contains('ST_EXAMPLE_IMAGE', '1', 'nor-emmc', '', d)}" +FLASHLAYOUT_CONFIG_LABELS_remove = "${@bb.utils.contains('ST_EXAMPLE_IMAGE', '1', 'nor-nand-4-256', '', d)}" +#FLASHLAYOUT_CONFIG_LABELS_remove = "${@bb.utils.contains('ST_EXAMPLE_IMAGE', '1', 'sdcard', '', d)}" + # ----------------------------------------------------------------------------- # Define label types # ----------------------------------------------------------------------------- @@ -96,26 +107,42 @@ FLASHLAYOUT_TYPE_LABELS_sdcard = "${STM32MP_DT_FILES_DK} ${STM32MP_DT_FILES_ED} # 4) list # 5) Default 'list' to 'none' when not defined # ----------------------------------------------------------------------------- -FLASHLAYOUT_PARTITION_LABELS_basic_emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl" +VENDORFS_PART = "${@bb.utils.contains('ST_VENDORFS','1','vendorfs','',d)}" + +FLASHLAYOUT_PARTITION_LABELS_basic_emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl bootfs ${VENDORFS_PART} rootfs userfs" FLASHLAYOUT_PARTITION_LABELS_basic_nand-4-256 = "none" -FLASHLAYOUT_PARTITION_LABELS_basic_nor-nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty" -FLASHLAYOUT_PARTITION_LABELS_basic_nor-emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty" -FLASHLAYOUT_PARTITION_LABELS_basic_nor-sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty bootfs vendorfs rootfs userfs" -FLASHLAYOUT_PARTITION_LABELS_basic_sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl bootfs vendorfs rootfs userfs" +FLASHLAYOUT_PARTITION_LABELS_basic_nor-nand-4-256 = "none" +FLASHLAYOUT_PARTITION_LABELS_basic_nor-emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl env empty bootfs ${VENDORFS_PART} rootfs userfs" +FLASHLAYOUT_PARTITION_LABELS_basic_nor-sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl env empty bootfs ${VENDORFS_PART} rootfs userfs" +FLASHLAYOUT_PARTITION_LABELS_basic_sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl bootfs ${VENDORFS_PART} rootfs userfs" -FLASHLAYOUT_PARTITION_LABELS_optee_emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl teeh teed teex bootfs vendorfs rootfs userfs" +FLASHLAYOUT_PARTITION_LABELS_optee_emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl teeh teed teex bootfs ${VENDORFS_PART} rootfs userfs" FLASHLAYOUT_PARTITION_LABELS_optee_nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 ssbl ssbl2 teeh teed teex ubifs" -FLASHLAYOUT_PARTITION_LABELS_optee_nor-nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo teeh teed teex empty empty2 empty3 empty4 ubifs" -FLASHLAYOUT_PARTITION_LABELS_optee_nor-emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo teeh teed teex empty bootfs vendorfs rootfs userfs" -FLASHLAYOUT_PARTITION_LABELS_optee_nor-sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo teeh teed teex empty bootfs vendorfs rootfs userfs" -FLASHLAYOUT_PARTITION_LABELS_optee_sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl teeh teed teex bootfs vendorfs rootfs userfs" +FLASHLAYOUT_PARTITION_LABELS_optee_nor-nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl env teeh teed teex empty emptyfsbl1 emptyssbl emptyssbl2 emptyteeh emptyteed emptyteex ubifs" +FLASHLAYOUT_PARTITION_LABELS_optee_nor-emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl env teeh teed teex empty bootfs ${VENDORFS_PART} rootfs userfs" +FLASHLAYOUT_PARTITION_LABELS_optee_nor-sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl env teeh teed teex empty bootfs ${VENDORFS_PART} rootfs userfs" +FLASHLAYOUT_PARTITION_LABELS_optee_sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl teeh teed teex bootfs ${VENDORFS_PART} rootfs userfs" -FLASHLAYOUT_PARTITION_LABELS_trusted_emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl bootfs vendorfs rootfs userfs" +FLASHLAYOUT_PARTITION_LABELS_trusted_emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl bootfs ${VENDORFS_PART} rootfs userfs" FLASHLAYOUT_PARTITION_LABELS_trusted_nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 ssbl ssbl2 ubifs" -FLASHLAYOUT_PARTITION_LABELS_trusted_nor-nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty empty2 empty3 empty4 ubifs" -FLASHLAYOUT_PARTITION_LABELS_trusted_nor-emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty bootfs vendorfs rootfs userfs" -FLASHLAYOUT_PARTITION_LABELS_trusted_nor-sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl logo empty bootfs vendorfs rootfs userfs" -FLASHLAYOUT_PARTITION_LABELS_trusted_sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl bootfs vendorfs rootfs userfs" +FLASHLAYOUT_PARTITION_LABELS_trusted_nor-nand-4-256 = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl env empty emptyfsbl1 emptyssbl emptyssbl2 ubifs" +FLASHLAYOUT_PARTITION_LABELS_trusted_nor-emmc = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl env empty bootfs ${VENDORFS_PART} rootfs userfs" +FLASHLAYOUT_PARTITION_LABELS_trusted_nor-sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl env empty bootfs ${VENDORFS_PART} rootfs userfs" +FLASHLAYOUT_PARTITION_LABELS_trusted_sdcard = "fsbl1-boot ssbl-boot fsbl1 fsbl2 ssbl bootfs ${VENDORFS_PART} rootfs userfs" + +# To manage properly dynamic boot for NOR use case, our 'boot.src' script scans +# one after one the devices to find out expected binaries from bootfs partition. +# Currently the order followed by the script is: + +# So proposal here is to make sure to erase device we do not want to use to boot +# for NOR-* boot configuration +FLASHLAYOUT_PARTITION_LABELS_basic_nor-emmc += "nandall sdcardall" + +FLASHLAYOUT_PARTITION_LABELS_optee_nor-nand-4-256 += "sdcardall" +FLASHLAYOUT_PARTITION_LABELS_optee_nor-emmc += "nandall sdcardall" + +FLASHLAYOUT_PARTITION_LABELS_trusted_nor-nand-4-256 += "sdcardall" +FLASHLAYOUT_PARTITION_LABELS_trusted_nor-emmc += "nandall sdcardall" # ----------------------------------------------------------------------------- # Partition configuration for each partition label @@ -130,14 +157,17 @@ FLASHLAYOUT_PARTITION_LABELS_trusted_sdcard = "fsbl1-boot ssbl-boot fsbl # 8) item # 9) Default 'item' to 'none' when not defined # ----------------------------------------------------------------------------- -FLASHLAYOUT_PARTITION_ENABLE = "P" -FLASHLAYOUT_PARTITION_ENABLE_fsbl1-boot = "-" -FLASHLAYOUT_PARTITION_ENABLE_ssbl-boot = "-" -FLASHLAYOUT_PARTITION_ENABLE_empty = "PE" -FLASHLAYOUT_PARTITION_ENABLE_empty2 = "PE" -FLASHLAYOUT_PARTITION_ENABLE_empty3 = "PE" -FLASHLAYOUT_PARTITION_ENABLE_empty4 = "PE" -FLASHLAYOUT_PARTITION_ENABLE_logo = "PE" +FLASHLAYOUT_PARTITION_ENABLE = "P" +FLASHLAYOUT_PARTITION_ENABLE_fsbl1-boot = "-" +FLASHLAYOUT_PARTITION_ENABLE_ssbl-boot = "-" +FLASHLAYOUT_PARTITION_ENABLE_empty = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyfsbl1 = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyssbl = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyssbl2 = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyteeh = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyteed = "PE" +FLASHLAYOUT_PARTITION_ENABLE_emptyteex = "PE" +FLASHLAYOUT_PARTITION_ENABLE_env = "PED" # ----------------------------------------------------------------------------- # Partition ID @@ -153,25 +183,28 @@ FLASHLAYOUT_PARTITION_ENABLE_logo = "PE" # there are two reserved IDs # 0x01 for FSBL # 0x03 for SSBL -FLASHLAYOUT_PARTITION_ID_fsbl1-boot = "0x01" -FLASHLAYOUT_PARTITION_ID_ssbl-boot = "0x03" -FLASHLAYOUT_PARTITION_ID_fsbl1 = "0x04" -FLASHLAYOUT_PARTITION_ID_fsbl2 = "0x05" -FLASHLAYOUT_PARTITION_ID_ssbl = "0x06" -FLASHLAYOUT_PARTITION_ID_ssbl2 = "0x07" -FLASHLAYOUT_PARTITION_ID_teeh = "0x0A" -FLASHLAYOUT_PARTITION_ID_teed = "0x0B" -FLASHLAYOUT_PARTITION_ID_teex = "0x0C" -FLASHLAYOUT_PARTITION_ID_empty = "0x10" -FLASHLAYOUT_PARTITION_ID_empty2 = "0x11" -FLASHLAYOUT_PARTITION_ID_empty3 = "0x12" -FLASHLAYOUT_PARTITION_ID_empty4 = "0x13" -FLASHLAYOUT_PARTITION_ID_logo = "0x20" -FLASHLAYOUT_PARTITION_ID_ubifs = "0x21" -FLASHLAYOUT_PARTITION_ID_bootfs = "0x21" -FLASHLAYOUT_PARTITION_ID_vendorfs = "0x22" -FLASHLAYOUT_PARTITION_ID_rootfs = "0x23" -FLASHLAYOUT_PARTITION_ID_userfs = "0x24" +FLASHLAYOUT_PARTITION_ID_fsbl1-boot = "0x01" +FLASHLAYOUT_PARTITION_ID_ssbl-boot = "0x03" +FLASHLAYOUT_PARTITION_ID_fsbl1 = "0x04" +FLASHLAYOUT_PARTITION_ID_fsbl2 = "0x05" +FLASHLAYOUT_PARTITION_ID_ssbl = "0x06" +FLASHLAYOUT_PARTITION_ID_ssbl2 = "0x07" +FLASHLAYOUT_PARTITION_ID_teeh = "0x0A" +FLASHLAYOUT_PARTITION_ID_teed = "0x0B" +FLASHLAYOUT_PARTITION_ID_teex = "0x0C" +FLASHLAYOUT_PARTITION_ID_empty = "0x10" +FLASHLAYOUT_PARTITION_ID_emptyfsbl1 = "0x11" +FLASHLAYOUT_PARTITION_ID_emptyssbl = "0x12" +FLASHLAYOUT_PARTITION_ID_emptyssbl2 = "0x13" +FLASHLAYOUT_PARTITION_ID_emptyteeh = "0x14" +FLASHLAYOUT_PARTITION_ID_emptyteed = "0x15" +FLASHLAYOUT_PARTITION_ID_emptyteex = "0x16" +FLASHLAYOUT_PARTITION_ID_env = "0x20" +FLASHLAYOUT_PARTITION_ID_ubifs = "0x21" +FLASHLAYOUT_PARTITION_ID_bootfs = "0x21" +FLASHLAYOUT_PARTITION_ID_vendorfs = "0x22" +FLASHLAYOUT_PARTITION_ID_rootfs = "0x23" +FLASHLAYOUT_PARTITION_ID_userfs = "0x24" FLASHLAYOUT_PARTITION_TYPE = "Binary" FLASHLAYOUT_PARTITION_TYPE_nand-4-256_fsbl1 = "Binary(2)" @@ -189,11 +222,14 @@ FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_bootfs = "${DEVICE_EMMC}" FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_vendorfs = "${DEVICE_EMMC}" FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_rootfs = "${DEVICE_EMMC}" FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_userfs = "${DEVICE_EMMC}" -FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256 = "${DEVICE_NOR}" -FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_empty2 = "${DEVICE_NAND}" -FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_empty3 = "${DEVICE_NAND}" -FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_empty4 = "${DEVICE_NAND}" -FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_ubifs = "${DEVICE_NAND}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256 = "${DEVICE_NOR}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_emptyfsbl1 = "${DEVICE_NAND}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_emptyssbl = "${DEVICE_NAND}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_emptyssbl2 = "${DEVICE_NAND}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_emptyteeh = "${DEVICE_NAND}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_emptyteed = "${DEVICE_NAND}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_emptyteex = "${DEVICE_NAND}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_ubifs = "${DEVICE_NAND}" FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard = "${DEVICE_NOR}" FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard_bootfs = "${DEVICE_SDCARD}" FLASHLAYOUT_PARTITION_DEVICE_nor-sdcard_vendorfs = "${DEVICE_SDCARD}" @@ -208,6 +244,11 @@ FLASHLAYOUT_PARTITION_DEVICE_optee_ssbl-boot = "none" FLASHLAYOUT_PARTITION_DEVICE_trusted_fsbl1-boot = "none" FLASHLAYOUT_PARTITION_DEVICE_trusted_ssbl-boot = "none" +# To manage NOR-* boot partition erase +FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_nandall = "${DEVICE_NAND}" +FLASHLAYOUT_PARTITION_DEVICE_nor-emmc_sdcardall = "${DEVICE_SDCARD}" +FLASHLAYOUT_PARTITION_DEVICE_nor-nand-4-256_sdcardall = "${DEVICE_SDCARD}" + FLASHLAYOUT_PARTITION_OFFSET_fsbl1-boot = "0x0" FLASHLAYOUT_PARTITION_OFFSET_ssbl-boot = "0x0" FLASHLAYOUT_PARTITION_OFFSET_emmc_fsbl1 = "boot1" @@ -218,33 +259,39 @@ FLASHLAYOUT_PARTITION_OFFSET_nor-sdcard_fsbl1 = "${DEVICE_START_OFFSET_nor0}" FLASHLAYOUT_PARTITION_OFFSET_nor-sdcard_bootfs = "${DEVICE_START_OFFSET_mmc0}" FLASHLAYOUT_PARTITION_OFFSET_nor-emmc_fsbl1 = "${DEVICE_START_OFFSET_nor0}" FLASHLAYOUT_PARTITION_OFFSET_nor-emmc_bootfs = "${DEVICE_START_OFFSET_mmc1}" -FLASHLAYOUT_PARTITION_OFFSET_nor-nand-4-256_fsbl1 = "${DEVICE_START_OFFSET_nor0}" -FLASHLAYOUT_PARTITION_OFFSET_nor-nand-4-256_empty2 = "${DEVICE_START_OFFSET_nand0}" +FLASHLAYOUT_PARTITION_OFFSET_nor-nand-4-256_fsbl1 = "${DEVICE_START_OFFSET_nor0}" +FLASHLAYOUT_PARTITION_OFFSET_nor-nand-4-256_emptyfsbl1 = "${DEVICE_START_OFFSET_nand0}" FLASHLAYOUT_PARTITION_OFFSET_sdcard_fsbl1 = "${DEVICE_START_OFFSET_mmc0}" +# To manage NOR-* boot partition erase +FLASHLAYOUT_PARTITION_OFFSET_nandall = "0x0" +FLASHLAYOUT_PARTITION_OFFSET_sdcardall = "0x0" + # Size defined in Kbytes FLASHLAYOUT_PARTITION_SIZE_fsbl1 = "256" FLASHLAYOUT_PARTITION_SIZE_nand-4-256_fsbl1 = "2048" FLASHLAYOUT_PARTITION_SIZE_fsbl2 = "256" FLASHLAYOUT_PARTITION_SIZE_ssbl = "2048" FLASHLAYOUT_PARTITION_SIZE_ssbl2 = "2048" -FLASHLAYOUT_PARTITION_SIZE_logo = "256" +FLASHLAYOUT_PARTITION_SIZE_env = "256" FLASHLAYOUT_PARTITION_SIZE_teeh = "256" FLASHLAYOUT_PARTITION_SIZE_teed = "256" FLASHLAYOUT_PARTITION_SIZE_teex = "256" -FLASHLAYOUT_PARTITION_SIZE_empty = "0" -FLASHLAYOUT_PARTITION_SIZE_empty2 = "${FLASHLAYOUT_PARTITION_SIZE_nand-4-256_fsbl1}" -FLASHLAYOUT_PARTITION_SIZE_empty3 = "${FLASHLAYOUT_PARTITION_SIZE_ssbl}" -FLASHLAYOUT_PARTITION_SIZE_empty4 = "${FLASHLAYOUT_PARTITION_SIZE_ssbl2}" # Specific override for partition size as the configuration should follow # the U-Boot source code where these partition sizes are hard coded FLASHLAYOUT_PARTITION_SIZE_nand-4-256_teeh = "512" FLASHLAYOUT_PARTITION_SIZE_nand-4-256_teed = "512" FLASHLAYOUT_PARTITION_SIZE_nand-4-256_teex = "512" - +FLASHLAYOUT_PARTITION_SIZE_empty = "0" +FLASHLAYOUT_PARTITION_SIZE_emptyfsbl1 = "${FLASHLAYOUT_PARTITION_SIZE_nand-4-256_fsbl1}" +FLASHLAYOUT_PARTITION_SIZE_emptyssbl = "${FLASHLAYOUT_PARTITION_SIZE_ssbl}" +FLASHLAYOUT_PARTITION_SIZE_emptyssbl2 = "${FLASHLAYOUT_PARTITION_SIZE_ssbl2}" +FLASHLAYOUT_PARTITION_SIZE_emptyteeh = "${FLASHLAYOUT_PARTITION_SIZE_nand-4-256_teeh}" +FLASHLAYOUT_PARTITION_SIZE_emptyteed = "${FLASHLAYOUT_PARTITION_SIZE_nand-4-256_teed}" +FLASHLAYOUT_PARTITION_SIZE_emptyteex = "${FLASHLAYOUT_PARTITION_SIZE_nand-4-256_teex}" FLASHLAYOUT_PARTITION_SIZE_bootfs = "${BOOTFS_PARTITION_SIZE}" FLASHLAYOUT_PARTITION_SIZE_vendorfs = "${VENDORFS_PARTITION_SIZE}" -FLASHLAYOUT_PARTITION_SIZE_rootfs = "${ROOTFS_PARTITION_SIZE}" +FLASHLAYOUT_PARTITION_SIZE_rootfs = "${IMAGE_ROOTFS_MAXSIZE}" FLASHLAYOUT_PARTITION_SIZE_ubifs = "none" FLASHLAYOUT_PARTITION_SIZE_userfs = "${USERFS_PARTITION_SIZE}" @@ -261,7 +308,7 @@ FLASHLAYOUT_PARTITION_BIN2LOAD_ssbl2 = "u-boot.stm32" FLASHLAYOUT_PARTITION_BIN2LOAD_teeh = "tee-header_v2.stm32" FLASHLAYOUT_PARTITION_BIN2LOAD_teed = "tee-pageable_v2.stm32" FLASHLAYOUT_PARTITION_BIN2LOAD_teex = "tee-pager_v2.stm32" -FLASHLAYOUT_PARTITION_BIN2LOAD_logo = "none" +FLASHLAYOUT_PARTITION_BIN2LOAD_env = "none" FLASHLAYOUT_PARTITION_BIN2LOAD_ubifs = "${IMAGE_LINK_NAME}_nand_4_256_multivolume.ubi" FLASHLAYOUT_PARTITION_BIN2LOAD_bootfs = "${STM32MP_BOOTFS_IMAGE}-${DISTRO}-${MACHINE}.ext4" FLASHLAYOUT_PARTITION_BIN2LOAD_vendorfs = "${STM32MP_VENDORFS_IMAGE}-${DISTRO}-${MACHINE}.ext4" diff --git a/conf/machine/stm32mp1-disco.conf b/conf/machine/stm32mp1-disco.conf index ec5c546..a81117a 100644 --- a/conf/machine/stm32mp1-disco.conf +++ b/conf/machine/stm32mp1-disco.conf @@ -77,5 +77,21 @@ M4_BOARDS = "STM32MP157C-DK2" # extlinux configuration # ========================================================================= # As example, modify the default boot config for each target to M4 config -UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-dk2_sdcard = "stm32mp157c-dk2-m4-examples-sdcard" -UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-dk2_sdcard-optee = "stm32mp157c-dk2-m4-examples-sdcard-optee" +#UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-dk2_sdcard = "stm32mp157c-dk2-m4-examples-sdcard" +#UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-dk2_sdcard-optee = "stm32mp157c-dk2-m4-examples-sdcard-optee" + +# ========================================================================= +# WIC for sdcard raw image +# ========================================================================= +WIC_CREATE_EXTRA_ARGS = "--no-fstab-update" +WKS_FILE_DEPENDS ?= " \ + u-boot-stm32mp \ + tf-a-stm32mp \ + ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee-os-stm32mp', '', d)} \ + st-image-bootfs \ + st-image-vendorfs \ + st-image-userfs \ +" +# for generated a WIC file, please uncomment the 2 following lines +#IMAGE_FSTYPES += "wic" +#WKS_FILE += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'sdcard-stm32mp157c-dk2-optee-1GB.wks', 'sdcard-stm32mp157c-dk2-trusted-1GB.wks', d)}" diff --git a/conf/machine/stm32mp1-eval.conf b/conf/machine/stm32mp1-eval.conf index 2cd8e93..4b283cd 100644 --- a/conf/machine/stm32mp1-eval.conf +++ b/conf/machine/stm32mp1-eval.conf @@ -77,5 +77,23 @@ M4_BOARDS = "STM32MP157C-EV1" # extlinux configuration # ========================================================================= # As example, modify the default boot config for each target to M4 config -UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_sdcard = "stm32mp157c-ev1-m4-examples-sdcard" -UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_sdcard-optee = "stm32mp157c-ev1-m4-examples-sdcard-optee" +#UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_sdcard = "stm32mp157c-ev1-m4-examples-sdcard" +#UBOOT_EXTLINUX_DEFAULT_LABEL_mp157c-ev1_sdcard-optee = "stm32mp157c-ev1-m4-examples-sdcard-optee" + +# ========================================================================= +# WIC for sdcard raw image +# ========================================================================= +WIC_CREATE_EXTRA_ARGS = "--no-fstab-update" +WKS_FILE_DEPENDS ?= " \ + u-boot-stm32mp \ + tf-a-stm32mp \ + ${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'optee-os-stm32mp', '', d)} \ + st-image-bootfs \ + st-image-vendorfs \ + st-image-userfs \ +" +# for generated a WIC file, please uncomment the 2 following lines +#IMAGE_FSTYPES += "wic" +#WKS_FILE += "${@bb.utils.contains('BOOTSCHEME_LABELS', 'optee', 'sdcard-stm32mp157c-ev1-optee-1GB.wks', 'sdcard-stm32mp157c-ev1-trusted-1GB.wks', d)}" + +