#-*- 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.cl_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 ""