mirror of
https://git.yoctoproject.org/poky
synced 2026-04-17 09:32:12 +02:00
image_types.bbclass: fix a race between the ubi and ubifs FSTYPES
The ubi, ubifs and multiubi FSTYPES calls `mkfs.ubifs' to create UBIFS
images.
In do_image_ubi, $vname is empty, the name of UBIFS image conflicts with
the one in do_image_ubifs, and it's a race risk.
[do_image_ubi]
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args}
[do_image_ubi]
[do_image_ubifs]
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ubifs ${MKUBIFS_ARGS}
[do_image_ubifs]
In do_image_multiubi, $vname is not empty, the UBIFS image name does
not conflict with others.
So do not call mkfs.ubifs in do_image_ubi and depend on do_image_ubifs
to create UBIFS images.
The fix does not affect do_image_multiubi which still call mkfs.ubifs to
create multiple UBIFS images and symlinks.
[YOCTO #13272]
(From OE-Core rev: 5e900f2c9319843c8905713dd3dd12a1ad435976)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
cd7114274d
commit
dfc74324c9
@@ -171,7 +171,9 @@ multiubi_mkfs() {
|
||||
echo vol_type=dynamic >> ubinize${vname}-${IMAGE_NAME}.cfg
|
||||
echo vol_name=${UBI_VOLNAME} >> ubinize${vname}-${IMAGE_NAME}.cfg
|
||||
echo vol_flags=autoresize >> ubinize${vname}-${IMAGE_NAME}.cfg
|
||||
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args}
|
||||
if [ -n "$vname" ]; then
|
||||
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args}
|
||||
fi
|
||||
ubinize -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubi ${ubinize_args} ubinize${vname}-${IMAGE_NAME}.cfg
|
||||
|
||||
# Cleanup cfg file
|
||||
@@ -205,6 +207,7 @@ IMAGE_CMD_multiubi () {
|
||||
IMAGE_CMD_ubi () {
|
||||
multiubi_mkfs "${MKUBIFS_ARGS}" "${UBINIZE_ARGS}"
|
||||
}
|
||||
IMAGE_TYPEDEP_ubi = "ubifs"
|
||||
|
||||
IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ubifs ${MKUBIFS_ARGS}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user