0

我正在尝试在我们基于 MIPS 的自定义硬件上启动 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 内存后挂起,我怀疑某些代码被错误标记__init,或者某些数据被错误标记__initdata。因此相应的页面被释放,内核在需要这些数据时崩溃。

我猜您已经编写了一些自定义内核代码来支持您的 MIPS 硬件。仔细检查您的代码,以确保您没有在这方面犯过一些错误。

于 2012-06-18T13:26:55.490 回答