2017-06-23 52 views
0

我需要找到導致AHCI磁盤驅動程序啓動過程中內核啓動失敗的第三方虛擬機監控程序的問題。如何在內核啓動時添加printk函數

So, is there any way to add print boot up message while kernel boot up? The kernel boot process is failure, so it is impossible to see printk information after system boot. 

How to debug kernel, while the system boot up, thanks 
+0

*「系統啓動後無法看到printk信息。」* - 您需要解釋這一點。你確定內核甚至開始執行嗎?這是什麼拱門?您是否嘗試啓用'earlyprintk'? – sawdust

+0

謝謝,內核開始執行,我嘗試使用HART調試接口。然而,我還沒有找到足夠的操作細節信息來做到這一步一步。 –

回答

0

下面是一些建議,你可以嘗試一下:

  1. 啓用CONFIG_EARLY_PRINTKKenrel hacking -> Kernel low-level debugging functions menuconfig的選項發現
  2. 如果你有UART調試訪問,選擇適當的UART端口,用於早期的printk
  3. 啓動你的內核有額外的調試參數喜歡debug earlyprintk
  4. 你也可以嘗試在中添加一些打印在init/main.c中找到。要打印函數指針的名稱,可以使用printk%pS格式說明符。關於printk格式說明符的更多細節可以在這裏找到:https://www.kernel.org/doc/Documentation/printk-formats.txt

希望這有助於!

+0

感謝您的建議,它對我非常有用, 順便說一下,對於thrd建議,如何「其他調試參數喜歡debug earlyprintk」?對於建議2,如何配置適當的UART端口early printk 。你能否詳述一下,謝謝 –

+0

1.如果你的平臺使用bootloader,它可以選擇將命令行參數傳遞給kenrel。 2.檢查您當前的內核命令行參數,以查看'console'輸出重定向到哪個設備。啓用「CONFIG_EARLY_PRINTK」時使用該控制檯 – vtha

相關問題