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...