ARM ボードでカーネル イメージ (uImage) を解凍した後、start_kernel() 関数が呼び出されません。
start_kernel() 関数が呼び出されないのはなぜですか? ファイルarch/arm/kernel/head.sから呼び出す必要があることはわかっています。
uImage を解凍して start_kernel() を呼び出した後、どのようなシーケンスが発生していますか?
ARM ボードでカーネル イメージ (uImage) を解凍した後、start_kernel() 関数が呼び出されません。
start_kernel() 関数が呼び出されないのはなぜですか? ファイルarch/arm/kernel/head.sから呼び出す必要があることはわかっています。
uImage を解凍して start_kernel() を呼び出した後、どのようなシーケンスが発生していますか?
「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' の後にハングする」を試してください。