Как настроить ядро ​​Linux на основе используемых модулей?


15

Я готов собрать минимальное ядро, содержащее только то, что нужно для моей машины; поэтому я начал с компиляции ядра с нуля, используя конфигурацию по умолчанию и добавив то, что я точно знаю (например, карту Ethernet, карту WiFi, ...).

Но есть несколько других вещей, о которых не так просто узнать (например, сторожевой таймер), поэтому я наткнулся на AutoKernConf, который предположительно обнаруживает аппаратное обеспечение машины и генерирует файл конфигурации ядра с настройками для найденных устройств.

Проблема в том, что он содержал несколько повторяющихся настроек и даже некоторые из них, которых у меня нет (я использую ноутбук Dell, и одна из вещей, которые он «нашел», была чем-то вроде Toshiba).

Итак, я закончил собирать ядро ​​с конфигурацией, которая вышла из make allmodconfigкоманды, это ядро ​​с большинством вещей, скомпилированных как модули.

Загрузившись в это ядро ​​и запустив его, lsmodя вижу все используемые модули ядра (те, которые действительно нужны), и я хотел бы знать, есть ли инструмент или какой-нибудь способ для меня проанализировать этот список и преобразовать его в соответствующую конфигурацию ядра файл.

Или как сопоставить каждый с соответствующими опциями в ядре, чтобы я мог установить их вручную.

Спасибо вам большое за ваше время.

Ответы:


19

Если вы используете Linux 2.6.32 и более поздние версии, вы можете проверить цель make "localmodconfig". Он выполняет почти все, что вы просите - он определяет, какие модули у вас работают, и генерирует .config, чтобы убедиться, что эти модули собраны. Цель localyesconfig будет компилировать эти модули статически в ядро, а не создавать модули.

Более подробная информация доступна здесь: Простая локальная настройка ядра .


Большое спасибо, я использовал вариант 2.6.33, поэтому могу использовать эту цель.
Карла
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.