summaryrefslogtreecommitdiff
path: root/meta/classes/bootimg.bbclass
diff options
context:
space:
mode:
authorRicardo Neri <ricardo.neri-calderon@linux.intel.com>2015-07-15 16:56:59 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-22 23:25:01 +0100
commita0d4511d358d427e5271420a74c26cc862c5ed74 (patch)
tree28b296477779410e207eabf64b99930535537f22 /meta/classes/bootimg.bbclass
parent72192d55cc6b213b6304dc805566c60a78d96b02 (diff)
downloadopenembedded-core-a0d4511d358d427e5271420a74c26cc862c5ed74.tar.gz
openembedded-core-a0d4511d358d427e5271420a74c26cc862c5ed74.tar.bz2
openembedded-core-a0d4511d358d427e5271420a74c26cc862c5ed74.zip
bootimg: remove previous FATIMG before creating a new one
Since version 3.0.0 of dosfstools, mkdosfs opens the to-be-filesystem file with O_EXCL. Since the filesystem is also opened with O_CREAT, the -C option of mkdosfs can only succeed if FATIMG does not exists. Thus, delete any previous FATIMG file. The file can be safely deleted as we are inside build_fat_img because we want to create an new FATIMG. Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/bootimg.bbclass')
-rw-r--r--meta/classes/bootimg.bbclass6
1 files changed, 6 insertions, 0 deletions
diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
index dbbf046d3a..ebc927edc7 100644
--- a/meta/classes/bootimg.bbclass
+++ b/meta/classes/bootimg.bbclass
@@ -227,6 +227,12 @@ build_fat_img() {
FATSIZE="-F 32"
fi
+ # mkdosfs will fail if ${FATIMG} exists. Since we are creating an
+ # new image, it is safe to delete any previous image.
+ if [ -e ${FATIMG} ]; then
+ rm ${FATIMG}
+ fi
+
if [ -z "${HDDIMG_ID}" ]; then
mkdosfs ${FATSIZE} -n ${BOOTIMG_VOLUME_ID} -S 512 -C ${FATIMG} \
${BLOCKS}