/ usr/src/linuxディレクトリ内でmake menuconfigを実行すると、カーネル構成ウィザードが表示されます。 make menuconfigウィザード内のメニューエントリを検索するにはどうすればよいですか? /をテストしましたが、/は.configファイルのみを検索しているようです。つまり「pcidma」を検索しても結果はありませんが、PCIデバイスに対してDMA)を有効にするための適切なカーネルメニューエントリがあります。
Kconfigファイル内のメニューエントリのテキストを見つけることができました。 Kconfigファイルは、/ usr/src/linuxディレクトリの多くのサブディレクトリにあります。それでも、Kconfigファイルを検索しても、検索したいオプションの実際の「ツリー」ビューは表示されません。私がそれを見つけるために使用したコマンド:
_grep -i --directories=recurse 'kprobes' /usr/src/linux --color=always | less
_
Make menuconfigウィザード内のメニューエントリを検索するにはどうすればよいですか?
//編集:実用的な解決策:
find /usr/src/linux/ -name 'Kconfig' -exec egrep -i -B 1 '(tristate|bool|menu)' '{}' \; | grep -i -B 1 --color=always 'Device Drivers'
これにより、指定された.configラベルが含まれているカーネルの.config名が表示されます。私が今しなければならないのは、make menuconfig内で(/を使用して)構成名を探すことだけです。
/
を押すと、
Enter CONFIG_ (sub)string to search for (with or without "CONFIG_")
つまり、オプションのラベルではなく、オプションのnamesを探しています。
Linux 3.3では、grepを使用してオプションを見つけました...
$ find . -name Kconfig -exec grep 'config.*PCI' {} + | grep DMA
./drivers/ide/Kconfig:config BLK_DEV_IDEDMA_PCI
次に、ファイル./drivers/ide/Kconfig
を開いて詳細情報を表示します
config BLK_DEV_IDEDMA_PCI
bool
select BLK_DEV_IDEPCI
select BLK_DEV_IDEDMA_SFF
他のようにtristate
またはbool
行がないため、メニューに表示されないことを示唆しています。
同じファイルでBLK_DEV_IDEDMA_PCI
を検索すると、そのファイルを参照する多くのエントリが表示されます。
config BLK_DEV_AMD74XX
tristate "AMD and nVidia IDE support"
depends on !ARM
select IDE_TIMINGS
select BLK_DEV_IDEDMA_PCI
したがって、DMAを明示的に有効にする必要はないようです。DMAを必要とするドライバは、自動的に有効にします。