This is needed for at least DASD devices. We cannot rely on the root device depending on a particular DASD device because at boot time, all DASD devices must be specified in the dasd= argument. With the forceDracut property on storage devices, each device type can set that if it needs it. Otherwise, we only include kernel arguments for devices that are needed for the root filesystem. --- booty/bootloaderInfo.py | 2 +- storage/devices.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/booty/bootloaderInfo.py b/booty/bootloaderInfo.py index 01c4e6c..b78ec96 100644 --- a/booty/bootloaderInfo.py +++ b/booty/bootloaderInfo.py @@ -93,7 +93,7 @@ class KernelArguments: newargs = [] for d in self.id.storage.devices: - if root.dependsOn(d): + if root.dependsOn(d) or d.forceDracut: params += d.dracutSetupData() import storage diff --git a/storage/devices.py b/storage/devices.py index c20d3f6..6ed2c79 100644 --- a/storage/devices.py +++ b/storage/devices.py @@ -209,6 +209,7 @@ class Device(object): _type = "generic device" _packages = [] + _forceDracut = False def __init__(self, name, parents=None): """ Create a Device instance. @@ -395,6 +396,10 @@ class Device(object): def mediaPresent(self): return True + @property + def forceDracut(self): + return self._forceDracut + class NetworkStorageDevice(object): """ Virtual base class for network backed storage devices """ @@ -3144,6 +3149,7 @@ class ZFCPDiskDevice(DiskDevice): class DASDDevice(DiskDevice): """ A mainframe DASD. """ _type = "dasd" + _forceDracut = True def __init__(self, device, size=None, major=None, minor=None, parents=None, sysfsPath=''): -- 1.6.2.5 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list