LINUX.ORG.RU

Вопрос


0

0

Прошу прощения, я повторяю вопрос ,
так как не успел кое что выяснить...

Вот мой вопрос :
собрал новое ядро - 2.4.22
а было 2.4.20-8
так вот при его загрузке написано :
kernel panic:no init found...
и т.д.
вот мой конфиг груба

default=0
timeout=2
splashimage=(hd0,0)/grub/splash.xpm.gz
title LINuX (2.4.20-8)
root (hd0,0)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi
initrd /initrd-2.4.20-8.img
title New_test (2.4.22)
root (hd0,0)
kernel /bzImage ro root=/dev/hdb1 hdc=ide-scsi

Может нужно к этому ядру тоже initrd , только вот где его взять?

некто Vinill ответил :

тема уже по триста раз перетерта - ты отключил в ядре поддержку initrd, теперь выкинь в настройках груба initrd /initrd-2.4.20-8.img

и будет тебе щастье. да, еще хорошо бы к / путь напрямую прописать - /dev/hdxxx

-----
так вот строка initrd /initrd-2.4.20-8.img относится к старому ядру,
а мне надо чтобы заработало новое
(title New_test (2.4.22)
root (hd0,0)
kernel /bzImage ro root=/dev/hdb1 hdc=ide-scsi)

и еще я не понял как расшифровывается /dev/hdxxx (почему 3 икса?)


спасибо

anonymous

Initrd нужен в тех случаях, когда заранее неизвестно где ядро будет запускатся, поэтому в нём лежат модули (Ide, scsi и прочее) а также всевозможные файловые системы (ext2, ext3, reiser, jfs, minix и т.д.). А так как ты скомпилировал ядро для личного использования, то тебе всё это особо не нужно. Поэтому делаешь так:
1. Компилируешь ядро заново, при этом IDE драйвер и свою файловую систему вшиваешь жестко, а остальные ФС модулями.
2. В грубе initrd оставляешь пустым , те вместо
initrd /initrd-2.4.20-8.img
оставляешь
initrd
После этого всё должно заработать

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