Команда make localmodconfig
по-прежнему является правильным инструментом для работы. На самом деле make localmodconfig
работаетscripts/kconfig/streamline_config.pl
.
Ввод файла
При чтении streamline_config.pl
исходного кода (perl) имеется недокументированная функция, my $lsmod_file = $ENV{'LSMOD'};
которая позволяет вводить файл для обнаружения загруженного модуля вместо вывода из lsmod
команды.
Live CD
Потому что localmodconfig использует вывод lsmod
для обнаружения загруженных модулей. Мы запускаем Ubuntu Live CD на каждой из аппаратных установок, открываем терминал ( Ctrl+ Alt+ T), запускаем lsmod
и сохраняем его вывод.
Объединенный вывод
Объединяя lsmod
выходные файлы и удаляя последовательные строки заголовков, вы можете быстро создать входной файл, который охватывает все необходимые модули ядра. Нам нравится просматривать список модулей вручную и использовать более ручной рецепт:
$ cd linux-3.11.0/
или перейдите в каталог, где вы будете запускать команду make
$ lsmod > lsmod.txt
создает текстовый файл с вашими загруженными модулями
$ nano lsmod.txt
откроет текстовый редактор Nano, конечно, вы можете использовать ваше любимое приложение-редактор
Добавьте нужные модули, которых еще нет, в конец этого файла (см. Пример внизу этого ответа) и сохраните его, когда будете готовы.
Примечание: используйте пробелы, а не символы табуляции, чтобы соответствовать позициям табуляции столбцов.
$ make LSMOD="lsmod.txt" localmodconfig
это скажет localmodconfig использовать ваш файл lsmod.txt в качестве входных данных для обнаружения загруженных модулей
Что касается Стивена Ростедта - автора steamline_config.pl - за предложение более короткой записи на шаге 5.
Пример того, что добавить, а не добавить в lsmod.txt (шаг 4):
Поскольку на материнской плате Intel D33217CK имеются термодатчики Intel, которые мы хотели бы прочитать, мы добавляем следующие строки:
x86_pkg_temp_thermal 13810 0
intel_powerclamp 14239 0
Но мы не хотим запускать виртуальные машины на этом оборудовании, поэтому пропускаем следующие строки:
kvm_intel 128218 0
kvm 364766 1 kvm_intel
Он имеет сетевой адаптер Apple (Broadcom) Gibabit, подключенный к порту Thunderbolt, поэтому мы добавляем:
tg3 152066 0
ptp 18156 1 tg3
pps_core 18546 1 ptp
Мы думаем, что нам не нужно зеркальное отображение объема, и поэтому не добавляем:
dm_mirror 21715 0
dm_region_hash 15984 1 dm_mirror
dm_log 18072 2 dm_region_hash,dm_mirror
И нам также не нужен вывод графики (текст будет выполняться на сервере без монитора), поэтому мы не включаем:
i915 589697 3
i2c_algo_bit 13197 1 i915
drm_kms_helper 46867 1 i915
drm 242354 4 i915,drm_kms_helper
Для другой машины нам нужен дополнительный драйвер Ethernet Realtek:
r8169 61434 0
mii 13654 1 r8169