noapic和acpi off能幫我做到什麼?

2021-07-07 04:34:53 字數 1506 閱讀 7117

06年1月的時候寫過一篇有關

acpi和apic

的帖子。當時寫這個帖子有兩個原因:一是確實遇到了很多人混淆了apic和acpi的差別,也難怪,他們兩個長得也太像了。二來是因為當時與次相關的兩個核心引數(noapic,acpi=off)幫我解決了乙個當時我覺得不可思議的問題,所以覺得有必要記錄下來。

後來我又寫了乙個

帖子,說到了又一次用這兩個引數解決疑難雜症的事情。

沒有想到,從那以後,我遇到很多奇怪的問題,基本都你覺得事情蹊蹺的時候,一用這兩個引數,嘿嘿,準行。

加上今天,我又遇到了使用這兩個引數解決問題的事情,所以想記錄一下我到目前遇到的這類問題,算是乙個回憶吧。

最早應該是calias專案了,dc4.1安裝在

ibmx346(現在的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

GPIO時鐘使能和串列埠時鐘使能的關係

由於stm32有很多外設,為降低功耗,每個外設都對應著乙個時鐘。在晶元剛剛上電時,這些時鐘都是被關閉的。如果想要外設工作,必須把相應的時鐘開啟。即當gpio口復用usart進行通訊時,必須要先使能gpio的時鐘,然後再使能具體外設的時鐘 usart的時鐘 1.stm32微控制器的i o埠配置步驟 1...

true 和 false也能相等

以下讓大家看到乙個true和false相等的問題研究 先看第乙個東西 var b boolean console.log b console.log 得到的結果是true,足以說明空陣列在進行布林轉化時會轉化為true 那麼自然可以得到結論 應該是false,驗證一下 console.log 確實是...

Rubinius能執行Rails和Merb了

在railsconf 08會議 5月下旬舉行 中,rubinius成功執行了乙個簡單的rails應用程式。rubinius專案的成員evan phoenix介紹了rubinius是如何執行rails的 u0026 xd n u0026 xd n 今晚,我非常榮幸地宣布,rails能夠在rubiniu...