diff options
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/bootimg.bbclass | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass index 17c329a142..b7ddf42427 100644 --- a/meta/classes/bootimg.bbclass +++ b/meta/classes/bootimg.bbclass | |||
@@ -163,8 +163,15 @@ build_hddimg() { | |||
163 | # done in blocks, thus the mod by 16 instead of 32. | 163 | # done in blocks, thus the mod by 16 instead of 32. |
164 | BLOCKS=$(expr $BLOCKS + $(expr 16 - $(expr $BLOCKS % 16))) | 164 | BLOCKS=$(expr $BLOCKS + $(expr 16 - $(expr $BLOCKS % 16))) |
165 | 165 | ||
166 | # mkdosfs will sometimes use FAT16 when it is not appropriate, | ||
167 | # resulting in a boot failure from SYSLINUX. Use FAT32 for | ||
168 | # images larger than 512MB, otherwise let mkdosfs decide. | ||
169 | if [ $(expr $BLOCKS / 1024) -gt 512 ]; then | ||
170 | FATSIZE="-F 32" | ||
171 | fi | ||
172 | |||
166 | IMG=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg | 173 | IMG=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg |
167 | mkdosfs -n ${BOOTIMG_VOLUME_ID} -S 512 -C ${IMG} ${BLOCKS} | 174 | mkdosfs ${FATSIZE} -n ${BOOTIMG_VOLUME_ID} -S 512 -C ${IMG} ${BLOCKS} |
168 | # Copy HDDDIR recursively into the image file directly | 175 | # Copy HDDDIR recursively into the image file directly |
169 | mcopy -i ${IMG} -s ${HDDDIR}/* ::/ | 176 | mcopy -i ${IMG} -s ${HDDDIR}/* ::/ |
170 | 177 | ||