Add -iso-level 3 when the install.img is > 4GiB
xorrisofs needs to use iso-level 3 when creating images with large files. This adds tests to all the relevant templates, just like we used to do for udf and mkisofs. (cherry picked from commit 2264496fe85cedae77af35b509b140a5811d5743)
This commit is contained in:
parent
ae07d8d888
commit
9381205bbd
@ -6,7 +6,15 @@ KERNELDIR=PXEBOOTDIR
|
||||
STAGE2IMG="images/install.img"
|
||||
LORAXDIR="usr/share/lorax/"
|
||||
|
||||
import os
|
||||
from os.path import basename
|
||||
from pylorax.sysutils import joinpaths
|
||||
|
||||
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
|
||||
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
|
||||
isoargs = "-iso-level 3"
|
||||
else:
|
||||
isoargs = ""
|
||||
%>
|
||||
|
||||
mkdir images
|
||||
@ -67,7 +75,7 @@ mkdir ${KERNELDIR}
|
||||
|
||||
%if exists("boot/efi/EFI/*/gcdaa64.efi"):
|
||||
## make boot.iso
|
||||
runcmd xorrisofs -o ${outroot}/images/boot.iso \
|
||||
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
|
||||
${efiargs} -R -J -V '${isolabel}' \
|
||||
-graft-points \
|
||||
.discinfo=${outroot}/.discinfo \
|
||||
|
@ -1,4 +1,4 @@
|
||||
<%page args="kernels, runtime_img, runtime_base, basearch, outroot, arch"/>
|
||||
<%page args="kernels, runtime_img, runtime_base, basearch, inroot, outroot, arch"/>
|
||||
<%
|
||||
configdir="tmp/config_files/uboot"
|
||||
PXEBOOTDIR="images/pxeboot"
|
||||
@ -12,7 +12,15 @@ LORAXDIR="usr/share/lorax/"
|
||||
platforms = ""
|
||||
delimiter = ''
|
||||
|
||||
import os
|
||||
from os.path import basename
|
||||
from pylorax.sysutils import joinpaths
|
||||
|
||||
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
|
||||
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
|
||||
isoargs = "-iso-level 3"
|
||||
else:
|
||||
isoargs = ""
|
||||
%>
|
||||
|
||||
mkdir images
|
||||
@ -84,7 +92,7 @@ treeinfo ${basearch} platforms ${platforms}
|
||||
|
||||
%if exists("boot/efi/EFI/*/gcdarm.efi"):
|
||||
## make boot.iso
|
||||
runcmd xorrisofs -o ${outroot}/images/boot.iso \
|
||||
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
|
||||
${efiargs} -R -J -V '${isolabel}' \
|
||||
-graft-points \
|
||||
.discinfo=${outroot}/.discinfo \
|
||||
|
@ -12,7 +12,15 @@ def valid_label(ch):
|
||||
|
||||
isolabel = ''.join(ch if valid_label(ch) else '-' for ch in isolabel)
|
||||
|
||||
import os
|
||||
from os.path import basename
|
||||
from pylorax.sysutils import joinpaths
|
||||
|
||||
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
|
||||
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
|
||||
isoargs = "-iso-level 3"
|
||||
else:
|
||||
isoargs = ""
|
||||
%>
|
||||
|
||||
mkdir ${LIVEDIR}
|
||||
@ -73,7 +81,7 @@ mkdir ${KERNELDIR}
|
||||
|
||||
%if exists("boot/efi/EFI/*/gcdaa64.efi"):
|
||||
## make boot.iso
|
||||
runcmd xorrisofs -o ${outroot}/images/boot.iso \
|
||||
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
|
||||
${efiargs} -R -J -V '${isolabel}' \
|
||||
-graft-points \
|
||||
${KERNELDIR}=${outroot}/${KERNELDIR} \
|
||||
|
@ -12,7 +12,15 @@ LORAXDIR="usr/share/lorax/"
|
||||
## with '_', which means we won't need any udev escapes.
|
||||
isolabel = ''.join(ch if ch.isalnum() else '_' for ch in isolabel)
|
||||
|
||||
import os
|
||||
from os.path import basename
|
||||
from pylorax.sysutils import joinpaths
|
||||
|
||||
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
|
||||
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
|
||||
isoargs = "-iso-level 3"
|
||||
else:
|
||||
isoargs = ""
|
||||
%>
|
||||
|
||||
mkdir ${LIVEDIR}
|
||||
@ -71,7 +79,7 @@ replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${GRUBDIR}/grub.cfg
|
||||
%endfor
|
||||
|
||||
## make boot.iso
|
||||
runcmd xorrisofs -v -U -J -R \
|
||||
runcmd xorrisofs -v -U -J -R ${isoargs} \
|
||||
-o ${outroot}/images/boot.iso \
|
||||
-r -l -sysid PPC \
|
||||
-A "${product.name} ${product.version}" -V '${isolabel}' \
|
||||
|
@ -14,7 +14,15 @@ def valid_label(ch):
|
||||
|
||||
isolabel = ''.join(ch if valid_label(ch) else '-' for ch in isolabel)
|
||||
|
||||
import os
|
||||
from os.path import basename
|
||||
from pylorax.sysutils import joinpaths
|
||||
|
||||
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
|
||||
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
|
||||
isoargs = "-iso-level 3"
|
||||
else:
|
||||
isoargs = ""
|
||||
%>
|
||||
|
||||
mkdir ${LIVEDIR}
|
||||
@ -104,7 +112,7 @@ hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
|
||||
%endfor
|
||||
|
||||
## make boot.iso
|
||||
runcmd xorrisofs -o ${outroot}/images/boot.iso \
|
||||
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
|
||||
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
|
||||
-b ${BOOTDIR}/isolinux.bin -c ${BOOTDIR}/boot.cat \
|
||||
-boot-load-size 4 -boot-info-table -no-emul-boot \
|
||||
|
@ -12,7 +12,15 @@ def valid_label(ch):
|
||||
|
||||
isolabel = ''.join(ch if valid_label(ch) else '-' for ch in isolabel)
|
||||
|
||||
import os
|
||||
from os.path import basename
|
||||
from pylorax.sysutils import joinpaths
|
||||
|
||||
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
|
||||
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
|
||||
isoargs = "-iso-level 3"
|
||||
else:
|
||||
isoargs = ""
|
||||
%>
|
||||
|
||||
mkdir images
|
||||
@ -78,7 +86,7 @@ replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${GRUBDIR}/grub.cfg
|
||||
%endfor
|
||||
|
||||
## make boot.iso
|
||||
runcmd xorrisofs -v -U -J -R \
|
||||
runcmd xorrisofs -v -U -J -R ${isoargs} \
|
||||
-o ${outroot}/images/boot.iso \
|
||||
-r -l -sysid PPC \
|
||||
-A "${product.name} ${product.version}" -V '${isolabel}' \
|
||||
|
@ -1,4 +1,4 @@
|
||||
<%page args="kernels, runtime_img, runtime_base, basearch, outroot"/>
|
||||
<%page args="kernels, runtime_img, runtime_base, basearch, inroot, outroot"/>
|
||||
<%
|
||||
configdir="tmp/config_files/s390"
|
||||
BOOTDIR="images"
|
||||
@ -8,7 +8,15 @@ LORAXDIR="usr/share/lorax/"
|
||||
# The assumption seems to be that there is only one s390 kernel, ever
|
||||
kernel = kernels[0]
|
||||
|
||||
import os
|
||||
from os.path import basename
|
||||
from pylorax.sysutils import joinpaths
|
||||
|
||||
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
|
||||
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
|
||||
isoargs = "-iso-level 3"
|
||||
else:
|
||||
isoargs = ""
|
||||
%>
|
||||
|
||||
mkdir images
|
||||
@ -68,7 +76,7 @@ runcmd mk-s390-cdboot -i ${outroot}/${KERNELDIR}/kernel.img \
|
||||
-o ${outroot}/${BOOTDIR}/cdboot.img
|
||||
|
||||
## make boot.iso
|
||||
runcmd xorrisofs -o ${outroot}/images/boot.iso \
|
||||
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
|
||||
-b ${BOOTDIR}/cdboot.img -c ${BOOTDIR}/boot.cat \
|
||||
-boot-load-size 4 -no-emul-boot \
|
||||
-R -J -V '${isolabel}' -graft-points \
|
||||
|
@ -14,7 +14,15 @@ def valid_label(ch):
|
||||
|
||||
isolabel = ''.join(ch if valid_label(ch) else '-' for ch in isolabel)
|
||||
|
||||
import os
|
||||
from os.path import basename
|
||||
from pylorax.sysutils import joinpaths
|
||||
|
||||
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
|
||||
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
|
||||
isoargs = "-iso-level 3"
|
||||
else:
|
||||
isoargs = ""
|
||||
%>
|
||||
|
||||
mkdir images
|
||||
@ -113,7 +121,7 @@ hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
|
||||
%endfor
|
||||
|
||||
## make boot.iso
|
||||
runcmd xorrisofs -o ${outroot}/images/boot.iso \
|
||||
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
|
||||
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
|
||||
-b ${BOOTDIR}/isolinux.bin -c ${BOOTDIR}/boot.cat \
|
||||
-boot-load-size 4 -boot-info-table -no-emul-boot \
|
||||
|
Loading…
Reference in New Issue
Block a user