| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > *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. Извините, если тема подобного рода была, но к сожалению пока нет времени на поиск |
| Автор: GrayCardinal 28.9.2006, 05:11 |
| EtherLord, Попробуй стереть строчку его подгрузки в /boot/grub/menu.lst (Если граб, в лило аналогично) Лично у меня без всякого initrd грузится отлично. Да. если не загрузиться - попробуй встроить в ядро файловую систему твою и дрова (IDE/SATA, чего там еще у тебя) |
| Автор: EtherLord 28.9.2006, 11:34 |
| GrayCardinal, меня такой вариант не устраивает, мне нужны модули. powerfox, в том то и дело, что ничего не выдает, версию ядра, если внимательно смотреть я указал, просто создается имейдж, но при загрузке ядро говорит, что плохой у тебя имейдж однако |
| Автор: GrayCardinal 28.9.2006, 11:56 |
| EtherLord, Что значит нужны модули ?! модули потом можно подгрузить. В какой-нить скрипт запуска прописать подгрузку. Добавлено @ 11:57 EtherLord, Еще в ядре может быть отключена поддержка initrd |
| Автор: EtherLord 28.9.2006, 12:08 |
| GrayCardinal, поддержка включена, просто, как мне объяснили в Дебиане корявость с созданием инитрд есть, вот я вручную и пытаюсь создать. Попробую в грубе убрать инитрд, посмотрим что из этого выйдет |
| Автор: Sardar 28.9.2006, 12:17 | ||
Ему нужно жизненно необходимые при загрузке вещи в модулях, без них ядро физически не загрузиться (например 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" в свежем релизе Добавлено @ 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 | ||||
;) 100% работает, но придётся собирать ядро заново |
| Автор: EtherLord 28.9.2006, 13:24 |
| powerfox, не хочу я его в пакет засовывать |
| Автор: GrayCardinal 28.9.2006, 13:32 |
| Короче. Делаешь рам диску. Пихаешь туда все модули. dd'фишь образ $ dd if=/dev/ramN >initrd Зиппуешь. Получаешь initrd ФС'у ставить ту, которая точно встроена в ядро (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-м пункте, чуть позже.......... ЗЫ А погуглить ? Добавлено @ 13:45 ЗЗЫ Жалко что рабочий день только до шести |
| Автор: powerfox 28.9.2006, 13:50 |
| EtherLord, а в grub точно initrd ты прописал? Кинь конфиг. |
| Автор: EtherLord 28.9.2006, 13:55 |
| Вечерком кину, я щас работаю, под виндой Добавлено @ 13:55 В грабе все прописал |
| Автор: EtherLord 28.9.2006, 19:15 |
| Вот конфиг |
| Автор: powerfox 28.9.2006, 19:26 |
| Немного не тот |
| Автор: 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 | ||
Тогда зачем тебе initrd? Основная цель initrd - загрузка тех модулей, которые нужны на стадии загрузке системы: например, если дрова на винт собраны в виде модуля, то они должны подгрузиться, чтобы система могла приступить к запуску инита и подгрузке других модулей с винта. Что X пишет? Почему не хочет грузиться? Можно лог запуска X или примерный текст, что вы видете в консоле? |
| Автор: EtherLord 28.9.2006, 20:46 |
| Уже не надо, я вроде сам разобрался, включил поддержку рам дисков в ядро модулем, вот и косяки |
| Автор: powerfox 28.9.2006, 20:54 | ||
Если не ошибаюсь, то всё было включено правильно. Хотя через menuconfig виднее. |
| Автор: GrayCardinal 29.9.2006, 07:22 | ||
Бывает |
| Автор: EtherLord 29.9.2006, 08:43 |