wic: fix vfat partition sector count only if needed

VFAT rootfs partitions sector count would get updated always even if
there is no need. Since parition size in wic is expressed in MB, any
sub MB change will cause the generated partition image to be larger
than allocated space within the disk image. Fortunately, partitions
sized in MB will most of the time have a proper sector count.

(From OE-Core rev: 99bee4cb489800d74dea4d2158ff834413685f04)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Maciej Borzecki 2014-09-22 13:35:15 +02:00 committed by Richard Purdie
parent 0b3f477616
commit 48ff3fa3a5
1 changed files with 5 additions and 3 deletions

View File

@ -318,9 +318,11 @@ class Wic_PartData(Mic_PartData):
# Ensure total sectors is an integral number of sectors per
# track or mcopy will complain. Sectors are 512 bytes, and we
# generate images with 32 sectors per track. This calculation is
# done in blocks, thus the mod by 16 instead of 32.
blocks += (16 - (blocks % 16))
# generate images with 32 sectors per track. This calculation
# is done in blocks, thus the mod by 16 instead of 32. Apply
# sector count fix only when needed.
if blocks % 16 != 0:
blocks += (16 - (blocks % 16))
dosfs_cmd = "mkdosfs -n boot -S 512 -C %s %d" % (rootfs, blocks)
exec_native_cmd(dosfs_cmd, native_sysroot)