REDkiy
написал 30 октября 2005 года в 23:04 (688 просмотров)
Ведет себя
как мужчина; открыл 90 тем в форуме, оставил 595 комментариев на сайте.
Решил собрать новое ядро, машина у меня не ахти какая, перекомпиляция ядра позволяет повысить производительность в несколько раз. Оптимизация под проц и уменьшение количества модулей видимо играют свою роль.
У меня Debian «Sarge», компилил ядро для этой системы в первый раз.
make menuconfig make bzImage make modules make modules_install make install
Компиляция прошла без проблем. Но! Ни в каталоге /boot, ни в каталоге /usr/src/linux-2.6.12 нет файла initrd.img-2.6.12. Все остальные есть. Вроде бы при конфигурировании включил все опции относящиеся к поддержке RAM-диска. В чём может быть дело? Ядро версии 2.6.12. Спасибо.
З.Ы. Пакет oprofile не установлен.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
DevOps as a Service from Palark
24/7 SRE & DevOps service to cover all your Kubernetes needs.
Ну лучше пользоваться так:
make clean (все чистим)
make all (все компиилируем в том числе и intrd)
make modules_install (устанавливаем модули)
make install (устнавливаем ядро)
А в твоей последовательности просто нет цели для initrd.
Для версии 2.6.10, прокатило хм.
Но я попробую твой вариант.
Не прошла сия задумка 8-)))!!!
Нет этого долбаного образа нигде.
Попробуй наложить какой-нить патч — авось поможет, желательно поновей
Еще что касается initrd то на этом же форуме есть статья по файловой системе ext3, там тоже говорится, как в Debian отрабатывать initrd
Достал исходники 2.6.14. Сегодня компилить небуду. Надоело ложиться спать в 2-4 утра.
Ну что касается исходников, то они уже есть в unstable ветке Debian. Можно, при желании (а они наверно наилущим образом подходят для Debian, так как все же какое то отношение к ним команда разработчиков имеет), взять исходники оттуда. Но вот только снова может возникнуть проблема с драйверами для ATI. Если ты запустишь инсталлер от ATI с опцией --get-supported, то увидишь список того, что этими драйверами поддерживается (имеется ввиду список дистрибутивов с указанием версий). Не думаю, что эти драйвера уже готовы «отдаться» ядру 2.16.14.
Вообще, а стоит ли лезть вперед батьки.
Особых прелестей от третиьх чисел в версии не так уж и много.
Зато, таких ситуаций, когда что-то работало, а потом перестает работать (при увеличении номера) хватает вполне.
Мой вариант nVidia, они меня пока не подводили.
Хм????
Скомпилировал я 2.6.14. Такая же ерунда. Что делать, и в чём может быть дело?
Скомпилировал ядро 2.6.14.
Установил.
initrd нет.
Так, я ему команду
И в grub:
Так он мне при загрузке пишет:
modprobe: FATAL: Could not load: /lib/modules/2.6.14red/modules.dep: No sush file or directory
Сейчас то в чём дело?
такая же хрень у меня была в SuSE 10 часа два назад ядро встала линк на vmlinuz прописал образок в /boot лежит все ок, а initrd нету
после перезагрузки хана орет где initrd восстанавливайся
в ядре особо много не удалял даже
Я собрал ядро без поддержки модулей, прилично повыбрасывал. Получилось размером около 3,2 мб. Но ребята у меня видяха от nVidia, да и вообще, десктоп, а не сервер. Модули нужны.
ох… initrd необходим только для ядер, которые не содержат внутри себя статично драйверов устройств, которые предоставляют доступ к корневой fs.
поэтому эти (и другие) модулю кладутся в initrd.
всё остальное можно собрать и модулями и не заморачиваться сборкой этого initrd.
т.е. в ядро включить статично только те драйвера, которые необходимы для заргузки. необходимы и достаточны.
всё остальное, нужное для работоспособности системы в нужном виде собирать модулями. пускай грузится по мере необходимости.
Это понятно, но! какие именно включить? Я не прошу ответа типа, если у тебя такая-то карточка, то такой-то драйвер.
А структурно:
1. драйвер материнской платы.
2. драйвер жёсткого диска,
3. поддержку ext2, ext3, reiserfs,
4. поддержку cramfs,
5. драйвер VESA для видео,
и т.п.
Не сочтите за труд.
берёшь дистрибутивное ядро.
грузишься. для надёжности — в init 1.
то, что у тебя оказывается подгруженным в lsmod — то можно почти всё компилировать статически. но — это может быть много бОльшим, так как часть может быть подгружена by hotplug.
и именно так, как и написал — драйвер материнской платы, драйвера контроллера ide/sata/scsi, драйвера корневой и пр. fs, …
в общем, всё то, что необходимо для начальной загрузки до запуска init. то есть лучше даже не в init 1 грузиться, а в init=/bin/sh.
и смотреть, что загружено.
вот это и нужно для загрузки. минимально.
Всё решилось когда я включил в ядро модули матери, контроллера дисков и ext2, ext3, reiserfs.
Как и было сказано выше, не понадобился даже initrd. Дрова на мой GeForce 2 MX 400, встали без проблем и так же без проблем заработали. Всем огромное спасибо. Думаю тему можно прикрыть. Пожалуй стоит написать обзорную статью. Чтобы потом не мучали. 8-))).
Первое сообщение было добавлено — 30.10.2005 в 23:04:53
Сообщение о решении проблемы — 8.11.2005 в 22:24:49
Девять дней. Мдя.
Не сочти за насмешку, но вот хочу поделитья опытом, я тоже когда приступал к изучению компиляции ядра сразу же дров наломал.
А потом я действовал так: Одно ядро у меня заведомо рабочее (со всеми initrd). В качестве такового я использовал точно такое же ядро, но для однопроцессорной архитектуры.
Далее скопировал куда-либо .config, само ядро, его map и initrd, и дплее по одной двум опциям компилил (если, что-то не так), загруз на однопроцессорном ядре и откат обратно (рабочие .config, само ядро, его map на прежние места) и заново.
ПОнятно времени ущло очень много (в день то 10-15 компиляций всего успеваешь проделать). Зато потом все настройки (которые работают на моей тачке) уже сами зазубрились.
Ну надо это один раз проделать (пожертвовать месяцем (ну если ты очень умный, то монно и и вболее короткие сроки уложиться).
В учении действительно тяжело, зато потом лафа, а так ты тыкаться будешь все время.
У меня была статья по которой я удачно скомпилил ядро в ASPLinux 9. 2.6.10 ещё.
Путающим фактором пожалуй было отсутствие initrd. Узнав что initrd не особо нужен. Я просто прикинул что нужно для работы ядра включил это в него и всё.