Назад | Перейти на главную страницу

Проблемы с отладкой паники ядра (кастомное ядро)

Я хочу скомпилировать собственное ядро ​​из официального дерева исходных текстов (kernel.org). Сама машина запускает последнее стабильное ядро ​​RHEL без проблем, но я не могу понять, почему оно паникует на любом стандартном ядре. Я подозреваю, что это проблема с драйвером, но я относительно новичок в ее отладке.

Ядро, которое попыталось скомпилировать со стандартной конфигурацией, - 2.6.32.55. Я также безуспешно пытался скомпилировать его с предыдущей рабочей конфигурацией ядра.

Технические характеристики машины следующие:

При попытке загрузиться в стандартное ядро ​​возникает паника при инициализации устройства-сопоставителя, что заставляет меня думать, что это проблема с драйвером RAID. Похоже, что в стандартном ядре установлены последние версии драйверов aacraid, хотя я попытался перекомпилировать ядро ​​с использованием последней версии с adaptec.com с той же проблемой.

Вот полученная мной трассировка стека. Мы будем очень благодарны за любую информацию о том, как продолжить отладку. Спасибо!

https://s3.amazonaws.com/uploads.hipchat.com/9460/23303/80l8xsnfl7fa7e9/panic2.png

Сообщения «Попытка убить init» обычно возникают, когда он не может найти / sbin / init (или не может его выполнить).

Дважды проверьте свой root= параметр в конфигурации загрузчика и убедитесь, что он указывает на устройство для вашего / раздел, а не /boot или где-нибудь еще случайно.

Изменить: Redhat также использует initrd, поэтому это может быть еще одной проблемой. Поэтому, если у вас настроен initrd, убедитесь, что /init в нем существует (ядро ищет /init при использовании initrd / initramfs и /sbin/init когда нет)

Я смог разобраться в проблеме. После получения более подробного вывода (с помощью поддержки SoftLayer, спасибо им) он показывал проблемы с setuproot. Похоже, что необходимо установить следующий параметр конфигурации ядра, чтобы включить старый стиль SYSFS.

CONFIG_SYSFS_DEPRECATED_V2=y

После этого ядро ​​загрузилось как положено.