Linuxカーネルは「カーネル起動中...」で中断されます。

Linuxカーネルは「カーネル起動中...」で中断されます。

私の組み込みデバイスでセキュアブートを正常に有効にしました。問題は、このモードで起動すると、次の行以降にプロセスが中断されるようです。

Starting kernel ...

U-bootがカーネルをメモリにコピーし、bootmコマンドを実行すると。

デバッガでは、PCがyieldコマンドに停止し、割り当てにかかることをキャッチできました。pc = pc-4つまり、本質的にループです。

私は以前はそれほど低レベルのLinuxにさらされたことがなかったので、どこから見るべきかわかりません。ただし、セーフモードでない場合でもカーネルイメージを正常に起動できることがわかりました。

1) 通常、スイッチングステップを実行するU-bootの診断情報はどこにありますか?

2)実行はいつカーネルに完全に渡されますか?つまり、U-bootはいつ期限切れになりますか?

ベストアンサー1

おそらく、次の手順を使用してLinux初期印刷のメモリをダンプできます。その理由は、カーネルが起動中ですが、コンソールが初期化される前に停止するためです。また、ubootのカーネルエントリポイントにコンテンツを印刷し、制御がカーネルに送信されたことを確認します。

ファイルを見つけますSystem.maplog_bufアドレスを識別するには、次のコマンドを使用します。

grep __log_buf System.map

これは次のように出力されます

c0352d88 B __log_buf

ボードをウォームブートします(RAMの内容は削除しないでください)。

Ubootのメモリダンプ(c0352d88)__log_buf。カーネルコンソールの印刷をダンプします。これにより、停止が発生した場所を正確に確認できます。

おすすめ記事