meta-digi-arm: fix code to generate JFFS2 and UBIFS images
It was broken after the upgrade to Yocto 1.6 because the framework to generate images in Yocto 1.6 changed. https://jira.digi.com/browse/DEL-1032 Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit is contained in:
parent
fa215a27b8
commit
be88589716
|
|
@ -20,24 +20,39 @@ def next_power_of_2(n):
|
||||||
i <<= 1
|
i <<= 1
|
||||||
return i
|
return i
|
||||||
|
|
||||||
|
# Return TRUE if jffs2 is not in IMAGE_FSTYPES
|
||||||
|
JFFS2_NOT_IN_FSTYPES = "${@jffs2_not_in_fstypes(d)}"
|
||||||
|
def jffs2_not_in_fstypes(d):
|
||||||
|
return str('jffs2' not in d.getVar('IMAGE_FSTYPES', True).split()).lower()
|
||||||
|
|
||||||
IMAGE_CMD_jffs2() {
|
IMAGE_CMD_jffs2() {
|
||||||
nimg="$(echo ${FLASH_PEB} | awk -F, '{print NF}')"
|
nimg="$(echo ${FLASH_PEB} | awk -F, '{print NF}')"
|
||||||
for i in $(seq 1 ${nimg}); do
|
for i in $(seq 1 ${nimg}); do
|
||||||
peb_it="$(echo ${FLASH_PEB} | cut -d',' -f${i})"
|
peb_it="$(echo ${FLASH_PEB} | cut -d',' -f${i})"
|
||||||
# Do not use '-p (padding)' option. It breaks 'ccardimx28js' flash images [JIRA:DEL-218]
|
# Do not use '-p (padding)' option. It breaks 'ccardimx28js' flash images [JIRA:DEL-218]
|
||||||
mkfs.jffs2 -n -e ${peb_it} -d ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.${peb_it}.rootfs.jffs2
|
mkfs.jffs2 -n -e ${peb_it} -d ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.${peb_it}.rootfs.jffs2
|
||||||
|
ln -sf ${IMAGE_NAME}.${peb_it}.rootfs.jffs2 ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.${peb_it}.jffs2
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
IMAGE_CMD_sum.jffs2() {
|
# The CWD for this set of commads is DEPLOY_DIR_IMAGE so the paths are relative to it.
|
||||||
nimg="$(echo ${FLASH_PEB} | awk -F, '{print NF}')"
|
COMPRESS_CMD_sum() {
|
||||||
|
# 'nimg' is set in IMAGE_CMD_jffs2 (which is executed just before)
|
||||||
for i in $(seq 1 ${nimg}); do
|
for i in $(seq 1 ${nimg}); do
|
||||||
peb_it="$(echo ${FLASH_PEB} | cut -d',' -f${i})"
|
peb_it="$(echo ${FLASH_PEB} | cut -d',' -f${i})"
|
||||||
# Do not use '-p (padding)' option. It breaks 'ccardimx28js' flash images [JIRA:DEL-218]
|
sumtool -e ${peb_it} -i ${IMAGE_NAME}.${peb_it}.rootfs.jffs2 -o ${IMAGE_NAME}.${peb_it}.rootfs.jffs2.sum
|
||||||
mkfs.jffs2 -n -e ${peb_it} -d ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.${peb_it}.rootfs.jffs2
|
ln -sf ${IMAGE_NAME}.${peb_it}.rootfs.jffs2.sum ${IMAGE_LINK_NAME}.${peb_it}.jffs2.sum
|
||||||
sumtool -e ${peb_it} -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.${peb_it}.rootfs.jffs2 -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.${peb_it}.rootfs.sum.jffs2
|
|
||||||
rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.${peb_it}.rootfs.jffs2
|
# If 'jffs2' is not in IMAGE_FSTYPES remove the images and symlinks
|
||||||
|
if ${JFFS2_NOT_IN_FSTYPES}; then
|
||||||
|
rm -f ${IMAGE_NAME}.${peb_it}.rootfs.jffs2 ${IMAGE_LINK_NAME}.${peb_it}.jffs2
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Create dummy file so the final script can remove it and not fail
|
||||||
|
if ${JFFS2_NOT_IN_FSTYPES}; then
|
||||||
|
touch ${IMAGE_NAME}.rootfs.jffs2
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
IMAGE_CMD_ubifs() {
|
IMAGE_CMD_ubifs() {
|
||||||
|
|
@ -48,35 +63,10 @@ IMAGE_CMD_ubifs() {
|
||||||
leb_it="$(echo ${FLASH_LEB} | cut -d',' -f${i})"
|
leb_it="$(echo ${FLASH_LEB} | cut -d',' -f${i})"
|
||||||
mio_it="$(echo ${FLASH_MIO} | cut -d',' -f${i})"
|
mio_it="$(echo ${FLASH_MIO} | cut -d',' -f${i})"
|
||||||
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.${peb_it}.rootfs.ubifs -m ${mio_it} -e ${leb_it} -c ${mlc_it}
|
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.${peb_it}.rootfs.ubifs -m ${mio_it} -e ${leb_it} -c ${mlc_it}
|
||||||
|
ln -sf ${IMAGE_NAME}.${peb_it}.rootfs.ubifs ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.${peb_it}.ubifs
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
|
||||||
# A copy of the original function in 'image_types.bbclass', just overriding the
|
|
||||||
# part of the symlinks generation so we can create more than one symlink (one per
|
|
||||||
# JFFS2 image)
|
|
||||||
#
|
|
||||||
runimagecmd_jffs2() {
|
|
||||||
ROOTFS_SIZE=`du -ks ${IMAGE_ROOTFS} | awk '{base_size = $1 * ${IMAGE_OVERHEAD_FACTOR}; base_size = ((base_size > ${IMAGE_ROOTFS_SIZE} ? base_size : ${IMAGE_ROOTFS_SIZE}) + ${IMAGE_ROOTFS_EXTRA_SPACE}); if (base_size != int(base_size)) base_size = int(base_size + 1); base_size = base_size + ${IMAGE_ROOTFS_ALIGNMENT} - 1; base_size -= base_size % ${IMAGE_ROOTFS_ALIGNMENT}; print base_size }'`
|
|
||||||
${cmd}
|
|
||||||
|
|
||||||
# And create the symlinks
|
|
||||||
#
|
|
||||||
# The previous $\{cmd} expands to IMAGE_CMD_jffs2 so we have all the
|
|
||||||
# needed variables available (nimg, pebX, etc)
|
|
||||||
if [ -n "${IMAGE_LINK_NAME}" ]; then
|
|
||||||
for type in ${subimages}; do
|
|
||||||
for i in $(seq 1 ${nimg}); do
|
|
||||||
peb_it="$(echo ${FLASH_PEB} | cut -d',' -f${i})"
|
|
||||||
ln -sf ${IMAGE_NAME}.${peb_it}.rootfs.$type ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.${peb_it}.$type
|
|
||||||
done
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
runimagecmd_sum.jffs2 = "${runimagecmd_jffs2}"
|
|
||||||
runimagecmd_ubifs = "${runimagecmd_jffs2}"
|
|
||||||
|
|
||||||
IMAGE_CMD_boot.vfat() {
|
IMAGE_CMD_boot.vfat() {
|
||||||
#
|
#
|
||||||
# Image generation code for image type 'boot.vfat'
|
# Image generation code for image type 'boot.vfat'
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ PREFERRED_PROVIDER_virtual/libgles2_mx6 ?= "gpu-viv-bin-mx6q"
|
||||||
EXTRA_IMAGEDEPENDS = "u-boot"
|
EXTRA_IMAGEDEPENDS = "u-boot"
|
||||||
|
|
||||||
# Flash image types
|
# Flash image types
|
||||||
IMAGE_FSTYPES ?= "sum.jffs2 tar.bz2 ubifs"
|
IMAGE_FSTYPES ?= "jffs2.sum tar.bz2 ubifs"
|
||||||
|
|
||||||
# MX6 does not have flash memory so build sdcard images
|
# MX6 does not have flash memory so build sdcard images
|
||||||
SDCARD_ROOTFS_mx6 ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4"
|
SDCARD_ROOTFS_mx6 ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4"
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ MACHINE_EXTRA_RRECOMMENDS += "udev-extraconf"
|
||||||
EXTRA_IMAGEDEPENDS = "u-boot"
|
EXTRA_IMAGEDEPENDS = "u-boot"
|
||||||
|
|
||||||
# Flash image types
|
# Flash image types
|
||||||
IMAGE_FSTYPES ?= "sum.jffs2 tar.bz2 ubifs"
|
IMAGE_FSTYPES ?= "jffs2.sum tar.bz2 ubifs"
|
||||||
|
|
||||||
KERNEL_IMAGETYPE = "uImage"
|
KERNEL_IMAGETYPE = "uImage"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue