Сборка ядра: модулем или включать в ядро?
Nikoli 14 сентября, 2008 - 18:54
При сборке ядра обычно исхожу из принципа наибольшей гибкости, поэтому всё стараюсь собрать модулем. Многое из того, что по умолчанию включается в ядро, тоже собираю модулем. Но меня волнует, как это сказывается на системе, быстродействии, надёжности? Хотелось бы узнать мнения и почитать руководства по этому вопросу.
»
- Для комментирования войдите или зарегистрируйтесь
Недавно
Недавно обсуждалось тут. Ищите статью "Ядерная физика для домохозяйки". Читайте, думайте, пробуйте :) Гибкость в вашем понимании может отличаться гибкости в моем понимании :)
http://www.linuxcenter.ru/lib
http://www.linuxcenter.ru/lib/articles/system/kernel26_install.phtml#34
оно?
сначала модулем, потом в ядро
сначала соберите модулем, проверьте, срабатывает ли всё как надо после modprobe.
если очень важно, или модуль небольшой - в ядро
Почти все
Почти все драйвера - модулем. Только для корневого раздела надо в ядро. У меня так.
не только у
не только у тебя :) просто для того чтобы модулем использовать - нужен initrd. в генту он только через генкернел создается. а я так и не вкурил, как им рользоваться :)
оепаы
Это с каких это пор?
Да ну?
Пожалуйста, не описывайте своё железо в подписи
Первое это он
Первое это он про поддержку винта, чтобы загрузиться можно было. А второе, сказал же человек, не разобрался как [-:
Quote: Первое это
Ну как-то не очень очевидно (-:Е
Это видно, что не разобрался, но мысль-то в том, что можно прекрасно и без genkernel'я обойтись
Как отправную точку в постижении могу порекомендовать статью в gentoo-wiki по поводу fbsplash
Лично я (если кому-то интересно) всё, что точно нужно, держу вкомпилённым насмерть. Мне на рабочей машине гибкость в загрузке не пощупать, а разбираться с подгрузкой модулей лень (-:Е
Модулями либо то, что удобнее ими держать (типа ALSA), либо если не уверен, что надо/не надо.
Пожалуйста, не описывайте своё железо в подписи
ППКС.
ППКС.
У меня принцип
У меня принцип простой. Все что железное и присутствует всегда - т.е. все равно будет загруженно удавом/initrd и т.п. - вкомпиливать, ибо проще, да и быстрее наверное. То, что имеет рекомендацию быть модулем (sky2, к примеру), или втыкабельные всякие штуки (типа Mass Storage Device, или USB Hid на ноуте, либо всякие PCMCIA wifi/eth, bluetooth/mmc/sd адаптеры/кардридеры и прочая дребедень) - то модулем (или вообще отрубать - если у меня нет блютуса, то нафига мне модуль на него? =)).
В случае наличия дров в ядре и в портаже всегда делаю предпочтение в сторону ядра - ибо юзаю всякие rc, и внешние модули постоянно ломаются из-за смены разнообразных апи.
а у меня вот
Придирка
find -name '*.ko' нынчо не в моде? =)
.
букоф было бы больше (ББББ)
Почти полный аналог
find /lib/modules/$(uname -r)/ -name '*.ko' -printf '%f '
P.S. Больше, да. Но комманда изящнее =)
.
Я на ус намотаю, конечно. Но мой вариант отсортирован по алфавиту...
Я выставил
Я выставил моделем много всего, что по умолчанию входит ядро, например:
CONFIG_UNIX=m
всего модулей:
ls -R /lib/modules/ -R|grep -c ko
569
ухудшает ли это быстродействие или ещё что-то?
кроме физики для домохозяек, которая не отвечает на вопросы, известна ли вам другая документация?
Рыть на тему "монолитное ядро" надо...
Преимущество в монолитном ядре - размер и безопасность, особенно если обрубить возможность загрузки модулей. Недостаток - отсутствие гибкости, которую предоставляют модули. Вот и ффсё, ИМХО. А так, собирать по-максимуму всё в ЯДРО. Модулями - только ALSA, проприетарные дрова железа и виртуализаторов, а так же не очень стабильные дрова всяких совсем новых железок. Последние, на худой конец, в случае проблем можно перегружать службой без перезапуска всей системы. Опять же, сугубо моё ИМХО.