LINUX.ORG.RU
ФорумAdmin

Сборка ядра 2.6.30


0

0

Собираю под Centos, предыдущее 2.6.18-8. При сборке использую конфиг от работающего ядра, изменений минимум, вроде выключения ipv6, pci-ex и wireless-сетей. Сборка ядра, модулей, установка, проверка записи GRUB. Загузка со свежего ядра - вываливается kernel panic при попытке монтирования файловых систем, при поиске LogVolume00. Пробовал собирать монолитно с принудительной поддержкой LVM, модульно (как по предлагал конфиг действующего ядра) - пофиг. Повключал вообще все возможности в плане дисков и разделов - пофиг. Гугль предлагает поразвлекаться с initrd, но, по идее, при монолитной сборке, это не нужно. Мож кто сталкивался?

Вот за это я и не люблю ванилу. За то, что она _не обязана_ работать.

Могу посоветовать только одно: проводить подобные финты хотя бы на свежей федоре.

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

> Могу посоветовать только одно: проводить подобные финты хотя бы на свежей федоре.

Увы, у меня под руками только Центос.

> а сами модули ФС включены модульно или монолитно?

ФС я не трогал, разбирался с LVM. В дефолтном, рабочем конфиге ФС с ext2 по ext3 включены монолитно, со всеми дополнительными опциями. В 2.6.30 есть пара новых опций, я отметил, щас вот собирается.

polozad
() автор топика

> вываливается kernel panic

фотку паники в студию. Чую просто ядро корень найти не может.

PS мне казалось что centos и ванильное ядро несовместимые вещи.

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

+1.
нормально не собранный initrd или ядро без нужных вещей собрано.

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

> Вот за это я и не люблю ванилу. За то, что она _не обязана_ работать.

Всё не так страшно, работает оно не реже дистрибутивных. Разумеется, юзерспейс, заточенный под испатченное вдоль и поперёк 2.6.18, может и не завестись на 2.6.30.

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

> фотку паники в студию. Чую просто ядро корень найти не может.

Именно, не может найти корень, пытается смонтировать фс, обламывается, потом attempt to kill init. Фото позже выложу.

> PS мне казалось что centos и ванильное ядро несовместимые вещи.

это моя первая сборка, третий день уже пытаюсь победить - с конфигом и сборкой ванилы вообще проблем нет, она тупо не поднимается. ковырялся с ядром 2.6.18-128 из репозитория центос, но там сборка идёт с ошибками и ворнингами, после чего обламывает при попытке make install.

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

> банально могли поменяться

загрузочный винт sata, т.е. уже sda.

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

Вручную сделанный снимок экрана с траблом загрузки, из того, что можно разглядеть, остальное ппц мелькает:

Volume group "VolGroup00" not found
Creating root device.
Mounting root filesystem.
mount: could not find filesystem '/dev/root'
Setting up other filesystems.
Setting up new root fs
setuproot: moving /dev failed: No such file or directory
no fstab.sys, mounting internal defaults
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
Switching to new root and running init.
unmounting old /dev
unmounting old /proc
unmounting old /sys
switchroot: mount failed: No such file or directory
init used greatest stack depth: 2600 bytes left
Kernel panic - no syncing: Attempted to kill init
Pid: 1, comm: init Not tainted 2.6.30 #1
Call trace: <всякие буквы>

как я понимаю, не найдя LogVol00, ядро пытается поднять новую фс, а вот там уже не работает init.

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

В общем, всем спасибо за участие:) Собрал новое ядро из репозитория центос, слил rpm-пакет, распаковал, сделал. Текущая версия 2.6.22, всё работает. Есть идея - я врубил монолитно поддержку SCSI - всю, которую нашёл. Оказывается, поддержка SATA в линуксе завязано на это, а загрузочный винт у меня именно sata, что я вычитал в хелпе menuconfig. Вполне возможно, ванильное ядро 2.6.30 тоже поднимется с аналогичными танцами, но ждать ещё минут 40 на проверку теории я как-то пока не хочу. Рогами я упирался три дня именно потому, что использовал как базу конфиг рабочего ядра, считая, что уж там всё включено ровно. Ан нет. Кстати, ванила, при самой первой конфигурации грузит тот самый действующий конфиг в качестве образца, о чём можно узнать после выхода из конфигурирования. А вот в центосовском пакете ядро шло со своим образцом конфига. Левелап.

polozad
() автор топика

В Centos не надо собирать своё ядро, максимум - скачивать src.rpm и пересобирать дистрибутивное.

Deleted
()

Не знаю делал ли ты make oldconfig. Если не делал то советую всегда делать при юзании старого конфига, т.к. старые настройки могли измениться до неузнаваемости, перенестись в другие разделы меню и, самое страшное, могли поменяться имена этих настроек в конфиге.

У меня так когда-то половина netfilter`а отрубилась в ведре после очередного обновления ядра (с использованием старого конфига). А всё потому, что опции отвечающие за него, переименовались.

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

Могу только предполагать в чём дело.

В общем, если хочется поипаться то можно сделать так. СДелать initrd с шеллом(может такая фича уже есть?) и по шагам выполнять всё что там делается.

Кстати, ты новый initrd сделал или из старого ядра взял? :)

PS лучше поставь генту, она лучше всех для таких экспериментов приспособлена.

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

У меня конфиг так ползал от 2.6.10 примерно до 2.6.30. Я не знаю, как назвать это, наверное, "потёк" конфиг, т.к. некоторые опции в make menuconfig стали невыключаемыми. Или невключаемыми. После построения .config с нуля через make menuconfig, всё стало нормально.

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

тот же касяк словил, полечил путем подсовывания конфига от 2.29_4, кстате ставить лучшо не надо это 2.30 нидсвраппер не пашет да и сеть слитает

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

Спасибо, конечно, но кто сказал, что я на rhel/centos собираю 2.6.30? :)

Deleted
()

У меня грузилось ядро 2.6.29 на CentOS
только я собирал через
make allnoconfig (бесит галочки ненужные снимать)
Но дело тут в другом

Сначало тоже был кернелпаник. помогло создание ручками
/dev/root и /dev/console.(через mknod)
У CentOS каталог /dev обычно пуст т.к родное ядро юзает рамдиск и UDEV.

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

> только зачем тебе LVM не совсем понимаю

Если вопрос ко мне, то ситуация следующая была - поставил Центос с двд, установщик сам автоматически делает lvm-разделы. Потом, после энного количества действий в виде всяческих настроек, понадобилось пересобрать ядро на этой же платформе, без правки разделов.

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

> В Centos не надо собирать своё ядро, максимум - скачивать src.rpm и пересобирать дистрибутивное.

Ну в итоге я так и сделал.

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