Impressão formatada da configuração do kernel linux
772
Como as opções make menuconfig e make nconfig permitem uma boa maneira de configurar as opções do kernel, existe alguma maneira de obter essa estrutura hierárquica para imprimi-la?
Graças ao replay de @jeff-schaller, fiz uma contribuição para o projeto Kconfiglib e agora há um novo script de exemplo para esta tarefa. Estas são as etapas para usá-lo:
Dentro do diretório com a fonte linux, clone o repositório:
Configure conforme necessário, basicamente para obter um arquivo .config:
root@23e196045c6f:/usr/src/linux-source-4.9# make menuconfig
Execute o script com o arquivo de configuração:
root@23e196045c6f:/usr/src/linux-source-4.9# make scriptconfig SCRIPT=Kconfiglib/examples/print_config_tree.py SCRIPT_ARG=.config
======== Linux/x86 4.9.65 Kernel Configuration ========
[*] 64-bit kernel (64BIT)
General setup
() Cross-compiler tool prefix (CROSS_COMPILE)
[ ] Compile also drivers which will not load (COMPILE_TEST)
() Local version - append to kernel release (LOCALVERSION)
[ ] Automatically append version information to the version string (LOCALVERSION_AUTO)
-*- Kernel compression mode
--> Gzip (KERNEL_GZIP)
Bzip2 (KERNEL_BZIP2)
LZMA (KERNEL_LZMA)
...
Mas o bom é que é possível passar diferentes configurações de kernel e combinar as alterações facilmente:
root@23e196045c6f:/usr/src/linux-source-4.9# make scriptconfig SCRIPT=Kconfiglib/examples/print_config_tree.py SCRIPT_ARG=/tmp/config1 > config1-list.txt
root@23e196045c6f:/usr/src/linux-source-4.9# make scriptconfig SCRIPT=Kconfiglib/examples/print_config_tree.py SCRIPT_ARG=/tmp/config2 > config2-list.txt
Graças ao replay de @jeff-schaller, fiz uma contribuição para o projeto Kconfiglib e agora há um novo script de exemplo para esta tarefa. Estas são as etapas para usá-lo:
Dentro do diretório com a fonte linux, clone o repositório:
Corrija o makefile:
Configure conforme necessário, basicamente para obter um arquivo .config:
Execute o script com o arquivo de configuração:
Mas o bom é que é possível passar diferentes configurações de kernel e combinar as alterações facilmente:
E finalmente agora com uma ferramenta diff: