Co to jest make oldconfig?

Gdy budujesz kernel Linux, jednym z najważniejszych kroków jest jego konfiguracja. Kernel ma tysiące opcji, które można włączyć lub wyłączyć, a ręczne przeglądanie ich wszystkich byłoby niezwykle czasochłonne. Tutaj z pomocą przychodzi make oldconfig.

Polecenie make oldconfig jest jednym z wielu narzędzi konfiguracyjnych dostarczanych wraz ze źródłami kernela. Jego głównym celem jest aktualizacja istniejącego pliku konfiguracyjnego (.config) w odniesieniu do nowych opcji dostępnych w nowszej wersji kernela.

Jak to działa?

Załóżmy, że masz działający plik .config ze starszej wersji kernela i pobrałeś źródła nowszej wersji. Gdy uruchomisz make oldconfig, skrypt przeanalizuje Twój obecny plik .config i porówna go z opcjami dostępnymi w nowym kernelu.

Dla każdej nowej opcji, która nie istnieje w Twoim starym pliku, make oldconfig zapyta Cię, czy chcesz ją włączyć. Masz zazwyczaj do wyboru:

  • Y (Tak): Włącza opcję i wkompilowuje ją bezpośrednio w obraz kernela.
  • M (Moduł): Włącza opcję jako moduł, który można ładować i usuwać w trakcie działania systemu.
  • N (Nie): Wyłącza opcję.
  • ? (Pomoc): Wyświetla krótki opis opcji.

Dzięki temu procesowi musisz podjąć decyzję tylko w sprawie nowych opcji, co znacznie oszczędza czas w porównaniu do make menuconfig lub make xconfig, gdzie musiałbyś przeglądać wszystkie opcje od nowa.

Przykład użycia

Oto typowy scenariusz:

  1. Jesteś w głównym katalogu źródeł kernela Linux.

  2. Masz plik .config skopiowany ze starszej, działającej wersji kernela.

  3. Uruchamiasz polecenie:

    make oldconfig
    
  4. Na ekranie zaczną pojawiać się pytania dotyczące nowych opcji:

    Btrfs POSIX Access Control Lists (BTRFS_FS_POSIX_ACL) [Y/n/?] (NEW)
    
  5. Odpowiadasz na każde pytanie, a na koniec Twój plik .config zostanie zaktualizowany i gotowy do użycia w procesie kompilacji nowego kernela.

Podsumowanie

make oldconfig to potężne narzędzie dla każdego, kto regularnie kompiluje i aktualizuje kernel Linux. Automatyzuje proces aktualizacji konfiguracji, pozwalając Ci skupić się tylko na nowościach i zmianach, co czyni cały proces znacznie bardziej wydajnym.