Вы здесь

Сборка ядра: модулем или включать в ядро?

При сборке ядра обычно исхожу из принципа наибольшей гибкости, поэтому всё стараюсь собрать модулем. Многое из того, что по умолчанию включается в ядро, тоже собираю модулем. Но меня волнует, как это сказывается на системе, быстродействии, надёжности? Хотелось бы узнать мнения и почитать руководства по этому вопросу.

Недавно обсуждалось тут. Ищите статью "Ядерная физика для домохозяйки". Читайте, думайте, пробуйте :) Гибкость в вашем понимании может отличаться гибкости в моем понимании :)

P.S.: Linux - это красная таблетка :-) Windows - синяя...

сначала соберите модулем, проверьте, срабатывает ли всё как надо после modprobe.
если очень важно, или модуль небольшой - в ядро

Почти все драйвера - модулем. Только для корневого раздела надо в ядро. У меня так.

не только у тебя :) просто для того чтобы модулем использовать - нужен initrd. в генту он только через генкернел создается. а я так и не вкурил, как им рользоваться :)

P.S.: Linux - это красная таблетка :-) Windows - синяя...

Aladdin написал:
для того чтобы модулем использовать - нужен initrd

Это с каких это пор?

Цитата:
в генту он только через генкернел создается

Да ну?


Пожалуйста, не описывайте своё железо в подписи

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Первое это он про поддержку винта, чтобы загрузиться можно было. А второе, сказал же человек, не разобрался как [-:

Цитата:
Первое это он про поддержку винта, чтобы загрузиться можно было

Ну как-то не очень очевидно (-:Е

Цитата:
А второе, сказал же человек, не разобрался как

Это видно, что не разобрался, но мысль-то в том, что можно прекрасно и без genkernel'я обойтись
Как отправную точку в постижении могу порекомендовать статью в gentoo-wiki по поводу fbsplash

Лично я (если кому-то интересно) всё, что точно нужно, держу вкомпилённым насмерть. Мне на рабочей машине гибкость в загрузке не пощупать, а разбираться с подгрузкой модулей лень (-:Е
Модулями либо то, что удобнее ими держать (типа ALSA), либо если не уверен, что надо/не надо.


Пожалуйста, не описывайте своё железо в подписи

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

ППКС.

У меня принцип простой. Все что железное и присутствует всегда - т.е. все равно будет загруженно удавом/initrd и т.п. - вкомпиливать, ибо проще, да и быстрее наверное. То, что имеет рекомендацию быть модулем (sky2, к примеру), или втыкабельные всякие штуки (типа Mass Storage Device, или USB Hid на ноуте, либо всякие PCMCIA wifi/eth, bluetooth/mmc/sd адаптеры/кардридеры и прочая дребедень) - то модулем (или вообще отрубать - если у меня нет блютуса, то нафига мне модуль на него? =)).

В случае наличия дров в ядре и в портаже всегда делаю предпочтение в сторону ядра - ибо юзаю всякие rc, и внешние модули постоянно ломаются из-за смены разнообразных апи.

Я выставил моделем много всего, что по умолчанию входит ядро, например:
CONFIG_UNIX=m

всего модулей:
ls -R /lib/modules/ -R|grep -c ko
569

ухудшает ли это быстродействие или ещё что-то?

кроме физики для домохозяек, которая не отвечает на вопросы, известна ли вам другая документация?

Преимущество в монолитном ядре - размер и безопасность, особенно если обрубить возможность загрузки модулей. Недостаток - отсутствие гибкости, которую предоставляют модули. Вот и ффсё, ИМХО. А так, собирать по-максимуму всё в ЯДРО. Модулями - только ALSA, проприетарные дрова железа и виртуализаторов, а так же не очень стабильные дрова всяких совсем новых железок. Последние, на худой конец, в случае проблем можно перегружать службой без перезапуска всей системы. Опять же, сугубо моё ИМХО.