Aktualizacja i kompilacja jądra w Debianie/Konfiguracja jądra
Konfiguracja jądra
edytujUruchamianie narzędzia do konfiguracji jądra
edytujZakładając, że jesteś nadal w katalogu /usr/src i wykonałeś wszystkie poprzednie instrukcje, wprowadź cd linux, by przenieść się do katalogu linux (który, jeśli sobie przypominasz, jest dowiązaniem symbolicznym do katalogu linux-2.4.20).
Będąc w katalogu /usr/src/linux, jesteś gotowy do uruchomienia narzędzia konfiguracyjnego. Wprowadź make xconfig w linii poleceń, by uruchomić narzędzie do Konfiguracji Jądra Linuksa (Linux Kernel Configuration).
Jeśli zamiast graficznej wersji wolisz używać wersji tekstowej tego narzędzia, musisz wprowadzić make menuconfig w linii poleceń. Nie zamierzam opisywać wersji tekstowej w tym przewodniku, ale myślę, że powinieneś sobie poradzić, ponieważ oba narzędzia są do siebie w pewnym stopniu podobne.
Twoim oczom powinien ukazać się szary ekran z masą przycisków. Jeśli otrzymałeś jakieś błędy w linii poleceń i narzędzie się nie uruchomiło, otwórz inny terminal i wprowadź "xhost +", będąc zwykłym użytkownikiem, by pozwolić innym użytkownikom (w tym wypadku administratorowi) uruchamiać graficzne aplikacje w Twoim środowisku X. Kiedy to zrobisz, wprowadź ponownie make xconfig jako administrator, by uruchomić narzędzie do Konfiguracji Jądra Linuksa. Przyczyną braku możliwości otworzenia narzędzia może być także zminimalizowana konsola. Jeśli nie możesz uruchomić narzędzia do konfiguracji jądra, spróbuj powiększyć konsolę na cały ekran.
Jeśli narzędzie do Konfiguracji Jądra Linuksa nadal się nie uruchamia, i wciąż otrzymujesz komunikaty o błędach, upewnij się, że zainstalowałeś wszystkie wcześniej wspominane pakiety, takie jak:
- tk8.2, make, gcc, bin86, libc6-dev, kernel-package, libncurses5-dev (potrzebne tylko, gdy chcesz korzystać z tekstowej wersji narzędzia konfiguracyjnego)
Jeśli jesteś w stanie uruchomić narzędzie Konfiguracji Jądra Linuksa, możemy kontynuować.
Konfiguracja jądra Linuksa
edytujPowinieneś mieć teraz otwarte narzędzie do Konfiguracji Jądra Linuksa. Zanim zaczniemy, polecam przesunięcie okna z narzędziem na samą górę ekranu. Będziemy otwierać mnóstwo podokien podczas procesu konfiguracji, a miejsce pokazywania tych podokien jest związane z oknem głównym (tym z wieloma przyciskami). Jeśli okno główne umieścisz na dole ekranu, to podokna w większości pojawiać się będą poza ekranem i będzie trzeba je przenosić, by zobaczyć je w całości. Możesz zaoszczędzić sobie mnóstwo klikania i przenoszenia, ustawiając główne okno w górnej części ekranu.
Konfiguracja jądra brzmi strasznie, ale w rzeczywistości sprowadza się do odpowiadania na masę pytań wielokrotnego wyboru. W większości narzędzie Konfiguracji Jądra Linuksa będzie pytać, czy dodać obsługę czegoś, a Ty będziesz odpowiadać 'Y' (Yes) – by potwierdzić, 'N' (No) - by nie dodawać obsługi, lub 'M' (Module) – by dodać obsługę tej rzeczy jako moduł.
Korzyści płynące z ładowania różnych rzeczy jako moduły: mniejsze jądro (i prawdopodobnie szybsze) oraz możliwość załadowania lub wyładowania modułu w każdej chwili, bez rekompilacji jądra. Jednakże za pierwszym razem polecam wybieranie 'Y' dla każdej rzeczy, której obsługi chcesz. Możesz później poczytać, jak używać modułów, gdy już będziesz zorientowany w kompilacji jądra.
Nie mam możliwości opisania każdej opcji konfiguracyjnej jądra, ponieważ każdy posiada inny sprzęt. Narzędzie Konfiguracji Jądra Linuksa posiada system pomocy. Praktycznie każda sekcja wielokrotnego wyboru posiada przycisk pomocy (help), gdzie można uzyskać dużo szczegółowych informacji. Stanowczo polecam czytanie tych opisów dla każdej opcji. Pomoże Ci to dokonać właściwych wyborów dla swojego sprzętu oraz zapoznać się z usługami, które dostarcza jądro.
Od tłumacza: W związku z tym, że opcje, które zobaczysz konfigurując jądro, będą po angielsku, zdecydowałem się zostawiać je w oryginale, a tłumaczenie umieszczać obok w nawiasie.
Code maturity level options (Opcje dotyczące dojrzałości kodu):
By zobaczyć przykład działania narzędzia Konfiguracji Jądra Linuksa, włączając obsługę pomocy, kliknij na przycisku "Code maturity level options", który znajduje się w lewym górnym rogu głównego okna. Zauważysz, że pojawi się nowe okno dialogowe. W przypadku okna dotyczącego tej opcji, jest tylko jedno pytanie wymagające odpowiedzi "Prompt for development and/or incomplete code/drivers" ("Pytaj o rozwojowe i/lub nieskończone części kodu/sterowniki")
Zanim zdecydujemy o tym, czy chcemy mieć obsługę tego elementu w jądrze, zerknijmy na okienko pomocy. By to zrobić, kliknij na przycisku "Help" ("Pomoc") w prawej części okna.
Po przeczytaniu całego tekstu wróć do ostatniego paragrafu i spójrz na niego jeszcze raz. Brzmi on tak: "Unless you intend to help test and develop a feature or driver that falls into this category, or you have a situation that requires using these features, you should probably say N here." ("Jeżeli nie chcesz pomóc w testowaniu i rozwijaniu funkcji lub sterowników z tej kategorii, lub nie jesteś w sytuacji, która zmuszałaby Cię do używania tych funkcji, powinieneś prawdopodobnie odpowiedzieć 'N'"). Wiele z tekstów, dostępnych w pomocy narzędzia Konfiguracji Jądra Linuksa, wyjaśnia, czego dana opcja dotyczy, i sugeruje Ci odpowiedź. Myślę, że jest to bardzo pomocne dla niezorientowanych w kompilacji jądra. Jeśli nie jesteś pewien jakiejś odpowiedzi, polecam postępowanie według sugestii, których dostarcza tekst pomocy. Jeśli nie ma żadnych sugestii, to domyślne ustawienie jest zazwyczaj bezpieczne.
Na wszelki wypadek, gdyby ktoś pytał, włączenie opcji "Prompt for development and/or incomplete code/drivers" uaktywnia sekcje uważane za eksperymentalne lub trochę niestabilne. Przykładem może być obsługa Firewire. Jeśli spojrzysz na główne okno narzędzia Konfiguracji Jądra Linuksa, to zauważysz, że przycisk z obsługą Firewire jest nieaktywny (nie możesz go kliknąć). Jeśli odpowiedziałbyś 'Y' w pytaniu "Prompt for development and/or incomplete code/drivers", zobaczyłbyś, że przycisk Firewire byłby aktywny. Nie polecam włączania tego teraz. Wstrzymaj się do czasu, aż będziesz bardziej zorientowany w konfiguracji jądra.
Teraz, gdy już wiemy, czym jest "Prompt for development and/or incomplete code/drivers", możemy wybrać 'N' (jest to domyślne ustawienie) z lewej strony tekstu. Powinieneś również zauważyć, że do wyboru jest tylko opcja Y (Tak) i N (Nie). M (Moduł) brakuje. Jeśli jakakolwiek z możliwości (Y, N lub M) jest niedostępna dla specyficznej opcji jądra, to nie będzie wyświetlona.
Ponieważ nie ma więcej ustawień na tym oknie, kliknij przycisk "Next" ("Następny"), znajdujący się na dole tego okna. Mógłbyś również kliknąć przycisk "Main Menu" ("Menu Główne"), a następnie wybrać kolejny przycisk poniżej przycisku "Code maturity level options", którym w tym wypadku jest "Loadable module support" ("Obsługa modułów ładowalnych"), ale myślę, że prościej jest po prostu kliknąć przycisk "Next" po skończeniu ustawiania opcji w każdym okienku i przejście całego procesu konfiguracji w sposób liniowy.
Loadable Module Support (Obsługa Modułów Ładowalnych):
W oknie "Loadable module support" zauważysz trzy opcje do ustawienia. Przeczytaj opisy wszystkich, a potem wybierz 'Y' dla każdej z nich. Gdy skończysz, kliknij przycisk "Next".
Processor Type and Features (Typ i Funkcje Procesora):
W tym miejscu konfiguracja jądra staje się zależna od sprzętu, który posiadasz. Zająłem się tym oknem tylko dlatego, żeby pokazać Ci rozwijalne listy wyboru, które również istnieją w narzędziu Konfiguracji Jądra Linuksa, oraz by pomóc w ustawieniu kilku opcji.
Pierwszym elementem w tym oknie jest opcja "Processor family" ("Rodzina procesorów"). Zauważysz, że zamiast standardowego wyboru Y - N - M, takiego jak widziałeś wcześniej, pojawił się przycisk (Zakładam, że domyślnym ustawieniem i jednocześnie wyświetlonym jest "Pentium-III/Celeron (Coppermine)"). Kliknij ten przycisk i wybierz swój procesor z listy. Jeśli nie wiesz, jaki rodzaj procesora posiadasz, domyślne ustawienie zadziała, ale jądro nie będzie zoptymalizowane pod Twoją maszynę. Na przykład, mój komputer wyposażony jest w procesor AMD Athlon, więc ja wybiorę z listy linię "Athlon/Duron/K7". Jeśli nie wiesz, jaki masz procesor, to bezpiecznym, ale i niezoptymalizowanym ustawieniem jest 386.
Przeczytaj okna pomocy dla każdej pozostałej opcji i wybierz odpowiednio Y (Tak), N (Nie) lub M (Moduł). Gdy skończysz, wciśnij przycisk "Next". Zauważ również, że niektóre opcje nie są ani wielokrotnego wyboru, ani listami rozwijalnymi, a przyciskami, które otwierają kolejne okna. Upewnij się, że na wszystkich kliknąłeś. Klikając na każdym oknie przycisk "Next", masz zagwarantowane, że zobaczysz wszystkie możliwe aspekty jądra. Jeśli robisz inaczej, możesz coś przeoczyć.
Za chwilę pomogę skonfigurować nagrywarkę CD-R/RW, system plików z księgowaniem oraz kartę dźwiękową, a w międzyczasie kontynuuj procedurę czytania okien pomocy dla każdej opcji, dokonywania odpowiednich wyborów (Y - N - M) oraz klikania "Next" na dole każdego okna, aż przejdziesz przez całą konfigurację jądra. To zajmie trochę czasu, ale jest tego warte.
Chciałbym móc zaoferować więcej pomocy przy tym procesie, ale nie znam Twojego sprzętu ani nie wiem, co tak naprawdę chcesz osiągnąć. Jednakże zostawiam Cię w objęciach kompetentnych okien z pomocą.
Chciałbym przestrzec przed pewną regułą, przynajmniej do czasu, aż będziesz bardziej zorientowany w sprawach dotyczących jądra Linuksa. Często ludzie myślą tak: "Po prostu zainstaluję obsługę wszystkiego". To bardzo zły pomysł. Wkompiluj obsługę tylko tych rzeczy, które chcesz lub których potrzebujesz. Jeśli nie wiesz, do czego jest dana opcja, po prostu zaakceptuj domyślne ustawienie. Jeśli masz pytania, w poszukiwaniu pomocy użyj dobrej wyszukiwarki internetowej, takiej jak Google.
Zanim będziemy kontynuować, przejdź przez konfigurację jądra jeszcze raz.