12

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

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

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

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

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

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

Большое спасибо за уделенное время.

1 ответ1

15

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .