/usr/src/linux ディレクトリで make menuconfig を実行すると、カーネル設定ウィザードが表示されます。 make menuconfigウィザードでメニュー項目を取得する方法は? /をテストしましたが、/は.configファイルを介してのみ検索されるようです。つまり、「pci dma」を検索しても結果はありませんが、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で/を使用して設定名を見つけることです。
答え1
押すと/
こんな感じ
Enter CONFIG_ (sub)string to search for (with or without "CONFIG_")
探しているという意味だ。名前オプションラベルではなく、オプション名。
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 が必要なドライバは自動的に有効になります。