On 27 May 2016 at 11:08, Jussi Kukkonen <[email protected]> wrote: > New mkdosfs has changed the default sectors-per-track it sets on a > new image: This number is useless in our use case but mcopy has > sanity checks to make sure image size is an integral number of > sectors-per-track.
Just to be on the safe side: this patch should _not_ be applied without the dosfstools upgrade. - Jussi > Make sure our sector count is always divisible by sectors-per-track. > > Signed-off-by: Jussi Kukkonen <[email protected]> > --- > meta/classes/image-live.bbclass | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/meta/classes/image-live.bbclass b/meta/classes/image-live.bbclass > index ea6ced2..9b65753 100644 > --- a/meta/classes/image-live.bbclass > +++ b/meta/classes/image-live.bbclass > @@ -199,14 +199,15 @@ build_fat_img() { > FAT_SECTORS=$(expr $(expr $(expr $FAT_BYTES + 511) / 512) \* 2) > SECTORS=$(expr $SECTORS + $(expr $DIR_SECTORS + $FAT_SECTORS)) > > - # Determine the final size in blocks accounting for some padding > - BLOCKS=$(expr $(expr $SECTORS / 2) + ${BOOTIMG_EXTRA_SPACE}) > + # Determine the final size accounting for some padding > + SECTORS=$(expr $SECTORS + $(expr ${BOOTIMG_EXTRA_SPACE} \* 2)) > > # 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=$(expr $BLOCKS + $(expr 16 - $(expr $BLOCKS % 16))) > + # track or mcopy will complain. Sectors are 512 bytes, and current > + # mkdosfs generates images with 63 sectors per track. Use 2*63 > + # as the mod to ensure result is divisible by two. > + SECTORS=$(expr $SECTORS + $(expr 126 - $(expr $SECTORS % 126))) > + BLOCKS=$(expr $SECTORS / 2) > > # mkdosfs will sometimes use FAT16 when it is not appropriate, > # resulting in a boot failure from SYSLINUX. Use FAT32 for > -- > 2.1.4 > -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
