Problem

Drzewo konfiguracji kernela w make menuconfig zawiera tysiące opcji rozrzuconych po głęboko zagnieżdżonych menu. Ręczne przeglądanie ich w poszukiwaniu konkretnej opcji, jak CONFIG_EXT4_FS czy CONFIG_USB_STORAGE, jest uciążliwe i wolne — szczególnie gdy nie pamiętasz dokładnie, gdzie dana opcja się znajduje.

Jest na to szybszy sposób.

Najpierw uruchom menuconfig w standardowy sposób z katalogu źródeł kernela:

make menuconfig

Wyszukiwanie klawiszem /

Będąc w make menuconfig, naciśnij /, aby otworzyć okno wyszukiwania. Wpisz nazwę szukanej opcji — bez prefiksu CONFIG_. Na przykład, aby znaleźć opcję systemu plików BTRFS, wpisz:

BTRFS_FS

Możesz też szukać po części nazwy. Wpisanie samego BTRFS zwróci wszystkie opcje zawierające ten ciąg znaków. Jest to przydatne, gdy nie pamiętasz dokładnego symbolu Kconfig — szerokie zapytanie pokaże wszystkie powiązane opcje.

Wyniki wyszukiwania wyglądają następująco:

Symbol: BTRFS_FS [=m]
Type  : tristate
Prompt: Btrfs filesystem support
  Location:
    -> File systems (BLOCK [=y])
(1)   -> Btrfs filesystem support (BTRFS_FS [=m])
  Defined at fs/btrfs/Kconfig:1
  Depends on: BLOCK [=y]
  Selects: CRYPTO [=y], CRYPTO_CRC32C [=y], ZLIB_DEFLATE [=y]

Symbol: BTRFS_FS_POSIX_ACL [=y]
Type  : bool
Prompt: Btrfs POSIX Access Control Lists
  Location:
    -> File systems (BLOCK [=y])
      -> Btrfs filesystem support (BTRFS_FS [=m])
(2)     -> Btrfs POSIX Access Control Lists (BTRFS_FS_POSIX_ACL [=y])
  Defined at fs/btrfs/Kconfig:43
  Depends on: BTRFS_FS [=m]

Skok do opcji

Kluczowy szczegół: zwróć uwagę na numerowane wpisy (1), (2) w wynikach. Każdy numerowany wpis odpowiada konkretnej lokalizacji w drzewie menu, w której znajduje się dana opcja.

Po przejrzeniu wyników wyszukiwania naciśnij odpowiedni numer, a menuconfig zamknie okno wyszukiwania i przeniesie Cię bezpośrednio do lokalizacji tej opcji w drzewie menu — z opcją podświetloną i gotową do zmiany.

Na przykład, naciśnięcie 1 z powyższych wyników przenosi Cię prosto do wpisu Btrfs filesystem support w sekcji File systems. Naciśnięcie 2 przenosi do podopcji Btrfs POSIX Access Control Lists. Bez ręcznej nawigacji.

To znacznie szybsze niż zamykanie wyszukiwania i ręczne przechodzenie przez File systems -> Btrfs filesystem support -> … w celu znalezienia właściwego wpisu. Dla opcji zagnieżdżonych trzy lub cztery poziomy w głąb, oszczędność czasu szybko się kumuluje.

Pomoc dla opcji

Jeszcze jeden przydatny skrót: gdy masz podświetloną dowolną opcję w menu, naciśnij ?, aby wyświetlić jej wbudowany tekst pomocy i opis. Zobaczysz pełny wpis pomocy z Kconfig, zależności i informacje o tym, co dana opcja robi — bez wychodzenia z menuconfig.

Jest to szczególnie przydatne zaraz po skoku do opcji przez wyszukiwanie. Lądujesz na opcji, naciskasz ?, aby potwierdzić, że to ta właściwa, a następnie ją przełączasz.

Typowy przebieg pracy

W praktyce cała sekwencja zajmuje kilka sekund:

  1. Naciśnij /, aby otworzyć wyszukiwanie.
  2. Wpisz nazwę opcji (np. EXT4_FS).
  3. Przejrzyj numerowane wyniki.
  4. Naciśnij odpowiedni numer (np. 1), aby przejść do opcji.
  5. Przełącz ją klawiszem Y, M lub N.

W połączeniu z wyszukiwaniem / i skokami po numerach, menuconfig staje się znacznie bardziej praktyczny przy ukierunkowanych zmianach konfiguracji, nawet w kernelu z ponad 15 000 opcji.