meta-st-stm32mp/recipes-st/images/st-image-partitions.inc

68 lines
2.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

inherit core-image
# Disable flashlayout generation for the partition image as this is supposed
# to be done only for complete image
ENABLE_FLASHLAYOUT_CONFIG = "0"
# Disable image license summary generation for the partition image as this is
# supposed to be done only for complete image
ENABLE_IMAGE_LICENSE_SUMMARY = "0"
# Remove WIC image generation for the partition image
IMAGE_FSTYPES_remove = "${WKS_IMAGE_FSTYPES}"
# Append DISTRO to image name even if we're not using ST distro setting
# Mandatory to ease flashlayout file configuration
IMAGE_BASENAME_append = "${@'' if 'openstlinuxcommon' in OVERRIDES.split(':') else '-${DISTRO}'}"
# Reset image feature
IMAGE_FEATURE = ""
# Reset PACKAGE_INSTALL to avoid getting installed packages added in machine through IMAGE_INSTALL_append:
PACKAGE_INSTALL = ""
# Reset LINGUAS_INSTALL to avoid getting installed any locale-base package
LINGUAS_INSTALL = ""
IMAGE_LINGUAS = ""
# Reset LDCONFIG to avoid runing ldconfig on image.
LDCONFIGDEPEND = ""
# Remove from IMAGE_PREPROCESS_COMMAND useless buildinfo
IMAGE_PREPROCESS_COMMAND_remove = "buildinfo;"
# Remove from IMAGE_PREPROCESS_COMMAND the prelink_image as it could be run after
# we clean rootfs folder leading to cp error if '/etc/' folder is missing:
# cp: cannot create regular file
# /local/YOCTO/build/tmp-glibc/work/stm32mp1-openstlinux_weston-linux-gnueabi/st-image-userfs/1.0-r0/rootfs/etc/prelink.conf:
# No such file or directory
IMAGE_PREPROCESS_COMMAND_remove = "prelink_image;"
IMAGE_PREPROCESS_COMMAND_append = "reformat_rootfs;"
# Cleanup rootfs newly created
reformat_rootfs() {
if [ -d ${IMAGE_ROOTFS}${IMAGE_PARTITION_MOUNTPOINT} ]; then
bbnote "Mountpoint ${IMAGE_PARTITION_MOUNTPOINT} found in ${IMAGE_ROOTFS}"
bbnote ">>> Remove all files and folder except ${IMAGE_PARTITION_MOUNTPOINT}"
TARGETROOTFS=${IMAGE_ROOTFS}${IMAGE_PARTITION_MOUNTPOINT}
while [ "${TARGETROOTFS}" != "${IMAGE_ROOTFS}" ]
do
find $(dirname ${TARGETROOTFS})/ -mindepth 1 ! -regex "^${TARGETROOTFS}\(/.*\)?" -delete
TARGETROOTFS=$(dirname ${TARGETROOTFS})
done
bbnote ">>> Move ${IMAGE_PARTITION_MOUNTPOINT} contents to ${IMAGE_ROOTFS}"
mv ${IMAGE_ROOTFS}${IMAGE_PARTITION_MOUNTPOINT}/* ${IMAGE_ROOTFS}/
bbnote ">>> Remove remaining ${IMAGE_PARTITION_MOUNTPOINT} folder"
# Remove empty boot folder
TARGETROOTFS=${IMAGE_ROOTFS}${IMAGE_PARTITION_MOUNTPOINT}
while [ "${TARGETROOTFS}" != "${IMAGE_ROOTFS}" ]
do
bbnote ">>> Delete ${TARGETROOTFS}"
rm -rf ${TARGETROOTFS}/
TARGETROOTFS=$(dirname ${TARGETROOTFS})
done
else
bbnote "${IMAGE_PARTITION_MOUNTPOINT} folder not available in rootfs folder, no reformat done..."
fi
}