06年1月的时候写过一篇有关 acpi和apic的帖子。当时写这个帖子有两个原因:一是确实遇到了很多人混淆了apic和acpi的差别,也难怪,他们两个长得也太像了。二来是因为当时与次相关的两个核心参数(noapic,acpi=off)帮我解决了一个当时我觉得不可思议的问题,所以觉得有必要记录下来。
后来我又写了一个 帖子,说到了又一次用这两个参数解决疑难杂症的事情。
没有想到,从那以后,我遇到很多奇怪的问题,基本都你觉得事情蹊跷的时候,一用这两个参数,嘿嘿,准行。
加上今天,我又遇到了使用这两个参数解决问题的事情,所以想记录一下我到目前遇到的这类问题,算是一个回忆吧。
最早应该是CALIAS项目了,DC4.1安装在 IBM X346(现在的X3650)上。配有Qlogic的光纤卡,单核心启动一切OK,多核心起来,光纤卡看上去驱动正常了,就是无法访问阵列柜。
后来把机器扛到了公司,经过研发牛人的指点,算是搞定了,从那次起,知道了有这么一个参数。
同样机器和配置,在另外一个项目中也遇到了这个情况,不过要惨一点,kernel panic。加上这两个参数后,问题解决。
如果没有记错的话, HP ML570机器,安装X86-64版本的DC5,到解压内核时,不动了,按键盘没有响应。重启后,加入这两个参数搞定。
IBM R52笔记本安装红旗桌面4.1plus,安装正常,启动时,到出现ACPI后,不再往下走,加上apci=off后,问题解决。
还有若干次安装普通X86 pc服务器时,出现内核错误,增加这两个参数启动后搞定。
普通台式机,非集成的RTL-8100B/8139D网卡,安装DC5后,网卡能驱动,就是ping不通网络,dmesg能看到
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timeout, status 0c 0005 c07f media 00.
eth0: Tx queue start entry 4 dirty entry 0.
eth0: Tx descriptor 0 is 0008a03c. (queue head)
eth0: Tx descriptor 1 is 0008a03c.
eth0: Tx descriptor 2 is 0008a03c.
eth0: Tx descriptor 3 is 0008a03c.
eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
NETDEV WATCHDOG: eth0: transmit timed out
开始以为是驱动版本过低,但是想想这样的网卡对linux而言是多么的标准呀,百思不得其解中,加入这两个参数,问题解决。
总之:如果你遇到了觉得不可思议的问题时,可以优先考虑增加acpi=off noapic的核心参数,也许以为是大问题的事情就这么轻松的解决了。
后来我又写了一个 帖子,说到了又一次用这两个参数解决疑难杂症的事情。
没有想到,从那以后,我遇到很多奇怪的问题,基本都你觉得事情蹊跷的时候,一用这两个参数,嘿嘿,准行。
加上今天,我又遇到了使用这两个参数解决问题的事情,所以想记录一下我到目前遇到的这类问题,算是一个回忆吧。
最早应该是CALIAS项目了,DC4.1安装在 IBM X346(现在的X3650)上。配有Qlogic的光纤卡,单核心启动一切OK,多核心起来,光纤卡看上去驱动正常了,就是无法访问阵列柜。
后来把机器扛到了公司,经过研发牛人的指点,算是搞定了,从那次起,知道了有这么一个参数。
同样机器和配置,在另外一个项目中也遇到了这个情况,不过要惨一点,kernel panic。加上这两个参数后,问题解决。
如果没有记错的话, HP ML570机器,安装X86-64版本的DC5,到解压内核时,不动了,按键盘没有响应。重启后,加入这两个参数搞定。
IBM R52笔记本安装红旗桌面4.1plus,安装正常,启动时,到出现ACPI后,不再往下走,加上apci=off后,问题解决。
还有若干次安装普通X86 pc服务器时,出现内核错误,增加这两个参数启动后搞定。
普通台式机,非集成的RTL-8100B/8139D网卡,安装DC5后,网卡能驱动,就是ping不通网络,dmesg能看到
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timeout, status 0c 0005 c07f media 00.
eth0: Tx queue start entry 4 dirty entry 0.
eth0: Tx descriptor 0 is 0008a03c. (queue head)
eth0: Tx descriptor 1 is 0008a03c.
eth0: Tx descriptor 2 is 0008a03c.
eth0: Tx descriptor 3 is 0008a03c.
eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
NETDEV WATCHDOG: eth0: transmit timed out
开始以为是驱动版本过低,但是想想这样的网卡对linux而言是多么的标准呀,百思不得其解中,加入这两个参数,问题解决。
总之:如果你遇到了觉得不可思议的问题时,可以优先考虑增加acpi=off noapic的核心参数,也许以为是大问题的事情就这么轻松的解决了。
方法:
/boot/grub/menu.lst文件,在启动的核心kernel那行最后加上
acpi=off noapic
acpi=off noapic