-1

ARM ボードでカーネル イメージ (uImage) を解凍した後、start_kernel() 関数が呼び出されません。

start_kernel() 関数が呼び出されないのはなぜですか? ファイルarch/arm/kernel/head.sから呼び出す必要があることはわかっています。

uImage を解凍して start_kernel() を呼び出した後、どのようなシーケンスが発生していますか?

4

2 に答える 2

0

「Linux の圧縮を解除しています... OK、カーネルを起動しています」の後に起動が停止する最も一般的な原因は、カーネル コマンド ラインのコンソール デバイスが正しくないことです。たとえば、2.6.35 から 3.19.5 にアップグレードした後、コンソール デバイス名が(i.MX23/28 で)から/dev/ttyAM0に変更された可能性があります。/dev/ttyAMA0また、カーネルコマンドラインのコンソールデバイス名に続くシリアルポート設定がある場合は、それが正しいことも確認する必要があります。

ブート ローダーを介して有効な ATAG アレイまたはデバイス ツリー (*.dtb) ファイルを渡していることを確認します。

もう 1 つの考えられる原因は、エントリ ポイントが正しくないことです。

検索エンジンのフレーズ「ARM ブートが 'Uncompressing Linux....done, booting the kernel' の後にハングする」を試してください。

于 2013-11-07T03:37:02.120 に答える