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]

 



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.

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

[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