LINUX.ORG.RU
ФорумAdmin

Ядро без initrd


0

0

Собирабю сабж на двухядерном Xeon. Системка Debian 4.0
Стоит два SCSI винта. RAID - чисто софтовый, mdadm.

В дистрибудтивном ядре с initrd усё гладко. Собираю ядро, планирую не использовать initrd.
Файловая системка - ext3, опция вкомпилена в ядро, модуль ata_piix тоже вкомпилен. RAID фишки и MD тоже в ядро намертво вкомпилил. Даж USB на всяк случай.

Но загрузить собраное ядро не могу - стандартная гадость - Can not mount root fs.
А ведь драйверы файловой системы, дисков и RAID я вкомпилил :(
Пробовал 2.6.18 и 2.6.22 (немножко с изменёнными настройками).
Подскажите плиз - просто редкий геммор.


З.Ы. Трабла даже если в fstab вернуть обратно /dev/md -> /dev/sda.
То есть работает реально токо дистрибутивный вариант :(.

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

> Файловая системка - ext3, опция вкомпилена в ядро, модуль ata_piix тоже вкомпилен.

а поддержка SCSI тоже вкомпилена? :)

isden ★★★★★
()

Попробуй расковырять тот initrd, с которым всё работает, и посмотреть, какие там модули.

anonymous
()

Гы-гы... А кастомные /etc, /lib и /sbin снужными толзами для предзагрузки ты тоже в ядро викомпилишь? init ramdisk - это несколько больше, чем простой набор модулей. Оставляй initrd и не мучай мозг.

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

> init ramdisk - это несколько больше, чем простой набор модулей

В общем случае - да. Однако, в установленной системе initrd нужен по единственной причине: он содержит ядрёные модули, необходимые для доступа к корневой файловой системе. Если это всё вкомпилить в ядро, то надобность в initrd пропадает.

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

> Однако, в установленной системе initrd нужен по единственной причине: он содержит ядрёные модули, необходимые для доступа к корневой файловой системе.

Гм. Вообще-то в данном случае нужно как бы и RAID собрать прежде чем к корню файловой системе домогаться. А значит, как минимум, иметь на рамдиске mdadm и конфиг для него.

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

Хотя да. Про рейд я и забыл. Правда, у автора и без рейда не работает, так что всё же модуля какого-то не хватает.

anonymous
()

а чем помешал initrd? чисто академический интересе...

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

Технически не мешает. Но стремлюсь к однородности - несколько серверков без него обходится, но там полноценные RAID контроллеры стоят. В общем вариант с initrd ещё можно принять - но дело в том что я уже делал 2.6.22 с initrd - не сильно помогло. Попробую поковырять initrd от 2.6.18.
Спасибо.

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

>З.Ы. Трабла даже если в fstab вернуть обратно /dev/md -> /dev/sda.

А это то при чем? Ядро не читате fstab. Попробуй при загрузке кормить ему root=/dev/md или root=/dev/sda (а потом пропишешь это в загрузчике).

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

Тая я примерно так и прописую в грабе. Дистрибутивное при этом отменно грузится :(

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

Теперешние "умные" initrd любят наполнять /dev динамически: убедись, что при загрузке с самосборного ядра там есть нужные тебе устройства

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

Вы имеете ввиду механизм udev?
Я расковыряю initrd - думаю это будет верный ответ на вопросы

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