O make localmodconfig
comando ainda é a ferramenta certa para o trabalho. De fato make localmodconfig
funcionascripts/kconfig/streamline_config.pl
.
Entrada de arquivo
Ao ler o streamline_config.pl
código-fonte (perl), há um recurso não documentado my $lsmod_file = $ENV{'LSMOD'};
que permite a entrada de arquivos para detecção de módulo carregado, em vez da saída do lsmod
comando.
Live CD
Como o localmodconfig usa a saída lsmod
para detectar os módulos carregados. Executamos um Ubuntu Live CD em cada uma das diferentes configurações de hardware, abrimos um terminal ( Ctrl+ Alt+ T), executamos lsmod
e salvamos sua saída.
Concatenar saída
Concatenando os lsmod
arquivos de saída e eliminando linhas de cabeçalhos consecutivos, você pode criar rapidamente um arquivo de entrada que cubra todos os módulos de kernel necessários. Gostamos de revisar a lista de módulos manualmente e usar uma receita mais manual:
$ cd linux-3.11.0/
ou acesse o diretório em que você executará seu comando make
$ lsmod > lsmod.txt
cria um arquivo de texto com seus módulos carregados
$ nano lsmod.txt
abrirá o editor de texto nano, é claro que você pode usar seu aplicativo editor favorito
Anexe os módulos desejados que ainda não estão lá, na parte inferior deste arquivo (veja, por exemplo, a parte inferior desta resposta) e salve-o quando estiver pronto.
Nota: use espaços e não tabulações para corresponder às posições do tabulador de colunas.
$ make LSMOD="lsmod.txt" localmodconfig
isso informará o localmodconfig para usar seu arquivo lsmod.txt como entrada para a detecção de módulos carregados
Com relação a Steven Rostedt - o autor do steamline_config.pl - por sugerir uma notação mais curta na etapa 5.
Exemplo para o que acrescentar e não ao lsmod.txt (etapa 4):
Como a placa principal Intel D33217CK possui sensores térmicos Intel que gostaríamos de ler, anexamos estas linhas:
x86_pkg_temp_thermal 13810 0
intel_powerclamp 14239 0
Mas não queremos rodar máquinas virtuais neste hardware, é por isso que pulamos estas linhas:
kvm_intel 128218 0
kvm 364766 1 kvm_intel
Possui um adaptador Ethernet Gibabit da Apple (Broadcom) conectado à sua porta Thunderbolt, portanto, anexamos:
tg3 152066 0
ptp 18156 1 tg3
pps_core 18546 1 ptp
Achamos que não precisamos de espelhamento de volume e, portanto, não adicionamos:
dm_mirror 21715 0
dm_region_hash 15984 1 dm_mirror
dm_log 18072 2 dm_region_hash,dm_mirror
E também não precisamos de saída gráfica (o texto servirá em um servidor sem cabeçalho); portanto, não incluímos:
i915 589697 3
i2c_algo_bit 13197 1 i915
drm_kms_helper 46867 1 i915
drm 242354 4 i915,drm_kms_helper
Para outra máquina, precisamos deste driver Ethernet Realtek adicionalmente:
r8169 61434 0
mii 13654 1 r8169