[PATCH] Regenerate initrd on live installations (#994180)
Vratislav Podzimek
vpodzime at redhat.com
Thu Sep 5 13:32:43 UTC 2013
Fedora now uses --host-only initrds that don't have all keymaps, just the one
that was set in the /etc/vconsole.conf at the time of initrd generation.
Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
---
pyanaconda/install.py | 19 +++++++++++++++----
pyanaconda/iutil.py | 5 +++++
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/pyanaconda/install.py b/pyanaconda/install.py
index ab00369..0a42b2e 100644
--- a/pyanaconda/install.py
+++ b/pyanaconda/install.py
@@ -27,6 +27,7 @@ from pyanaconda.progress import progress_report, progressQ
from pyanaconda.users import createLuserConf, getPassAlgo, Users
from pyanaconda import flags
from pyanaconda import timezone
+from pyanaconda import iutil
from pyanaconda.i18n import _
from pyanaconda.threads import threadMgr
import logging
@@ -53,11 +54,16 @@ def doConfiguration(storage, payload, ksdata, instClass):
from pyanaconda.kickstart import runPostScripts
step_count = 5
- # if a realm was discovered,
- # increment the counter as the
- # real joining step will be executed
+
+ # 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 += 1
+
+ # one more step for regenerating initrd in live installations (see #994180)
+ if flags.flags.livecdInstall:
+ step_count += 1
+
progressQ.send_init(step_count)
# Now run the execute methods of ksdata that require an installed system
@@ -89,6 +95,11 @@ def doConfiguration(storage, payload, ksdata, instClass):
ksdata.addons.execute(storage, ksdata, instClass, u)
ksdata.configured_spokes.execute(storage, ksdata, instClass, u)
+ # see rhbz#994180
+ if flags.flags.livecdInstall:
+ with progress_report(_("Generating initrd")):
+ iutil.regenerate_initrd()
+
if ksdata.realm.discovered:
with progress_report(_("Joining realm: %s") % ksdata.realm.discovered):
ksdata.realm.execute(storage, ksdata, instClass)
diff --git a/pyanaconda/iutil.py b/pyanaconda/iutil.py
index 4e362ff..dd6eb9d 100644
--- a/pyanaconda/iutil.py
+++ b/pyanaconda/iutil.py
@@ -742,3 +742,8 @@ def lowerASCII(s):
locale-independent.
"""
return string.translate(_toASCII(s), _ASCIIlower_table)
+
+def regenerate_initrd(root=ROOT_PATH):
+ """Regenerate initrd with dracut."""
+
+ execWithRedirect("dracut", ["-f"], root=ROOT_PATH)
--
1.7.11.7
More information about the anaconda-patches
mailing list