カーネル make menuconfig 構成メニュー項目の検索

カーネル make menuconfig 構成メニュー項目の検索

/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 が必要なドライバは自動的に有効になります。

おすすめ記事