0

私は、cutomMIPSベースのハードウェアでLinux-3.4.1を起動しようとしています。行を印刷した後にハングしました

VFS:Mounted root (ubifs filesystem)

さらにデバッグすると、カーネルがfree_init_mem()[arch / mips / mm/init.c]でハングしていることがわかりました。free_init_memのハングの場所を特定するためのデバッグ出力は次のとおりです。

Freeing unused kernel memory:  8038e000 - 803bb000
Freeing unused kernel memory: 8038e000 page
Freeing unused kernel memory: 8038f000 page
Freeing unused kernel memory: 80390000 page
Freeing unused kernel memory: 80391000 page
Freeing unused kernel memory: 80392000 page
Freeing unused kernel memory: 80393000 page
Freeing unused kernel memory: 80394000 page
.....
Freeing unused kernel memory: 803b4000 page
<hang>

上記のハングをデバッグするためのヘルプは非常に役立ちます。

4

1 に答える 1

0

いくつかのランダムな推測:初期メモリを解放した後にハングするため、一部のコードが誤ってマークされている__initか、一部のデータが誤ってマークされていると思われ__initdataます。そのため、対応するページが解放され、このデータが必要になるとカーネルがクラッシュします。

MIPSハードウェアをサポートするためにいくつかのカスタムカーネルコードを実行したと思います。コードを再確認して、これに間違いがないことを確認してください。

于 2012-06-18T13:26:55.490 に答える