--- storage/__init__.py | 10 ++++++++++ storage/deviceaction.py | 4 ---- storage/partitioning.py | 3 ++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/storage/__init__.py b/storage/__init__.py index 7b7ab5c..94d7d7a 100644 --- a/storage/__init__.py +++ b/storage/__init__.py @@ -183,6 +183,16 @@ class Storage(object): def doIt(self): self.devicetree.processActions() + # now set the boot partition's flag + try: + boot = self.anaconda.platform.bootDevice() + except DeviceError: + boot = None + else: + if hasattr(boot, "bootable"): + boot.bootable = True + boot.disk.commit() + @property def nextID(self): id = self._nextID diff --git a/storage/deviceaction.py b/storage/deviceaction.py index 3f7ce91..ba4456a 100644 --- a/storage/deviceaction.py +++ b/storage/deviceaction.py @@ -269,10 +269,6 @@ class ActionCreateFormat(DeviceAction): self.device.setFlag(self.format.partedFlag) self.device.disk.commit() - if self.device.bootable: - self.device.setFlag(PARTITION_BOOT) - self.device.disk.commit() - udev_settle() self.device.setup() self.device.format.create(intf=intf, diff --git a/storage/partitioning.py b/storage/partitioning.py index 92458d9..fdaf360 100644 --- a/storage/partitioning.py +++ b/storage/partitioning.py @@ -538,6 +538,7 @@ def doPartitioning(storage, exclusiveDisks=None): partitions = storage.partitions for part in partitions: + part.req_bootable = False if not part.exists: # start over with flexible-size requests part.req_size = part.req_base_size @@ -548,7 +549,7 @@ def doPartitioning(storage, exclusiveDisks=None): except DeviceError: bootDev = None - if bootDev and not bootDev.exists: + if bootDev: bootDev.req_bootable = True # FIXME: make sure non-existent partitions have empty parents list -- 1.6.0.6 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list