Boot

如何調試u-boot問題?

  • April 6, 2018

我正在努力在 Beaglebone Black 上安裝一個定制系統。事情大部分時間都在工作,但每隔一段時間,系統就會在開機時無法啟動。連接串列調試電纜時不會發生這種情況(這樣我就可以看到 u-boot 和核心消息。)

但是,我發現,在極少數情況下,如果我連接串列電纜,我發現我正坐在 u-boot 提示符下。如果我手動設置 u-boot 以從那裡載入核心和所有內容,我可以啟動只是找到(它可以讀取 eMMC 等)。

我的第一個想法是串列線路上有某種噪音導致 u-boot 中斷(我相信預設會在 2 秒內中斷空間)。但是,我重新編譯了 u-boot 以使用 0 秒延遲(不等待空格鍵),但這並沒有解決問題。

我怎樣才能弄清楚為什麼 u-boot 在啟動期間沒有連接串列電纜就停止了(因為這會使問題消失;Heisenbug)?我可以訪問是否啟用了任何類型的日誌記錄?

有一次,我有一塊板子,將 uart RX 引腳接地。所以u-boot總是看到一個按鍵。

不知道你用的是什麼版本…

/common/autoboot.c

功能

static int abortboot_normal(int bootdelay)

在返回之前添加該行

abort = 0;

這將返回沒有按下任何鍵。

引用自:https://unix.stackexchange.com/questions/436011