Вторник, 23.04.2024, 17:51
Приветствую Вас Гость | RSS
Мой сайт
Главная
Регистрация
Вход
Форма входа

Меню сайта

Категории раздела
Об ОС Windows [137]
В категории размещаются статьи, касающщиеся операционных систем от Microsoft.
Об ОС *Nix [198]
В данной категории собраны статьи об ОС семейства Unix/Linux/FreeBSD/...
Справочные материалы [351]
Справка по всему разделу.
Виртуализация и Облака [46]
Networks & Routing [86]
DataBases [22]

Наш опрос
Оцените мой сайт
Всего ответов: 209

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Системное администрирование » Об ОС *Nix

ubuntu kernel initrd features
UnterSchrift: mkinitrd, нужен ли он для свежескомпилированного ядра?

However, going back to the original problem, I was able to create an initrd image without mkinitrd (of package initrd-tools). To be more specific, "update-initramfs -c -k 12.6.25" command (of package initramfs-tools) seems to do the same job as "mkinitrd" which I was trying to install.

Thanks

UnterSchrift
unregistered (автор темы)

написано 05.09.2007 15:10 ПравкаОтветитьИзвестить модератораIP
Доброго дня!

Вопрос следующий:

Скачал ядро 2.6.22.6 с кернел.орг, затем откомпилировал его. Далее откомпилировал модули, используя команды make modules и make modules_install. в папке /lib/modules содержится папка 2.6.22.6 с модулями.

Теперь пробую создать initrd. Подскажите как правильно создать его для ядра. По описаниям из opennet не получается. Команда типа mkinitrd /boot/initrd-2.6.22.6.img 2.6.22.6 не дает результата. В итоге при загрузке с этим ядром происходит кернел паник.

Kernel panic-not syncing: Attempted to kill init!

konstantin~
Member

написано 05.09.2007 21:05 ИнфоПриватПравкаОтветитьИзвестить модератораIP
man mkinitrd и читайте доку к вашему дистро

mkinitrd команда (shell script) зависит от конкретной версии дистро. инитрд нужен для того чтобы инициализировать железо компа навроде дискового контроллера, соответственно в инитрд как минимум должен быть включен модуль дискового контроллера. мкинитрд читает /етц/модулес.конф, ищет директорию с модулями под заданую вересию ядра и создает образ. т.к. все это слегка отличается от дистро к дистро команда мкинитрд и инструкция к ней зависят от дистрибутива.




Hawk
Member

Откуда: Россия, Тюмень
написано 05.09.2007 22:07 ИнфоПриватПравкаОтветитьИзвестить модератораIP
UnterSchrift
Если нет специфических SATA/IDE/SCSI RAID контроллеров, имеющих не open source драйвера (например promise fasttrak 2200), смысла делать Initrd просто нет. Есть конечно исключения - например если у вас нет драйвера корневой ФС в ядре (какой-нибудь XFS), а пересобирать ядро "от производителя" не хочется. Если же пересобираете, и ваше ядро в результате спокойно увидит "/" - не парьтесь.

UnterSchrift
unregistered (автор темы)

написано 06.09.2007 17:14 ПравкаОтветитьИзвестить модератораIP
Я использую Fedora Core 5.0. В целом, на загрузке системы используется intird. МОжет кто знает, нужно ли для нового ядра initrd?

Router
Member

Откуда: Эстония
Фотоальбом: 66 фото
написано 07.09.2007 01:13 ИнфоПриватПравкаОтветитьИзвестить модератораIP
дык легко проверить - если грузится нормально без initrd - значит initrd не нужен.

uzer@home
Member

написано 07.09.2007 11:36 ИнфоПриватПравкаОтветитьИзвестить модератораIP
Я могу ошибаться, но по моему последовательность такова.
make xconfig - задаем опции
make modules
make modules_inslall - после этого следим чтобы правильно выполнился depmod! по наличию файла /lib/modules/2.6.22.6/modules.dep
make bzImage
make install - вот это запускает в случае необходимости mkinitrd и прописывает в lilo все что нужно

UnterSchrift
unregistered (автор темы)

написано 07.09.2007 17:00 ПравкаОтветитьИзвестить модератораIP
Я писал так, как было указано в README. Последовательность была выполнена именно таким образом. Скажите, а файл vmlinux для чего нужен?

1349
unregistered

написано 09.09.2007 01:05 ПравкаОтветитьИзвестить модератораIP
цитата:
UnterSchrift:
Я писал так, как было указано в README. Последовательность была выполнена именно таким образом. Скажите, а файл vmlinux для чего нужен?

Как раз для вывода kernel panic

Добавление от 09.09.2007 01:11:

цитата:
UnterSchrift:
Доброго дня!

Вопрос следующий:

Скачал ядро 2.6.22.6 с кернел.орг, затем откомпилировал его. Далее откомпилировал модули, используя команды make modules и make modules_install. в папке /lib/modules содержится папка 2.6.22.6 с модулями.

Теперь пробую создать initrd. Подскажите как правильно создать его для ядра. По описаниям из opennet не получается. Команда типа mkinitrd /boot/initrd-2.6.22.6.img 2.6.22.6 не дает результата.

А какой результат вы ожидаете? Не создаётся образ ram-disk'а или создаётся, но автоматом не прописывается в menu.lst? Если первое, попробуйте перед mkinitrd выполнить depmod 2.6.22.6. Если второе, то пропишите его в menu.lst самостоятельно, по аналогии с уже имеющимися там записями.

цитата:
В итоге при загрузке с этим ядром происходит кернел паник.

Kernel panic-not syncing: Attempted to kill init!

Не может подмонтировать корневую файловую систему, модуль для которой находится как раз на образе рамдиске.

UnterSchrift
unregistered (автор темы)

написано 10.09.2007 13:43 ПравкаОтветитьИзвестить модератораIP
Хм...буду пробовать. Пытаюсь перекомпилить.

UnterSchrift
unregistered (автор темы)

написано 11.09.2007 09:45 ПравкаОтветитьИзвестить модератораIP
Проблема решена.
Порядок следующий:

make [xconfig|menuconfig] итп
make
make modules_install, если надо
В разделе /boot все уже будет создано, в grub все прописывается, initrd создается автоматически.
Категория: Об ОС *Nix | Добавил: admin (18.09.2010)
Просмотров: 1241 | Комментарии: 4 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2024