LINUX.ORG.RU

Все модули ядра загружены, но не нужны

 kernel modules gentoo


0

1

Доброго, всем.

Допустим, установка gentoo. Собрано ядро:

genkernel --menuconfig --lvm --mdadm --install  all

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

Загружается нормально, есть initrd. Но

lsmod
показывает ВСЮ тонну модулей, которые еще не нужны. Короче, загружены ПОКА ненужные модули. Никаких конфигов по модулям не трогалось.

Как убрать автозагрузку ВСЕХ собранных модулей ядрышка? Где это происходит?

Спасибо.

Особенностей gentoo не знаю, но загрузка модулей происходит в разных местах, начная с initrd (initramfs), там любят грузит модули RAID, LVM, usb и кучу других общих модулей, не связанных с конкретными устройствами. А драйвера устройств грузятся позже. Пока не понятно, вот:

ВСЮ тонну модулей

это вобще все модули, отмеченные вами при сборке ядра, или как?

mky ★★★★★
()

А не проще ли просто убрать модулы из ядрышка? gentoo-way же.

Ну или дайте выброс lsmod и модули, которые вам конкретно мешают. Например, куча модулей для dmraid, lvm и т.п. грузятся на стадии загрузки - вдруг у вас найдется для них девайс?

l0stparadise ★★★★★
()
Последнее исправление: l0stparadise (всего исправлений: 2)
Ответ на: комментарий от l0stparadise

Не проще, они когда-то будут загружены

Например, файловые системы

chegeware
() автор топика
Ответ на: комментарий от chegeware

Initrd нужен, а вручную тяжко его делать.

открою страшный секрет. можно использовать genkernel только для сборки initrd, а ядро собирать ручками.

l0stparadise ★★★★★
()
Ответ на: комментарий от l0stparadise

можно использовать genkernel только для сборки initrd, а ядро собирать ручками.

Это известно. А толку? Этот initrd также все лишнее загрузит.

chegeware
() автор топика
Ответ на: Да от chegeware

ВСЮ тонну модулей
отмеченные как [M] при сборке

Нафих так жить? Ставь убунту.

nanoolinux ★★★★
()
Ответ на: комментарий от anonymous

Надо всего-навсего перестать использовать это дерьмо --> genkernel !

И что если соберешь ядро через мэйк модули грузиться не будут? А если они мне нужны?

J ★★★★★
()

genkernel

Оп-па, /usr/share/genkernel/arch/x86_64/modules_load Вот они все где голубчики. Нафик так делать.

chegeware
() автор топика

Как убрать автозагрузку ВСЕХ собранных модулей ядрышка? Где это происходит?

Спасибо за пинки. Похоже надо конфигурировать genkernel, т.е. выставлять пустые или свои списки переменных MODULES_...="..." нужных на период загрузки модулей.

chegeware
() автор топика
Ответ на: комментарий от chegeware

Initrd нужен, а вручную тяжко его делать.

Не смеши мои тапки!

Лучше честно признайся что ты /usr/src/linux/Documentation/initrd.txt, /usr/src/linux/Documentation/filesystems/ramfs-rootfs-initramfs.txt даже не думал осиливать.

anonymous
()
Ответ на: комментарий от chegeware

а вручную тяжко его делать

Напиши скрипт.

anonymous
()
Ответ на: комментарий от chegeware

Да там тебе в основном нужен всего лишь один busybox, созданная структура директорий по аналогии с корнем, созданные на бинарник busybox ссылки в /bin (/sbin), ну и сам init сценарий. В котором у тебя всего лишь будет примерно следующее:

mount /dev
mount /proc
mount /dev/<ROOT> /mnt/root

umount /dev
umount /proc
switch_root /mnt/root
kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

плюсую. У меня там только статически собранные busybox, lvm и cryptsetup. Скрипт примерно так и выглядит, за исключением нескольких проверок, поиска / на lvm и монтирования.

anonymous
()
Ответ на: комментарий от chegeware

А ещё можно заюзать dracut или собрать initramfs руками.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.