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,结果关机不掉电,如图:
clip_image003.gif
(9.96 KB, 下载次数: 18)
下载附件
2013-03-14 23:39 上传
结果再怎么也不动了,找谷哥没招(计算机门外汉不会搜),what can i do,hit it by myself!Yeah!
分析
看到这一幕,一头雾水,肿么办?系统出问题了
~~
1、先看看启动日志找找线索
有一句日志进入我的视线,my god(linux电源管理相关的是apm,直接切入)
clip_image002.gif
(6.29 KB, 下载次数: 17)
下载附件
2013-03-14 23:39 上传
有点眉目了,大致知道了原因,可以怎么解决呢?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