KERNEL PANIC - с чем его едят (а также материалы по сборке ядра)

Готовые решения для многих вопросов, которые очень часто задаются снова и снова.

Модератор: Модераторы разделов

Аватара пользователя
Juliette
Сообщения: 5058
Статус: ROSA Lab
ОС: Ubuntu LTS, Mandriva 2011

KERNEL PANIC - с чем его едят

Сообщение Juliette » 18.12.2006 12:14

Товарищи, большая просьба - все свои проблемы по ядру выносите в отдельные топики, вас за это никто не укусит! :)

Если panic происходит при установке бинарного дистра (а ля Федора) - это 99,9% вероятность того, что была неправильно сделана разбивка диска.

Основные причины, когда бывает kernel panic при сборке/пересборке ядра:
  • не включили в ядро поддержку корневой фс
  • корневая фс включена модулем (надо жёстко)
  • если таки хочется корневую фс. сделать модулем (ну там размер ядра поменьше) - то обязательно нужно создавать initrd образ командой mkinitrd (почитать по англ. можно здесь )
  • неправильно указано ваше железо в ядре, тип жёсткого диска (IDE, SCSI), чипсеты и так далее
  • забыли скопировать нужные файлы в /boot - например System.map или bzImage
  • не была включена поддержка devFs если вы не используете udev
Ещё для товарищей жентушников, любящих genkernel (ну и вообще может пригодиться):
serzh-z писал(а):
11.10.2006 22:51
Возможных причин тры:
- в ядро не встроен драйвер ФС, а initrd с модулем не подключен
- драйвер ФС есть, включен initrd от genkernel, но не указан путь к корню (real_root), который ожидает initrd от genkernel и на которой он делает pivot_root в своем linuxrc или init
- драйвер ФС есть в ядре, initrd не включен, но не указан путь к корню (root)
Ладно, пусть будет четыре:
- привод SATA/SCSI, initrd подключен, драйверы SATA/SCSI лежат модулям и в initrd, но он их не грузит, так как для ядра не указан параметр doscsi

(Опять же господам жентушникам не забывать подмонтировать /boot перед разборками с ядром)

Также не забываем первым делом почитать внимательно /usr/src/linux/README и покопаться в /usr/src/linux/Documentation.

Хорошие ссылки по сборке ядра на англ:
раз
два

На русском:
здесь
знаменитая "Ядерная физика для домохозяек"

И самое главное при сборке ядра - это внимательность и ещё раз внимательность, потому что есть тыщи случаев, когда люди просто не помнят, чего и как они включали, а потом после аварийной пересборки рапортуют - да вот, теперь грузится нормуль, это я просто забыл указать свой контроллер (хотя бил себя пяткой в грудь, что "указал")
Также не забываем правильно конфигурировать свой загрузчик (опять же читаем доки), внимательно считаем свои цифирки для разделов диска (например в выводе df -h) и переводим их в цифирки для GRUBа.
чтение про GRUB на англ.
В.Попов про GRUB
ресурсы на opennet по LILO&GRUB
Также правильно расписываем свой /etc/fstab.(читаем man fstab)
(NB - по fstab'у много чего есть также в прикреплённой теме "права доступа")

Ещё говорят, что SUSE очень не любит, когда ей подсовывают "ванильные" ядра с kernel.org.

Изображение Очень прошу господ линуксоидов, успешно работающих на нестандартном и трудном железе, добавлять сюда конкретные и чёткие рецепты для сборки ядра под эти конфигурации.
Изображение Также для SATA RAID типичные ошибки и правильные опции прошу добавлять (вот тут ФАК небольшой также лежит, на англ.)
Спасибо сказали:

Аватара пользователя
alv
Бывший модератор
Сообщения: 7261
Статус: Пенсионер в законе
ОС: Cintu

Re: KERNEL PANIC - с чем его едят

Сообщение alv » 18.12.2006 12:51

Пара дополнений
С поддержкой носителей, несущих корневую файловую систему (точнее, их контроллеров, в том числе и хардверных RAID) нужно поступать аналогично корневой файловой системе, то есть:
либо жестко встроить в ядро, либо собрать модулем и сделать initrd.
devfs должна быть включена, если не используется udev, в противном случае ее не должно быть.

Еще ссылки про GRUB на русском:
http://www.posix.ru/system/grub/
http://www.posix.ru/system/grub_faq/


пофиксила про devfs
Спасибо сказали:

Аватара пользователя
mark
Бывший модератор
Сообщения: 2055
Статус: ...
ОС: Windows 7

Re: KERNEL PANIC - с чем его едят

Сообщение mark » 24.12.2006 21:46

В дебиане, ядро лучше собирать дебиановским методом:
те после

Код: Выделить всё

make xconfig (menuconfig)

нужно сделать

Код: Выделить всё

make-kpkg clean

потом

Код: Выделить всё

make-kpkg -initrd --revision=386 kernel_image kernel_headers modules_image

вместо 386 пишем, то что надо, 686, к7 и тд.
Ну и ставим ядро как обычный пакет

Код: Выделить всё

dpkg -i *.deb
.

После этого отпадают многие проблемы, связанные с тем, что что-то забыли сделать, или что-то забыли исправить.
Спасибо сказали:

Аватара пользователя
alv
Бывший модератор
Сообщения: 7261
Статус: Пенсионер в законе
ОС: Cintu

Re: KERNEL PANIC - с чем его едят

Сообщение alv » 24.12.2006 23:32

В дополнение mark'а: процесс сборки ядра по дебиановски описан здесь:
http://citkit.ru/articles/176/
Спасибо сказали: