Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Ядро 2.6.18


Автор: EtherLord 27.9.2006, 22:14
Здравствуйте уважаемые братья Линуксоиды. Возникла проблемка. Скомпилил себе новое ядро 2.6.18. Установил. НО не создался файлик initrd.img-2.6.18 
Я пробовал создать его командой mkinitrd -o /boot/initrd.img-2.6.18 2.6.18
Но ничего не вышло, имейдж создался, но ядро не грузится. Очень надеюсь на вашу помощь, с уважением EtherLord
P.S. Извините, если тема подобного рода была, но к сожалению пока нет времени на поиск

Автор: powerfox 27.9.2006, 23:06
Цитата(EtherLord @  27.9.2006,  23:14 Найти цитируемый пост)
Я пробовал создать его командой mkinitrd -o /boot/initrd.img-2.6.18 2.6.18

Что пишет? Мы не волшебники. Не помню точно, но если используешь утилиту с текущего ядра, но ещё надо указывать версию... К тому же для новых ядер рекомендован yaird (в написании мог ошибиться). В debian и Kubuntu есть утилита make-kpkg (из пакета kernel-package, кажется): с ней очень удобно собирать и ядро и initrd + она делает .deb для ядра.

Автор: GrayCardinal 28.9.2006, 05:11
EtherLord, 
Попробуй стереть строчку его подгрузки в 
/boot/grub/menu.lst
(Если граб, в лило аналогично)
Лично у меня без всякого initrd грузится отлично.
Да. если не загрузиться - попробуй встроить в ядро файловую систему твою и дрова (IDE/SATA,  чего там еще у тебя)

Автор: EtherLord 28.9.2006, 11:34
GrayCardinal, меня такой вариант не устраивает, мне нужны модули.

powerfox, в том то и дело, что ничего не выдает, версию ядра, если внимательно смотреть я указал, просто создается имейдж, но при загрузке ядро говорит, что плохой у тебя имейдж однакоsmile

Автор: GrayCardinal 28.9.2006, 11:56
EtherLord, 
Что значит нужны модули ?! модули потом можно подгрузить. В какой-нить скрипт запуска прописать подгрузку.

Добавлено @ 11:57 
EtherLord, 
Еще в ядре может быть отключена поддержка initrd

Автор: EtherLord 28.9.2006, 12:08
GrayCardinal, поддержка включена, просто, как мне объяснили в Дебиане корявость с созданием инитрд есть, вот я вручную и пытаюсь создать.
Попробую в грубе убрать инитрд, посмотрим что из этого выйдет

Автор: Sardar 28.9.2006, 12:17
Цитата(GrayCardinal @  28.9.2006,  10:56 Найти цитируемый пост)
Что значит нужны модули ?! модули потом можно подгрузить. В какой-нить скрипт запуска прописать подгрузку.

Ему нужно жизненно необходимые при загрузке вещи в модулях, без них ядро физически не загрузиться (например root партицию не прочесть, подержка её ФС в модуле не подгруженном). Для этого они рамдиск собирают для загрузки, где всё необходимое есть, откуда затем ядро грузиться. Для людей не гнушающихся влить в ядро необходимые при загрузке "модули" рамдиск и прочие пляски не нужны.

Автор: EtherLord 28.9.2006, 12:35
Кто-нибудь еще что дельное посоветует?

Автор: GrayCardinal 28.9.2006, 12:36
Sardar, 
Да понял я. Я только не врубаюсь почему нельзя вшить в ядро все что надо для загрузки девайса винт и файловой системы ?

Автор: EtherLord 28.9.2006, 12:44
GrayCardinal, понимаешь мне надо не только поддержку винта и фс, надо еще много чего, а все это встаивать в ядро не хочется, хочется сделать так, чтобы потом если что убрать ненужное. 
И вообще суть вопроса:Как сделать initrd.img, включение всего в ядро не рассматривается

Автор: GrayCardinal 28.9.2006, 12:46
EtherLord, 
Я вообще надеялся что поддержку initrd пометять как "DEPRECATED" в свежем релизе  smile

Добавлено @ 12:47 
ОК. Ладно. ЧТо пишет при попытке загрузить initrd ?

Автор: EtherLord 28.9.2006, 12:51
Bad image там и т.д. , типа неправильный у тебя имейдж

Автор: GrayCardinal 28.9.2006, 12:59
Ты сам в 2.6.x сидишь или в старой 2.4.x ? Если в старой, скорее всего надо module-init-tools обновить (если стоит modutils, то заменить на module-init-tools)
Должно помочь.

Автор: EtherLord 28.9.2006, 13:14
не у меня 2.6.18 ядро скомпиленное, посмотри выше, а компилил я из-под 2.6.15

Автор: powerfox 28.9.2006, 13:22
Цитата(EtherLord @  28.9.2006,  13:44 Найти цитируемый пост)
И вообще суть вопроса:Как сделать initrd.img, включение всего в ядро не рассматривается

Цитата(powerfox @  28.9.2006,  00:06 Найти цитируемый пост)
 В debian и Kubuntu есть утилита make-kpkg (из пакета kernel-package, кажется): с ней очень удобно собирать и ядро и initrd + она делает .deb для ядра.


;) 100% работает, но придётся собирать ядро заново

Автор: EtherLord 28.9.2006, 13:24
powerfox, не хочу я его в пакет засовывать

Автор: GrayCardinal 28.9.2006, 13:32
Короче. Делаешь рам диску. Пихаешь туда все модули. dd'фишь образ
$ dd if=/dev/ramN >initrd
Зиппуешь. Получаешь initrd  smile 
ФС'у ставить ту, которая точно встроена в ядро (ext2). Чтоб модули подгружать в initrd можно busybox прикрутить.

Добавлено @ 13:34 
Вместо рам можно loopback
$ mount -o loop <file> /dev/loopN

Автор: EtherLord 28.9.2006, 13:36
А теперь по порядку: 1. Из чего делать рам диску?
2. Распиши по шагам

Автор: GrayCardinal 28.9.2006, 13:44
EtherLord,
Ужо не седня. Отконнективаюсь. Начало только :
1. mkfs -t ext2 <file>
2. mount -o loop <file> /dev/loop1
3. Запихать все что надо для работы
4. Отмаунтить и зипнуть ("gzip <file")
То, что пихать в 3-м пункте, чуть позже..........


ЗЫ
А погуглить ?  smile

Добавлено @ 13:45 
ЗЗЫ
Жалко что рабочий день только до шести  smile 

Автор: powerfox 28.9.2006, 13:50
EtherLord, а в grub точно initrd ты прописал? Кинь конфиг.

Автор: EtherLord 28.9.2006, 13:55
Вечерком кину, я щас работаю, под виндойsmile

Добавлено @ 13:55 
В грабе все прописал

Автор: EtherLord 28.9.2006, 19:15
Вот конфиг

Автор: powerfox 28.9.2006, 19:26
Немного не тот smile Я имел в виду грабовский(/boot/grub/menu.lst)

Автор: EtherLord 28.9.2006, 19:29
title        Debian GNU/Linux, kernel 2.6.18 
root        (hd0,7)
kernel        /boot/vmlinuz-2.6.18 root=/dev/hda8 ro 
initrd        /boot/initrd.img-2.6.18
savedefault
boot

Автор: powerfox 28.9.2006, 19:47
А можно, что он пишет конкретно. И что пишет, если убрать строчку "initrd        /boot/initrd.img-2.6.18"?

Автор: EtherLord 28.9.2006, 20:22
Пишет bad gzip image что то в этом духе
А если убрать система нормально загружается, правда почему то без иксов

Автор: powerfox 28.9.2006, 20:38
Цитата(EtherLord @  28.9.2006,  21:22 Найти цитируемый пост)
А если убрать система нормально загружается, правда почему то без иксов

Тогда зачем тебе initrd? Основная цель initrd - загрузка тех модулей, которые нужны на стадии загрузке системы: например, если дрова на винт собраны в виде модуля, то они должны подгрузиться, чтобы система могла приступить к запуску инита и подгрузке других модулей с винта.
Что X пишет? Почему не хочет грузиться? Можно лог запуска X или примерный текст, что вы видете в консоле?

Автор: EtherLord 28.9.2006, 20:46
Уже не надо, я вроде сам разобрался, включил поддержку рам дисков в ядро модулем, вот и косякиsmile

Автор: powerfox 28.9.2006, 20:54
Цитата(EtherLord @  28.9.2006,  21:46 Найти цитируемый пост)
 включил поддержку рам дисков в ядро модулем, вот и косяки

Цитата

CONFIG_BLK_DEV_INITRD=y

Если не ошибаюсь, то всё было включено правильно. Хотя через menuconfig виднее.

Автор: GrayCardinal 29.9.2006, 07:22
Цитата

включил поддержку рам дисков

Бывает  smile Я один раз IPv4 отключил   smile 

Автор: EtherLord 29.9.2006, 08:43
smile Теперь вроде все нормуль, но инитрд так и не создалсяsmile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)