On Fri, 2013-09-06 at 09:55 -0700, Brian C. Lane wrote:
From: "Brian C. Lane" bcl@redhat.com
dracut depends on some of the configuration settings we write out in doConfiguration so we need to always regenerate the initramfs for the system after we write these.
-- I realized that livepayload was already doign this, and that the driver disk
-- code does as well. I think this patch should cover all the cases.
pyanaconda/install.py | 7 +++++-- pyanaconda/packaging/__init__.py | 12 +++++++++--- pyanaconda/packaging/livepayload.py | 1 - 3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/pyanaconda/install.py b/pyanaconda/install.py index ab00369..4b23016 100644 --- a/pyanaconda/install.py +++ b/pyanaconda/install.py @@ -52,12 +52,12 @@ def _writeKS(ksdata): def doConfiguration(storage, payload, ksdata, instClass): from pyanaconda.kickstart import runPostScripts
- step_count = 5
- step_count = 6 # if a realm was discovered, # increment the counter as the # real joining step will be executed if ksdata.realm.discovered:
step_count = 6
step_count += 1progressQ.send_init(step_count)
# Now run the execute methods of ksdata that require an installed system
@@ -89,6 +89,9 @@ def doConfiguration(storage, payload, ksdata, instClass): ksdata.addons.execute(storage, ksdata, instClass, u) ksdata.configured_spokes.execute(storage, ksdata, instClass, u)
- with progress_report(_("Generating initramfs")):
payload.recreateInitrds(force=True)- if ksdata.realm.discovered: with progress_report(_("Joining realm: %s") % ksdata.realm.discovered): ksdata.realm.execute(storage, ksdata, instClass)
diff --git a/pyanaconda/packaging/__init__.py b/pyanaconda/packaging/__init__.py index a90663d..2e266a2 100644 --- a/pyanaconda/packaging/__init__.py +++ b/pyanaconda/packaging/__init__.py @@ -565,10 +565,16 @@ class Payload(object): # XXX TODO: real error handling, as this is probably going to # prevent boot on some systems
if new_firmware:self._recreateInitrds()
- def recreateInitrds(self, force=False):
""" Recreate the initrds by calling new-kernel-pkg
- def _recreateInitrds(self, force=False):
This needs to be done after all configuration files have beenwritten, since dracut depends on some of them.:param force: Always recreate, default is to only do it on first call:type force: bool:returns: None""" if not force and self._createdInitrds: returndiff --git a/pyanaconda/packaging/livepayload.py b/pyanaconda/packaging/livepayload.py index d8cbbc8..0046f4f 100644 --- a/pyanaconda/packaging/livepayload.py +++ b/pyanaconda/packaging/livepayload.py @@ -147,7 +147,6 @@ class LiveImagePayload(ImagePayload): blivet.util.umount(INSTALL_TREE)
super(LiveImagePayload, self).postInstall()
self._recreateInitrds()@property def spaceRequired(self):
Looks good to me.