diff options
-rw-r--r-- | installclass.py | 14 | ||||
-rw-r--r-- | kickstart.py | 7 |
2 files changed, 18 insertions, 3 deletions
diff --git a/installclass.py b/installclass.py index 35051c845..b1111098b 100644 --- a/installclass.py +++ b/installclass.py @@ -52,7 +52,7 @@ class BaseInstallClass: def setBootloader(self, id, useLilo=0, location=None, linear=1, forceLBA=0, password=None, md5pass=None, - appendLine=""): + appendLine="", driveorder = []): if useLilo: id.bootloader.useGrubVal = 0 if appendLine: @@ -67,6 +67,18 @@ class BaseInstallClass: id.bootloader.defaultDevice = location else: id.bootloader.defaultDevice = -1 + + # XXX throw out drives specified that don't exist. anything else + # seems silly + if driveorder and len(driveorder) > 0: + new = [] + for drive in driveorder: + if drive in id.bootloader.drivelist: + new.append(drive) + else: + log("requested drive %s in boot drive order doesn't " + "exist" %(drive,)) + id.bootloader.drivelist = new def setClearParts(self, id, clear, drives = None, warningText = None, initAll = 0): diff --git a/kickstart.py b/kickstart.py index 7bc6acaee..55d9598e5 100644 --- a/kickstart.py +++ b/kickstart.py @@ -246,7 +246,7 @@ class KickstartBase(BaseInstallClass): (args, extra) = isys.getopt(args, '', [ 'append=', 'location=', 'useLilo', 'lba32', 'password=', 'md5pass=', 'linear', 'nolinear', - 'upgrade']) + 'upgrade', 'driveorder=']) validLocations = [ "mbr", "partition", "none" ] appendLine = "" @@ -256,6 +256,7 @@ class KickstartBase(BaseInstallClass): forceLBA = 0 linear = 1 upgrade = 0 + driveorder = [] for n in args: (str, arg) = n @@ -277,6 +278,8 @@ class KickstartBase(BaseInstallClass): md5pass = arg elif str == '--upgrade': upgrade = 1 + elif str == '--driveorder': + driveorder = string.split(arg, ',') if location not in validLocations: raise ValueError, "mbr, partition, or none expected for bootloader command" @@ -296,7 +299,7 @@ class KickstartBase(BaseInstallClass): self.showSteps.append("bootloadersetup") self.setBootloader(id, useLilo, location, linear, forceLBA, - password, md5pass, appendLine) + password, md5pass, appendLine, driveorder) self.skipSteps.append("upgbootloader") self.skipSteps.append("bootloader") self.skipSteps.append("bootloaderadvanced") |