Linux
調試核心恐慌(自定義核心)的問題
我正在尋找從官方原始碼樹 (kernel.org) 編譯自定義核心。機器本身執行最新的穩定 RHEL 核心沒有問題,但我似乎無法弄清楚為什麼它會在任何庫存核心上出現恐慌。我懷疑這是一個驅動程序問題,但是我在調試這個方面相對較新。
嘗試使用股票配置編譯的核心是 2.6.32.55。我還嘗試使用以前的工作核心配置對其進行編譯,但無濟於事。
機器規格如下:
- 主機板:SuperMicro X9SCI-LN4F Intel Xeon SingleProc SATA
- CPU:英特爾至強-SandyBridge E3-1270-四核
- 帶有 Adaptec 5405Z 控制器的 RAID-1
- 驅動器:希捷獵豹
當嘗試啟動到股票核心時,它會在設備映射器初始化時出現恐慌,這讓我相信這是 RAID 驅動程序的問題。庫存核心似乎具有最新的 aacaid 驅動程序,儘管我已嘗試使用來自adaptec.com 的最新版本重新編譯核心並遇到相同的問題。
這是我收到的堆棧跟踪。任何有關如何進一步調試的資訊將不勝感激。謝謝!
https://s3.amazonaws.com/uploads.hipchat.com/9460/23303/80l8xsnfl7fa7e9/panic2.png
“試圖殺死 init”消息通常是在它找不到 /sbin/init(或者它無法執行它)時引起的。
仔細檢查您
root=
的引導載入程序配置中的參數,並確保它指向您/
分區的設備,而不是/boot
意外指向或其他任何地方。編輯:Redhat 也使用 initrd,所以這可能是另一個問題。因此,如果您配置了 initrd,請確保
/init
其中存在(核心會/init
在使用 initrd/initramfs時查找,/sbin/init
何時不查找)
我能夠弄清楚這個問題。在獲得更詳細的輸出後(在 SoftLayer 支持的幫助下,對他們表示敬意),它顯示了 setuproot 的問題。似乎需要設置以下核心配置選項以啟用舊式 SYSFS 東西
CONFIG_SYSFS_DEPRECATED_V2=y
之後,核心按預期啟動。