Update logic for stage2 detection on boot.iso

The stage2 image can be either LiveOS/squashfs.img or it can be
images/install.img, adjust the IsoMountpoint for this and rename the
flag to .stage2 instead of .liveos
This commit is contained in:
Brian C. Lane 2015-03-09 08:31:15 -07:00
parent a1ddbc268f
commit c0ac3ad3bb
1 changed files with 8 additions and 5 deletions

View File

@ -241,8 +241,10 @@ class IsoMountpoint(object):
""" """
Mount the iso and check to make sure the vmlinuz and initrd.img files exist Mount the iso and check to make sure the vmlinuz and initrd.img files exist
Also check the iso for a LiveOS directory and set a flag and extract the Also check the iso for a a stage2 image and set a flag and extract the
iso's label. iso's label.
stage2 can be either LiveOS/squashfs.img or images/install.img
""" """
def __init__(self, iso_path, initrd_path=None): def __init__(self, iso_path, initrd_path=None):
""" """
@ -255,7 +257,7 @@ class IsoMountpoint(object):
initrd.img than the iso has. The iso is still used for stage2. initrd.img than the iso has. The iso is still used for stage2.
self.kernel and self.initrd point to the kernel and initrd. self.kernel and self.initrd point to the kernel and initrd.
self.liveos is set to True if there is a LiveOS/ directory self.stage2 is set to True if there is a stage2 image.
self.repo is the path to the mounted iso if there is a /repodata dir. self.repo is the path to the mounted iso if there is a /repodata dir.
""" """
self.label = None self.label = None
@ -274,7 +276,8 @@ class IsoMountpoint(object):
self.repo = self.mount_dir self.repo = self.mount_dir
else: else:
self.repo = None self.repo = None
self.liveos = os.path.isdir(self.mount_dir+"/LiveOS") self.stage2 = os.path.exists(self.mount_dir+"/LiveOS/squashfs.img") or \
os.path.exists(self.mount_dir+"/images/install.img")
try: try:
for f in [self.kernel, self.initrd]: for f in [self.kernel, self.initrd]:
@ -360,7 +363,7 @@ class VirtualInstall(object):
args.append("--disk") args.append("--disk")
args.append(disk_opts) args.append(disk_opts)
if iso.liveos: if iso.stage2:
disk_opts = "path={0},device=cdrom,readonly=on,shareable=on".format(iso.iso_path) disk_opts = "path={0},device=cdrom,readonly=on,shareable=on".format(iso.iso_path)
args.append("--disk") args.append("--disk")
args.append(disk_opts) args.append(disk_opts)
@ -370,7 +373,7 @@ class VirtualInstall(object):
extra_args += " inst.cmdline" extra_args += " inst.cmdline"
if kernel_args: if kernel_args:
extra_args += " "+kernel_args extra_args += " "+kernel_args
if iso.liveos: if iso.stage2:
extra_args += " stage2=live:CDLABEL={0}".format(udev_escape(iso.label)) extra_args += " stage2=live:CDLABEL={0}".format(udev_escape(iso.label))
args.append("--extra-args") args.append("--extra-args")
args.append(extra_args) args.append(extra_args)