You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.8 KiB
86 lines
2.8 KiB
#-*- coding: utf-8 -*-
|
|
|
|
# Copyright 2008-2012 Calculate Ltd. http://www.calculate-linux.org
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import os
|
|
import sys
|
|
from os import path
|
|
from calculate.lib.datavars import Variables
|
|
|
|
from calculate.lib.cl_lang import setLocalTranslate
|
|
setLocalTranslate('cl_install',sys.modules[__name__])
|
|
|
|
from calculate.lib.utils.files import readLinesFile
|
|
from calculate.lib.utils.common import getKernelUid
|
|
|
|
class InstallKernel(Variables):
|
|
vars = ["os_install_kernel_scheduler","os_install_kernel_attr",
|
|
"os_install_kernel_resume","os_install_kernel","os_install_initrd",
|
|
"os_install_initrd_install","os_install_kernel_config",
|
|
"os_install_system_map","cl_install_kernel_uid",
|
|
"os_install_kernel_cpufreq"]
|
|
# install scheduler
|
|
os_install_kernel_scheduler = {}
|
|
|
|
# install kernel attributes
|
|
os_install_kernel_attr = {}
|
|
|
|
# install kernel resume
|
|
os_install_kernel_resume = {}
|
|
|
|
# kernel filename
|
|
os_install_kernel = {}
|
|
|
|
# optimized initramfs filename
|
|
os_install_initrd = {}
|
|
|
|
# install initramfs filename
|
|
os_install_initrd_install = {}
|
|
|
|
# install config kernel filename
|
|
os_install_kernel_config = {}
|
|
|
|
# install system map filename
|
|
os_install_system_map = {}
|
|
|
|
# install kernel uid
|
|
cl_install_kernel_uid = {}
|
|
|
|
os_install_kernel_cpufreq = {}
|
|
|
|
# value of conf.d/modules freq mod
|
|
def get_os_install_kernel_cpufreq(self):
|
|
"""Get cpufreq (and other from modules_3= param) from conf.d/modules"""
|
|
cpufreqmods = map(lambda x:x.partition('=')[2].strip("\n '\""),
|
|
filter(lambda x:x.startswith('modules_3'),
|
|
readLinesFile('/etc/conf.d/modules')))
|
|
if cpufreqmods:
|
|
return cpufreqmods[0]
|
|
else:
|
|
return ""
|
|
|
|
def get_os_install_kernel_uid(self):
|
|
return getKernelUid(self.Get('os_install_root_dev'))
|
|
|
|
def get_os_install_system_map(self):
|
|
systemmapfile = self.Get('os_install_kernel').replace('vmlinuz',
|
|
'System.map')
|
|
if systemmapfile.startswith('System.map') and path.exists(
|
|
path.join(self.Get('cl_chroot_path'),'boot',systemmapfile)):
|
|
return systemmapfile
|
|
else:
|
|
return ""
|
|
|