커널 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가 필요한 드라이버는 자동으로 활성화합니다.

관련 정보