|
|
|
@ -75,7 +75,7 @@ class cl_kernel(color_print):
|
|
|
|
|
|
|
|
|
|
def makeKernel(self,quiet=True,showMenuConfig=False,noClean=False,
|
|
|
|
|
lvmOpt=False,dmraidOpt=False,mdadmOpt=False,
|
|
|
|
|
mrproper=False):
|
|
|
|
|
mrproper=False,target="all"):
|
|
|
|
|
"""Run kernel compilation"""
|
|
|
|
|
clVars = self.clVars
|
|
|
|
|
standardParams = ["--splash=tty1", "--unionfs",
|
|
|
|
@ -122,7 +122,7 @@ class cl_kernel(color_print):
|
|
|
|
|
params = ["genkernel"]+cachedir+tempdir+\
|
|
|
|
|
standardParams+kernelDir+modulePrefix+\
|
|
|
|
|
logLevel+makeOpts+menuConfig+noClean+kernelConfig+\
|
|
|
|
|
bootDir+lvmOpt+dmraidOpt+mdadmOpt+mrproperOpt+["all"]
|
|
|
|
|
bootDir+lvmOpt+dmraidOpt+mdadmOpt+mrproperOpt+[target]
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
genkernelProcess = process(*params,stdout=None,stderr=STDOUT,
|
|
|
|
@ -418,6 +418,37 @@ class cl_kernel(color_print):
|
|
|
|
|
curConfig[x[0]]=="Y",
|
|
|
|
|
newConfig)
|
|
|
|
|
|
|
|
|
|
def createInitrd(self,lvmOpt=False, dmraidOpt=False, mdadmOpt=False):
|
|
|
|
|
"""Recreate initrd"""
|
|
|
|
|
if self.makeKernel(quiet=True,
|
|
|
|
|
showMenuConfig=False,noClean=False,
|
|
|
|
|
lvmOpt=lvmOpt,dmraidOpt=dmraidOpt,mdadmOpt=mdadmOpt,
|
|
|
|
|
mrproper=False,target="ramdisk"):
|
|
|
|
|
clVars = self.clVars
|
|
|
|
|
bootDir = clVars.Get('cl_kernel_boot_path')
|
|
|
|
|
if not os.access(bootDir,os.W_OK):
|
|
|
|
|
self.printERROR(_("No permissions to write to '%s'")% bootDir)
|
|
|
|
|
return False
|
|
|
|
|
march = clVars.Get('os_arch_machine')
|
|
|
|
|
if re.match("^i.86$",march):
|
|
|
|
|
march = "x86"
|
|
|
|
|
|
|
|
|
|
kernelFullVer = clVars.Get('cl_kernel_full_ver')
|
|
|
|
|
suffixName = "genkernel-%(march)s-%(fullver)s"%\
|
|
|
|
|
{"march":march,
|
|
|
|
|
"fullver":kernelFullVer}
|
|
|
|
|
baseInitrdName = path.join(bootDir,"initramfs-%s"%suffixName)
|
|
|
|
|
newInitrdName = self._getNewName("initramfs")
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
os.rename(baseInitrdName,newInitrdName)
|
|
|
|
|
except OSError,e:
|
|
|
|
|
self.printERROR(_("Can not rename initramfs files: %s")
|
|
|
|
|
%e.strerror)
|
|
|
|
|
return False
|
|
|
|
|
return True
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
def cleanInitrd(self):
|
|
|
|
|
"""Discard from initrd non-critical modules"""
|
|
|
|
|
clVars = self.clVars
|
|
|
|
|