LINUX.ORG.RU

Как скомпилировать ядро с минимумом модулей

 , , ,


0

1

Пытаюсь собрать маленькое ядро без initrd. Хотел для этого наложить LSMOD=./mylsmod localyesconfig на tinyconfig, но модули из mylsmod зависят от многих других пунктов конфигурации. Я искал способ разрешить эти зависимости автоматически, но ничего не нашёл. Наверно, как всегда окажется, что плохо искал) Решать проблему руками через поиск menuconfig’а неохота

$ make tinyconfig

$ make LSMOD=./mylsmod localyesconfig

WARNING: RTLWIFI_PCI is required, but nothing in the current config selects it.

WARNING: RTLWIFI is required, but nothing in the current config selects it.

module lpc_ich did not have configs CONFIG_LPC_ICH

module rtl8192se did not have configs CONFIG_RTL8192SE

Если чё, сижу на ALT Linux



Последнее исправление: uf4n (всего исправлений: 1)
Ответ на: комментарий от nicholas_ru

Мне бы ресурс, где поменьше информации, конкретно про разрешение зависимостей при попытке включить модули в минимальную конфигурацию. kernel.org большой, а Интернет и того больше. Вот и не ищется нифига

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

Идея отказываться от модулей так себе. Недумаю что это вообще в принципе реализуемо, скорее всего такой сценарий сборки просто не прописан. А преимущества не понятны. Кое-что вообще конфигурируется исключительно подгрузкой модуля с нужными параметрами.

А вот идея отказаться от initrd - хорошая. Он конечно нужен, нодалеко не всегда и нах его если не нужен. Количество модулей при этом не важно, важно чтобы ядро могло примонтировать корневую ФС (и взять модули оттуда).

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

ресурс, где поменьше информации, конкретно про разрешение зависимостей при попытке включить модули в минимальную конфигурацию.

make menuconfig как раз и есть такой ресурс. Можешь ещё попробовать make nconfig, там поиск немного другой.

i-rinat ★★★★★
()
Ответ на: комментарий от kirill_rrr

Идея отказываться от модулей так себе. Недумаю что это вообще в принципе реализуемо

Для этого есть опция конфига. tinyconfig её отключает, среди прочего.

Кое-что вообще конфигурируется исключительно подгрузкой модуля с нужными параметрами.

Нужно в командную строку ядра добавить имямодуля.имяпараметра=значение.

i-rinat ★★★★★
()
Ответ на: комментарий от kirill_rrr

Посмотрел. Оказывается, не все. Но на x86 требуют быть собранными модулями только тесты, примеры и экспериментальные драйвера для rtl8192e. Возможно, драйвера можно как-то похакать, чтобы они не требовали модульности. Плохо себе представляю, для чего им вообще нужна модульность.

i-rinat ★★★★★
()