2012-06-18 1 views
0

Я пытаюсь поднять Linux-3.4.1 на нашем оборудовании, основанном на MIPS. Он висел после печати линииLinux Kernel 3.4.1 зависает после печати «VFS: Установленный корень (файловая система ubifs)».

VFS:Mounted root (ubifs filesystem) 

На дальнейшей отладки, было установлено, что ядро ​​висит в free_init_mem() [арка/MIPS/мм/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> 

Любая помощь для отладки выше откосе будет очень полезно.

ответ

0

Только некоторые случайные догадки: поскольку он зависает после освобождения памяти init, я подозреваю, что некорректный код некорректно обозначен __init, или некорректно обозначены некоторые данные __initdata. Таким образом, соответствующие страницы освобождаются, и ядро ​​падает, когда ему нужны эти данные.

Я думаю, вы сделали некоторый код ядра для поддержки вашего оборудования MIPS. Дважды проверьте свой код, чтобы убедиться, что вы не допустили ошибок.

+0

Это произошло из-за keep_bootcon в ядрах args; Как только я отключил bootconsole, плата начала нормально загружаться. – lxusr