summaryrefslogtreecommitdiffstats
path: root/booty/ia64.py
blob: f0f01463bd1eea700cbd25342f20ffd2530daa71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from booty import BootyNoKernelWarning
from bootloaderInfo import *

class ia64BootloaderInfo(efiBootloaderInfo):
    def getBootloaderConfig(self, instRoot, bl, kernelList,
                            chainList, defaultDev):
        config = bootloaderInfo.getBootloaderConfig(self, instRoot,
                                                    bl, kernelList, chainList,
                                                    defaultDev)
        # altix boxes need relocatable (#120851)
        config.addEntry("relocatable")

        return config

    def writeLilo(self, instRoot, bl, kernelList, 
                  chainList, defaultDev):
        config = self.getBootloaderConfig(instRoot, bl,
                                          kernelList, chainList, defaultDev)
        return config.write(instRoot + self.configfile, perms = 0755)

    def write(self, instRoot, bl, kernelList, chainList, defaultDev):
        if len(kernelList) >= 1:
            rc = self.writeLilo(instRoot, bl, kernelList,
                                chainList, defaultDev)
            if rc:
                return rc
        else:
            raise BootyNoKernelWarning

        rc = self.removeOldEfiEntries(instRoot)
        if rc:
            return rc
        return self.addNewEfiEntry(instRoot)

    def __init__(self, anaconda):
        efiBootloaderInfo.__init__(self, anaconda)
        self._configname = "elilo.conf"
        self._bootloader = "elilo.efi"