]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
bootimg.bbclass:iso: determine the -iso-level only if there is a rootfs
authorRicardo Neri <ricardo.neri-calderon@linux.intel.com>
Sat, 11 Jul 2015 00:41:03 +0000 (17:41 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 9 Aug 2015 22:14:31 +0000 (15:14 -0700)
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.

Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/bootimg.bbclass

index ebc927edc7ec588c076768cb33dfb5bcee011669..5adcacc0f3717dc0e0bc69c3a176c198a80475c5 100644 (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