LINUX.ORG.RU

Очередной panic при самосборном ядре


0

0

Сколько собирал ядра - ни одно не загрузилось нормально. Это (2.6.16.20) не исключение. Собрал с поддержкой в ядре reiserfs, а корневой раздел, похоже, монтироваться не хочет. Вот что выдает в конце:

modprobe: FATAL: Could not load /lib/modules/2.6.16.20/modules.dep: No such file or directory

umount: devfs: not mounted

pivot_root: No such file or directory

/sbin/init: 432: cannot open dev/console: No such file

Загрузил 2.6.8 - нужный файл имеется. Что еще можно упустить, чтобы монтирование корня не происходило? Система debian sarge.

★★

> Сколько собирал ядра - ни одно не загрузилось нормально.
Классно сказал! ;-)
> Что еще можно упустить, чтобы монтирование корня не происходило?
Попробую по-порядку:
1. Корневая ФС должна быть вкомпилена НЕ модулем.
2. Чипсет винчестера

Вижу модули не находит - make modules_install делал?
udev обновлял?

UVV ★★★★★
()
Ответ на: комментарий от UVV

модули устанавливал. reiser не модулем. А вот udev не обновлял. Это обязательно? Будет ли старое ядро с ним работать?

Думаете, забыл чипсе винчестера прикрутить в ядро?

KS ★★
() автор топика

Такое бывает когда initrd не собран.

Должна быть сделана команда типа

mkinitrd /boot/initrd.img-2.6.16.20 2.6.16.20,

и прописан этот /boot/initrd.img-2.6.16.20 в конфиге grub/lilo.

?

mr ★★
()
Ответ на: комментарий от TheFallenAngel

У меня в ubuntu были абсолютно такие же сообщения (дословно).

Хотя действительно возможно тут проблема с reiserfs -- его надо либо зашивать в ядро, либо в initrd соотв. модуль втыкать.

mr ★★
()
Ответ на: комментарий от mr

> Такое бывает когда initrd не собран.
Вам следует почитать для чего нужен initrd!

UVV ★★★★★
()
Ответ на: комментарий от KS

> А вот udev не обновлял. Это обязательно?
Да при переходе с 2.6.11 на >= 2.6.12 и при переходе с 2.6.15 на более старшие!
> Будет ли старое ядро с ним работать?
Запросто! У меня же работает. ;-))
> Думаете, забыл чипсе винчестера прикрутить в ядро?
Вполне! Есть другое мнение?

UVV ★★★★★
()
Ответ на: комментарий от mr

Я так initrd создавал:

mkinitrd -o /boot/initrd.img-2.6.16.20

А затем его прописывал в menu.lst

udev надо попробовать обновить. Конфиг я взял со стандартного демьяновского 2.6.8 и правил незначительно. btw reiserfs там модулем, а у меня все работает (???). Они что-то не так сделали?

KS ★★
() автор топика
Ответ на: комментарий от KS

Afaik, указании версии существенно:
вместо

mkinitrd -o /boot/initrd.img-2.6.16.20
mkinitrd -o /boot/initrd.img-2.6.16.20 2.6.16.20

>btw reiserfs там модулем, а у меня все работает (???).

По идее, mkinitrd и должен в initrd.img соотв. модуль запихнуть.

mr ★★
()
Ответ на: комментарий от mr

Проблема была в mkinitrd. Заработало. Всем спасибо. Буду udev еще новый ставить.

А еще скажите, я пробовал пропатчить ядро до 2.6.16.25, так оно после этого ошибки при сборке выдавало. Странно...

KS ★★
() автор топика
Ответ на: комментарий от KS

Хооооспади... вот эта шняга:

FATAL: Could not load /lib/modules/2.6.16.20/modules.dep

русским языком говорит, что мало того, что не было выполнено 'make modules_install', так еще и 'depmod 2.6.16.20' не сделан... HOW-TO для кого пишут?

Gharik
()
Ответ на: комментарий от Gharik

Это не из той оперы, дурик... тьфу, Гарик =)

Этот modules.dep должен находиться в initrd, а не в главной fs. Очевидно, в initrd для более старой версии ядра его просто не было, а для новой он был нужен.

mr ★★
()
Ответ на: комментарий от KS

>А еще скажите, я пробовал пропатчить ядро до 2.6.16.25, так оно после этого ошибки при сборке выдавало. Странно...

Если накладываешь на уже скомпиленное ядро, то надо make mrproper сделать (согласно README).

mr ★★
()
Ответ на: комментарий от mr

И какая ж разница, Мурка, где располагаются модули с депами, если поддержка контроллера и ФС на / уже в ядре? ;)

Я больше скажу - ИМХО костыли типа initrd - есть зло и лишние проблемы, плюс переусложнение процесса загрузки. Для general purpose дистрибутива это оправдано, ибо у него цель - загружаться везде и всюду, а если на готовой системе - то лишние проблемы.

Gharik
()
Ответ на: комментарий от Gharik

>не было выполнено 'make modules_install'

Было. И я об этом уже писал.

KS ★★
() автор топика
Ответ на: комментарий от mr

>Если накладываешь на уже скомпиленное ядро, то надо make mrproper сделать (согласно README).

Делал. Кстати, у меня при пропатчивании часто пишут, что текущий модуль более новый.

KS ★★
() автор топика
Ответ на: комментарий от KS

Я вижу ты не в курсе, что все патчи типа 2.6.v1.v2 накладываются на версии 2.6.v1, а не на 2.6.v1.(v2-1).

Откатиться -- это я имел ввиду просто "patch -R", типа "patch -R -p1 < /path/to/patch-2.6.16.20".

После чего можно сделать "patch -p1 < /path/to/patch-2.6.16.25".

Понятно?

Либо каждую новую версию прийдётся качать полностью заново =) по сорок мегов.

mr ★★
()
Ответ на: комментарий от mr

Да, читал про эту опцию в мане патча. Стормозил.

Спасибо за помощь.

KS ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.