Procura através do kernel make menuconfig configuration menu entries

3

Quando eu executo make menuconfig dentro do diretório / usr / src / linux, aparece o assistente de configuração do kernel. Como posso pesquisar as entradas do menu dentro do assistente make menuconfig? Eu testei /, mas / parece que / pesquisa somente através do arquivo .config. Ou seja Quando eu procuro por "pci dma", não há resultados, no entanto, existe uma entrada de menu do kernel apropriada para habilitar DMA para dispositivos PCI.

Consegui encontrar o texto das entradas do menu dentro dos arquivos Kconfig. Os arquivos Kconfig estão localizados em muitos subdiretórios do diretório / usr / src / linux. Ainda assim, pesquisar por arquivos Kconfig não me dá a visualização "árvore" real da opção que desejo encontrar. O comando que eu usei para descobrir isso:

grep -i --directories=recurse 'kprobes' /usr/src/linux --color=always | less

Como posso pesquisar as entradas do menu dentro do assistente make menuconfig?

// edit: uma solução de trabalho:

find /usr/src/linux/ -name 'Kconfig' -exec egrep -i -B 1 '(tristate|bool|menu)' '{}' \; | grep -i -B 1 --color=always 'Device Drivers'

Isto irá aparecer, o nome do kernel .config contém o rótulo .config especificado. Tudo que tenho que fazer agora é procurar o nome de configuração dentro de make menuconfig (usando /).

    
por colemik 06.05.2012 / 15:01

1 resposta

7

Quando você pressiona / , ele diz

Enter CONFIG_ (sub)string to search for (with or without "CONFIG_") 

o que significa que procura os nomes das opções, não os rótulos das opções.

Com o Linux 3.3, encontrei sua opção usando o grep ...

$ find . -name Kconfig -exec grep 'config.*PCI' {} + | grep DMA
./drivers/ide/Kconfig:config BLK_DEV_IDEDMA_PCI

Depois, abriu o arquivo ./drivers/ide/Kconfig para ver mais informações

config BLK_DEV_IDEDMA_PCI
    bool
    select BLK_DEV_IDEPCI
    select BLK_DEV_IDEDMA_SFF

Como não tem uma linha tristate ou bool como as outras, isso sugere que não aparece no menu.

Pesquisando no mesmo arquivo de BLK_DEV_IDEDMA_PCI , você pode ver muitas entradas que se referem a ele, por exemplo

config BLK_DEV_AMD74XX
    tristate "AMD and nVidia IDE support"
    depends on !ARM
    select IDE_TIMINGS
    select BLK_DEV_IDEDMA_PCI

Portanto, parece que você não deve ativar o DMA explicitamente: os drivers que precisam do DMA serão ativados automaticamente.

    
por 06.05.2012 / 18:34