bootimg.bbclass:iso: determine the -iso-level only if there is a rootfs

It may be possible that some bootable images do not use a rootfs; this
may be the case if the bootable image utilize only an initrd for all its
needs.

If there is not rootfs, the size calculation will fail. Furthermore, given
that the iso9660 conformance level is determined using the size of rootfs,
it makes sense to not make the calculation if there is not such rootfs.

(From OE-Core rev: 57064ac9ccd8a3783789d11feb5a51351cd924bf)

Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ricardo Neri 2015-07-10 17:41:03 -07:00 committed by Richard Purdie
parent d00f88b8eb
commit 661734759e
1 changed files with 8 additions and 5 deletions

View File

@ -142,11 +142,14 @@ build_iso() {
# 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"
if [ -n "${ROOTFS}" ] && [ -s "${ROOTFS}" ]; then
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
fi
if [ "${PCBIOS}" = "1" ] && [ "${EFI}" != "1" ] ; then