summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2003-02-25 21:58:25 +0000
committerJeremy Katz <katzj@redhat.com>2003-02-25 21:58:25 +0000
commit4cc5434c8f9ba9b3c9987f2f8516744466db43f9 (patch)
treeac543363ee74efb44e3ae9c17c87abcc05ea4216
parent9fa8bdfcc6a7c4897a7fa47839215a2f12b41c22 (diff)
downloadanaconda-4cc5434c8f9ba9b3c9987f2f8516744466db43f9.tar.gz
anaconda-4cc5434c8f9ba9b3c9987f2f8516744466db43f9.tar.xz
anaconda-4cc5434c8f9ba9b3c9987f2f8516744466db43f9.zip
bios drive order from kickstart (#80086)
-rw-r--r--installclass.py14
-rw-r--r--kickstart.py7
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")