From 8373ad06070073ce903f65210f275700b4910859 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 30 Nov 2000 20:37:39 +0000 Subject: merge in stuff from ia64 branch --- eli.py | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'eli.py') diff --git a/eli.py b/eli.py index 3bd8a735b..6796eade9 100644 --- a/eli.py +++ b/eli.py @@ -91,8 +91,13 @@ class EliConfiguration: eli.delImage(label) except IndexError, msg: sl = LiloConfigFile(imageType = "image", path = kernelFile) + + initrd = self.makeInitrd (kernelTag, instRoot) sl.addEntry("label", label) + if os.access (instRoot + "/boot/efi/" + initrd, os.R_OK): + sl.addEntry("initrd", initrd) + sl.addEntry("read-only") sl.addEntry("root", '/dev/' + rootDev) @@ -102,23 +107,37 @@ class EliConfiguration: eli.addImage (sl) eli.write(instRoot + "/boot/efi/eli.cfg", perms = perms) + + def makeInitrd (self, kernelTag, instRoot): + initrd = "initrd%s.img" % (kernelTag, ) + if not self.initrdsMade.has_key(initrd): + iutil.execWithRedirect("/sbin/mkinitrd", + [ "/sbin/mkinitrd", + "--ifneeded", + "/boot/efi/%s" % initrd, + kernelTag[1:] ], + stdout = None, stderr = None, searchPath = 1, + root = instRoot) + self.initrdsMade[kernelTag] = 1 + return initrd def __init__(self): self.eliImages = {} + self.initrdsMade = {} self.eliAppend = None self.default = None if __name__ == "__main__": config = LiloConfigFile () - config.read ('/etc/lilo.conf') + config.read ('/boot/efi/eli.cfg') print config print "image list", config.listImages() - config.delImage ('/boot/vmlinuz-2.2.5-15') + config.delImage ('vmlinux-2.4.0-0.32') print '----------------------------------' config = LiloConfigFile () - config.read ('/etc/lilo.conf') + config.read ('/boot/efi/eli.cfg') print config print '----------------------------------' - print config.getImage('/boot/vmlinuz-2.2.5-15') + print config.getImage('vmlinux-2.4.0-0.32') -- cgit