Вопрос по модулям
Гуру подскажите пожалуйста как собирать опции в ядре модулями ядра или внешними модулями? как посмотреть какие модули загружены в ядро монолитно? lsmod показывает только внешнии модули? Если я собираю внешний модуль я могу передавать ему параметры из тех которые перечислены в modinfo module а если модуль монолитно встроен в ядро то как быть? например модуль snd_hda_intel или iwl3945 можно встроить монолитно в ядро а можно внешним модулем собрать и управлять этими модулями, как ими управлять если они встроены в ядро монолитно(например громкостью звука)?
И еще вопрос собрав модуль чтобы им управлять нужен софт программа я правильно понимаю? как искать этот софт? например я пробоавл собрать модули как монолитно так и внешними модулями AC Adapter Battery Button Fan Processor когда собраны внешними модулями счетчик использования показывает 0 и не важно включен ноутбук к сети или отключен. также какой софт нужен для управления вентиляторами и напряжением процессора когда в ядре включены эти опции? или их смело можно отключать так как они у меня не работают?
- Для комментирования войдите или зарегистрируйтесь
В уже собранном ядре так:
В уже собранном ядре так:
zcat /proc/config.gz | grep [МОДУЛЬ]
- если будет =y, значит включено монолитно, если =m, значит включено подгружаемым модулем, если строка закомментирована - значит не включено. Аналогично можно видеть в menuconfig.Передавать параметры монолитно вкомпиленному модулю можно при загрузке системы (прописывать в /etc/default/grub переменная GRUB_CMDLINE_LINUX), либо во время работы - путём
echo [что-то] > /proc/sys/kernel/[куда-то там]
.shaulyn написал(а): Гуру
Собирать можно и так и эдак. Зависит от конкретных потребностей. Загружаемые модули удобны в тех случаях, когда не знаешь какой именно модуль нужен для твоего железа. К примеру для snd_hda_intel требуются дополнительные модули кодеков. Компилируя ядро для новой системы просто устанавливаешь все кодеки как загружаемые модули и ядро подгрузит тот, который нужен для твоей карточки.
Опять же, конфигурацию для загружаемых модулей можно прописывать в /etc/modprobe.d/ В случае встроенных модулей её придётся передавать через командную строку загрузки ядра.
Модуль всего лишь предоставляет доступ к устройству. Если этим доступом никто не пользуется, то значит модуль тоже не будет использоваться.
Настройка громкости это один из видов доступа к модулю. В простейшем случае эта настройка проводится программой alsamixer. Кроме того существует масса других программ умеющих настраивать громкость. И всем этим программам без разницы загружаемый это модуль, или же встроенный.
Чем больше юзерфрендли, тем сложнее юзать.
Еще преимуществом модульности
Еще преимуществом модульности является уменьшение оперативной памяти, занимаемой ядром (не очень актуально сейчас), а также возможность перегрузить/выгрузить модуль не перегружая всю систему в случае сбоя и/или изменения параметров или просто за ненадобностью и/или изменения функциональности.
Недостаток - в случае каскадной зависимости модулей при загрузке системы не всегда они автоматически активируются правильно, т.е. возможна некорректная работа системы и необходима ручная подгрузка модулей или дополнительная конфигурация в системе для корректной загрузки/блокировки модулей.
Еще один плюс монолитности (в случае полного запрета загрузки модулей) - большая безопасность, т.к. никто не сможет ничего подгрузить (или выгрузить) в ядро! ;)
facepalm.txt
facepalm.txt
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)