Re: [PATCH 3/3] dracut has initrd-generic-<version> instead of initrd-<version> (#519185)

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

 



Hi,

On 08/26/2009 07:58 PM, David Lehman wrote:
On Wed, 2009-08-26 at 11:45 +0200, Hans de Goede wrote:
dracut using kernel come with a prebuild initrd-generic-<version>  instead
of initrd-<version>, so if we fail to find /boot/initrd-<version>.img, check
for /boot/initrd-generic-<version>.img instead. I've done things this way
so that if we ever need to generate system specific (so non generic) initrd's
for some reason the code will stay working.

It looks to me like you will break EFI (or at least ia64) since it has
the special /boot/efi/redhat/ base directory.


No, this was a RHEL-5 ism, now a days EFI uses the default paths for the initrd.

Regards,

Hans


Dave

---
  booty/alpha.py          |    6 +++---
  booty/bootloaderInfo.py |   21 ++++++++++++++-------
  booty/ia64.py           |    3 ---
  booty/ppc.py            |    6 +++---
  booty/s390.py           |   15 +++++++--------
  booty/sparc.py          |    6 +++---
  booty/x86.py            |   12 ++++++------
  7 files changed, 36 insertions(+), 33 deletions(-)

diff --git a/booty/alpha.py b/booty/alpha.py
index 8384162..afdb476 100644
--- a/booty/alpha.py
+++ b/booty/alpha.py
@@ -82,9 +82,9 @@ class alphaBootloaderInfo(bootloaderInfo):
              f.write("%d:%d%s" %(lines, bpn, kernelFile))

              # See if we can come up with an initrd argument that exists
-            initrd = self.makeInitrd(kernelTag)
-            if os.path.isfile(instRoot + initrd):
-                f.write(" initrd=%sinitrd%s.img" %(kernelPath, kernelTag))
+            initrd = self.makeInitrd(kernelTag, instRoot)
+            if initrd:
+                f.write(" initrd=%s%s" %(kernelPath, initrd))

              realroot = rootDevice.fstabSpec
              f.write(" root=%s" %(realroot,))
diff --git a/booty/bootloaderInfo.py b/booty/bootloaderInfo.py
index 71a3c9e..e7cd5e3 100644
--- a/booty/bootloaderInfo.py
+++ b/booty/bootloaderInfo.py
@@ -303,8 +303,16 @@ class bootloaderInfo:
          else:
              self.defaultDevice = "partition"

-    def makeInitrd(self, kernelTag):
-        return "/boot/initrd%s.img" % kernelTag
+    def makeInitrd(self, kernelTag, instRoot):
+        initrd = "initrd%s.img" % kernelTag
+        if os.access(instRoot + "/boot/" + initrd, os.R_OK):
+            return initrd
+
+        initrd = "initrd-generic%s.img" % kernelTag
+        if os.access(instRoot + "/boot/" + initrd, os.R_OK):
+            return initrd
+
+        return None

      def getBootloaderConfig(self, instRoot, bl, kernelList,
                              chainList, defaultDev):
@@ -353,13 +361,12 @@ class bootloaderInfo:

              sl = LiloConfigFile(imageType = "image", path = kernelFile)

-            initrd = self.makeInitrd(kernelTag)
+            initrd = self.makeInitrd(kernelTag, instRoot)

              sl.addEntry("label", label)
-            if os.access (instRoot + initrd, os.R_OK):
-                sl.addEntry("initrd", "%sinitrd%s.img" %(self.kernelLocation,
-                                                         kernelTag))
-
+            if initrd:
+                sl.addEntry("initrd", "%s%s" %(self.kernelLocation, initrd))
+
              sl.addEntry("read-only")

              append = "%s" %(self.args.get(),)
diff --git a/booty/ia64.py b/booty/ia64.py
index bf2689f..24bcf6b 100644
--- a/booty/ia64.py
+++ b/booty/ia64.py
@@ -33,9 +33,6 @@ class ia64BootloaderInfo(efiBootloaderInfo):
              return rc
          return self.addNewEfiEntry(instRoot)

-    def makeInitrd(self, kernelTag):
-        return "/boot/efi/EFI/redhat/initrd%s.img" % kernelTag
-
      def __init__(self, instData):
          efiBootloaderInfo.__init__(self, instData)
          self._configname = "elilo.conf"
diff --git a/booty/ppc.py b/booty/ppc.py
index 5b96be7..aa4d8dc 100644
--- a/booty/ppc.py
+++ b/booty/ppc.py
@@ -111,9 +111,9 @@ class ppcBootloaderInfo(bootloaderInfo):
              f.write("\tlabel=%s\n" %(label,))
              f.write("\tread-only\n")

-            initrd = self.makeInitrd(kernelTag)
-            if os.access(instRoot + initrd, os.R_OK):
-                f.write("\tinitrd=%s/initrd%s.img\n" %(cfPath,kernelTag))
+            initrd = self.makeInitrd(kernelTag, instRoot)
+            if initrd:
+                f.write("\tinitrd=%s/%s\n" %(cfPath, initrd))

              append = "%s" %(self.args.get(),)

diff --git a/booty/s390.py b/booty/s390.py
index e865931..a60811d 100644
--- a/booty/s390.py
+++ b/booty/s390.py
@@ -43,12 +43,11 @@ class s390BootloaderInfo(bootloaderInfo):

              sl = LiloConfigFile(imageType = "image", path = kernelFile)

-            initrd = self.makeInitrd(kernelTag)
+            initrd = self.makeInitrd(kernelTag, instRoot)

              sl.addEntry("label", label)
-            if os.access (instRoot + initrd, os.R_OK):
-                sl.addEntry("initrd",
-                            "%sinitrd%s.img" %(self.kernelLocation, kernelTag))
+            if initrd:
+                sl.addEntry("initrd", "%s%s" %(self.kernelLocation, initrd))

              sl.addEntry("read-only")
              sl.addEntry("root", rootDev.path)
@@ -138,12 +137,12 @@ class s390BootloaderInfo(bootloaderInfo):
              kernelTag = "-" + version
              kernelFile = "%svmlinuz%s" % (cfPath, kernelTag)

-            initrd = self.makeInitrd(kernelTag)
+            initrd = self.makeInitrd(kernelTag, instRoot)
              f.write('[%s]\n' % (label))
              f.write('\timage=%s\n' % (kernelFile))
-            if os.access (instRoot + initrd, os.R_OK):
-                f.write('\tramdisk=%sinitrd%s.img\n' %(self.kernelLocation,
-                                                     kernelTag))
+            if initrd:
+                f.write('\tramdisk=%s%s\n' %(self.kernelLocation, initrd))
+
              realroot = rootDev.fstabSpec
              f.write('\tparameters="root=%s' %(realroot,))
              if bl.args.get():
diff --git a/booty/sparc.py b/booty/sparc.py
index 5b379b9..45d58c4 100644
--- a/booty/sparc.py
+++ b/booty/sparc.py
@@ -56,9 +56,9 @@ class sparcBootloaderInfo(bootloaderInfo):
              f.write("\tlabel=%s\n" % (label,))
              f.write("\tread-only\n")

-            initrd = self.makeInitrd(kernelTag)
-            if os.access(instRoot + initrd, os.R_OK):
-                f.write("\tinitrd=%s/initrd%s.img\n" % (cfPath, kernelTag))
+            initrd = self.makeInitrd(kernelTag, instRoot)
+            if initrd:
+                f.write("\tinitrd=%s/%s\n" % (cfPath, initrd))

              append = "%s" % (self.args.get(),)

diff --git a/booty/x86.py b/booty/x86.py
index d9bebcb..5e02f3d 100644
--- a/booty/x86.py
+++ b/booty/x86.py
@@ -186,7 +186,7 @@ class x86BootloaderInfo(efiBootloaderInfo):

          f.write('#          root %s\n' % self.grubbyPartitionName(bootDevs[0]))
          f.write("#          kernel %svmlinuz-version ro root=%s\n" % (cfPath, rootDev.path))
-        f.write("#          initrd %sinitrd-version.img\n" % (cfPath))
+        f.write("#          initrd %sinitrd-[generic-]version.img\n" % (cfPath))
          f.write("#boot=/dev/%s\n" % (grubTarget))

          # get the default image to boot... we have to walk and find it
@@ -239,7 +239,7 @@ class x86BootloaderInfo(efiBootloaderInfo):
              kernelTag = "-" + version
              kernelFile = "%svmlinuz%s" % (cfPath, kernelTag)

-            initrd = self.makeInitrd(kernelTag)
+            initrd = self.makeInitrd(kernelTag, instRoot)

              f.write('title %s (%s)\n' % (longlabel, version))
              f.write('\troot %s\n' % self.grubbyPartitionName(bootDevs[0]))
@@ -270,16 +270,16 @@ class x86BootloaderInfo(efiBootloaderInfo):
                      f.write(' %s' % self.args.get())
                  f.write('\n')

-                if os.access (instRoot + initrd, os.R_OK):
-                    f.write('\tmodule %sinitrd%s.img\n' % (cfPath, kernelTag))
+                if initrd:
+                    f.write('\tmodule %s%s\n' % (cfPath, initrd))
              else: # normal kernel
                  f.write('\tkernel %s ro%s' % (kernelFile, realroot))
                  if self.args.get():
                      f.write(' %s' % self.args.get())
                  f.write('\n')

-                if os.access (instRoot + initrd, os.R_OK):
-                    f.write('\tinitrd %sinitrd%s.img\n' % (cfPath, kernelTag))
+                if initrd:
+                    f.write('\tinitrd %s%s\n' % (cfPath, initrd))

          for (label, longlabel, device) in chainList:
              if ((not longlabel) or (longlabel == "")):

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

_______________________________________________
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