Chinaunix

标题: redhat9换内核后不能关机解决 [打印本页]

作者: flyingeagle1015    时间: 2013-03-14 23:39
标题: redhat9换内核后不能关机解决
本帖最后由 flyingeagle1015 于 2013-03-14 23:43 编辑

    哥是小菜,高手飘过。。。。。。
背景
    由于本本不给力,编译一次linux2.6就要一个多小时(虽然有做精简,水平有限),只好暂时把内核改动转到2.4,代码学习依然用2.6(等攒点钱了换本本-_-#)。把平台换到了redhat9,采用了内核版本为2.4.37.11。
内核在redhat9原有内核基础上仅开启了SMP,结果关机不掉电,如图:

结果再怎么也不动了,找谷哥没招(计算机门外汉不会搜),what can i do,hit it by myself!Yeah!
分析
看到这一幕,一头雾水,肿么办?系统出问题了 ~~
1、先看看启动日志找找线索
    有一句日志进入我的视线,my god(linux电源管理相关的是apm,直接切入)

有点眉目了,大致知道了原因,可以怎么解决呢?Linux嘛,看代码是王道。

2、搜代码弄死它
       直接在代码里搜索相关日志,像我这个笨的都会,哈哈   
    if ((smp_num_cpus > 1) && !power_off && !smp) {
                printk(KERN_NOTICE "apm: disabled - APM is not SMP safe.\n";
                return -ENODEV;
        }
       一看就明白了吧,我的CPU有两个,所有power_off和smp不对,在找这俩的出去,咋不对呢?
     在apm_setup中是这样的:
       if (strncmp(str, "smp", 3) == 0)         {
                        smp = !invert;
                }
                if ((strncmp(str, "power-off", 9) == 0) || (strncmp(str, "power_off", 9) == 0))
                        power_off = !invert;
     invert就是看有没有前缀no-、no_。
3、解决验证下
   启动参数加上apm=on,power-off,smp,十几分钟搞定O(∩_∩)O哈哈~

作者: ckf513728912    时间: 2013-03-22 17:18
强  帮顶一个 谢谢分享




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2