mirror of
https://git.yoctoproject.org/poky
synced 2026-05-05 20:27:58 +02:00
bootimg.bbclass:iso: use mkisofs -iso-level 3 for large iso
There will be problems when rootfs.img is larger than 4GB:
mkisofs: Value too large for defined data type. File /path/to/iso/rootfs.img is too large for current mkisofs settings - ignoring
And will get a wrong iso.
Check the size of ${ISODIR}/rootfs.img, use mkisofs -iso-level 3
when it exceeds 3.8GB, the specification is 4G - 1 bytes, we need
leave a few space for other files.
[YOCTO #6449]
(From OE-Core rev: 40cdf918dc2507a1270a4d933b2c2f46a514d6e2)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
53ddebed1b
commit
b3c79c4d0f
@@ -136,19 +136,30 @@ build_iso() {
|
||||
mkisofs_compress_opts="-r"
|
||||
fi
|
||||
|
||||
# Check the size of ${ISODIR}/rootfs.img, use mkisofs -iso-level 3
|
||||
# when it exceeds 3.8GB, the specification is 4G - 1 bytes, we need
|
||||
# leave a few space for other files.
|
||||
mkisofs_iso_level=""
|
||||
rootfs_img_size=`stat -c '%s' ${ISODIR}/rootfs.img`
|
||||
# 4080218931 = 3.8 * 1024 * 1024 * 1024
|
||||
if [ $rootfs_img_size -gt 4080218931 ]; then
|
||||
bbnote "${ISODIR}/rootfs.img execeeds 3.8GB, using '-iso-level 3' for mkisofs"
|
||||
mkisofs_iso_level="-iso-level 3"
|
||||
fi
|
||||
|
||||
if [ "${PCBIOS}" = "1" ] && [ "${EFI}" != "1" ] ; then
|
||||
# PCBIOS only media
|
||||
mkisofs -V ${BOOTIMG_VOLUME_ID} \
|
||||
-o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.iso \
|
||||
-b ${ISO_BOOTIMG} -c ${ISO_BOOTCAT} \
|
||||
$mkisofs_compress_opts \
|
||||
${MKISOFS_OPTIONS} ${ISODIR}
|
||||
${MKISOFS_OPTIONS} $mkisofs_iso_level ${ISODIR}
|
||||
else
|
||||
# EFI only OR EFI+PCBIOS
|
||||
mkisofs -A ${BOOTIMG_VOLUME_ID} -V ${BOOTIMG_VOLUME_ID} \
|
||||
-o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.iso \
|
||||
-b ${ISO_BOOTIMG} -c ${ISO_BOOTCAT} \
|
||||
$mkisofs_compress_opts ${MKISOFS_OPTIONS} \
|
||||
$mkisofs_compress_opts ${MKISOFS_OPTIONS} $mkisofs_iso_level \
|
||||
-eltorito-alt-boot -eltorito-platform efi \
|
||||
-b efi.img -no-emul-boot \
|
||||
${ISODIR}
|
||||
|
||||
Reference in New Issue
Block a user