[PATCH] Run firstaidkit-qs script instead of the shell (shows rescue menu) (#508512)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



---
 rescue.py            |   25 ++++++++++++++++++++++++-
 scripts/upd-instroot |    4 +++-
 2 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/rescue.py b/rescue.py
index 665c56c..ba8455c 100644
--- a/rescue.py
+++ b/rescue.py
@@ -34,6 +34,7 @@ import iutil
 import shutil
 import time
 import network
+import subprocess
 
 import gettext
 _ = lambda x: gettext.ldgettext("anaconda", x)
@@ -128,6 +129,22 @@ def makeMtab(instPath, fsset):
     finally:
         f.close()
 
+def makeFStab(instPath = ""):
+    if os.access("/etc/mtab", os.R_OK):
+        f = open("/etc/mtab" %(instPath,), "r")
+        buf = f.read()
+        f.close()
+    else:
+        buf = ""
+
+    try:
+        f = open(instPath + "/etc/fstab", "w+")
+        if buf:
+            f.write(buf)
+        f.close()
+    except IOError, e:
+        log.info("failed to write /etc/fstab: %s" % e)
+
 # make sure they have a resolv.conf in the chroot
 def makeResolvConf(instPath):
     if not os.access("/etc/resolv.conf", os.R_OK):
@@ -183,7 +200,10 @@ def runShell(screen = None, msg=""):
             "system will reboot."))
     print
 
-    if os.path.exists("/bin/bash"):
+    if os.path.exists("/usr/bin/firstaidkit-qs") and os.path.exists("/usr/bin/dialog"):
+        proc = subprocess.Popen(["/bin/firstaidkit-qs"])
+        proc.wait() 
+    elif os.path.exists("/bin/bash"):
         iutil.execConsole()
     else:
         print(_("Unable to find /bin/sh to execute!  Not starting shell"))
@@ -436,6 +456,9 @@ def runRescue(anaconda, instClass):
             log.error("error making a resolv.conf: %s" %(e,))
         msgStr = _("Your system is mounted under the %s directory.") % (anaconda.rootPath,)
 
+    #create /etc/fstab in ramdisk, so it is easier to work with RO mounted filesystems
+    makeFStab()
+
     # run %post if we've mounted everything
     if anaconda.isKickstart:
         from kickstart import runPostScripts
diff --git a/scripts/upd-instroot b/scripts/upd-instroot
index 8a6ddca..31e5d89 100755
--- a/scripts/upd-instroot
+++ b/scripts/upd-instroot
@@ -235,7 +235,7 @@ PACKAGESRESCUE="bzip2 bzip2-libs dump libidn
                 modutils mtools mt-st mtr net-tools open smartmontools
                 openssh openssh-clients pciutils rsh traceroute tar rsync
                 device-mapper device-mapper-libs dmraid ntfsprogs samba-client
-                firstaidkit-plugin-all"
+		firstaidkit firstaidkit-plugin-all dialog"
 
 if [ $ARCH = i386 -o $ARCH = i586 -o $ARCH = x86_64 ]; then
     PACKAGESRESCUE="$PACKAGESRESCUE gpart grub"
@@ -815,6 +815,8 @@ usr/sbin/smartctl
 usr/sbin/traceroute
 usr/$LIBDIR/firstaidkit/plugins/
 usr/lib/python?.?/site-packages/pyfirstaidkit/
+usr/bin/dialog
+usr/bin/firstaidkit-qs
 EOF
 
 if [ $ARCH = i386 -o $ARCH = i586 -o $ARCH = x86_64 ]; then
-- 
1.5.4.3

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux