ядро паникует при изменении glibc

для пользовательской платы я внес несколько изменений в glibc в коде malloc. заменил glibc в корневой файловой системе и скомпилировал ядро, чтобы иметь эту корневую файловую систему. Когда ядро ​​​​загружается, я получаю панику ядра с ошибкой:

  not syncing- attempted to kill init!

Здесь init — это ссылка на busybox, который компилируется динамически.

Я считаю, что это связано с тем, что процесс инициализации не может работать, потому что он может пытаться получить доступ к функциям glibc, что в конечном итоге приводит к его сбою. Не могли бы вы сказать мне, будет ли в это время вообще присутствовать glibc?, и если да, то как я могу добраться до места сбоя, поскольку паника ядра не предоставляет мне полезной информации.

спасибо, Капил


person Kapil    schedule 28.11.2011    source источник


Ответы (1)


Я не знаю прямого ответа на ваш вопрос, но вот что я всегда делаю, чтобы получить больше информации для отладки такого рода проблем (паника ядра), и это всегда помогало мне. Вы должны включить функцию модуля Kernel oops. Когда происходит паника ядра, это даст вам трассировку всех подпрограмм, которые были вызваны до этой паники ядра. Он печатает его на терминале. Очень полезно увидеть, откуда взялась система до сбоя. Я не знаю, какую платформу вы используете, но я использую ARM, и я могу сделать это из меню конфигурации. Это, вероятно, аналогично для другой платформы.

person Sylvain Huard    schedule 28.11.2011