diff options
-rw-r--r-- | booty/util.py | 4 | ||||
-rw-r--r-- | booty/x86.py | 18 |
2 files changed, 15 insertions, 7 deletions
diff --git a/booty/util.py b/booty/util.py index 74ba561ed..41287059d 100644 --- a/booty/util.py +++ b/booty/util.py @@ -1,11 +1,13 @@ import string +from flags import flags def getDiskPart(dev, storage): path = storage.devicetree.getDeviceByName(dev).path[5:] cut = len(dev) if (path.startswith('rd/') or path.startswith('ida/') or path.startswith('cciss/') or path.startswith('sx8/') or - path.startswith('mapper/') or path.startswith('mmcblk')): + path.startswith('mapper/') or path.startswith('mmcblk') or + path.startswith('md')): if dev[-2] == 'p': cut = -1 elif dev[-3] == 'p': diff --git a/booty/x86.py b/booty/x86.py index 8ba5d23e8..4137bf40e 100644 --- a/booty/x86.py +++ b/booty/x86.py @@ -4,6 +4,7 @@ import string from booty import BootyNoKernelWarning from util import getDiskPart from bootloaderInfo import * +from flags import flags import checkbootloader import iutil import rhpl @@ -51,12 +52,16 @@ class x86BootloaderInfo(efiBootloaderInfo): if path.startswith("mapper/luks-"): return [] + if path.startswith('md'): - bootable = 0 - parts = checkbootloader.getRaidDisks(device, self.storage, + if flags.cmdline.has_key("iswmd"): + return [device] + else: + bootable = 0 + parts = checkbootloader.getRaidDisks(device, self.storage, raidLevel=1, stripPart=0) - parts.sort() - return parts + parts.sort() + return parts return [device] @@ -332,8 +337,9 @@ class x86BootloaderInfo(efiBootloaderInfo): # XXX hack city. If they're not the sort of thing that'll # be in the device map, they shouldn't still be in the list. path = self.storage.devicetree.getDeviceByName(drive).path - if not drive.startswith('md'): - f.write("(%s) %s\n" % (self.grubbyDiskName(drive), path)) + if ((drive.startswith('md') and flags.cmdline.has_key("iswmd")) or + not drive.startswith('md')): + f.write("(%s) %s\n" % (self.grubbyDiskName(drive), path)) f.close() sysconf = '/etc/sysconfig/grub' |