Dostosowanie jądra nie jest dla wszystkich. Pamiętaj, zanim spróbujesz któregokolwiek z tego, że może on złamać twój system.
Istnieje kilka powodów, dla których chcesz dostosować swoje jądro. Możesz przyciąć swoje jądro tylko do niezbędnych usług, szczególnie jeśli używasz serwera lub dedykowanego urządzenia, które wymaga tylko niezbędnych elementów. Być może będziesz musiał załatać jądro, aby obsługiwać sprzęt, który nie jest obecnie obsługiwany przez jądro, z którego korzystasz.
Ten artykuł nie wyjaśni, w jaki sposób poprawiać jądro, jak dostosować bieżący. Będę miał kolejny artykuł, który wyjaśni, jak łatać jądro, i kilka praktycznych powodów, dla których chciałbyś to zrobić.
Aby rozpocząć, musimy dowiedzieć się, jaka wersja jądra obecnie działa. Użyjemy do tego polecenia uname
$ uname -r
2.6.17-10-generyczny
Teraz musimy zainstalować źródło Linuksa dla twojego jądra, zauważ, że używam jądra 2.6.17-10, więc linia instalatora to odzwierciedla. Na potrzeby tego artykułu możesz zastąpić numer jądra tym, co używasz. Musimy również zainstalować bibliotekę curses i kilka innych narzędzi, które pomogą nam ją skompilować.
sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot
Jeśli jesteś ciekawy, skąd jest instalowane źródło linuksa, możesz użyć polecenia dpkg, aby przekazać ci pliki w pakiecie. Oto dane wyjściowe w moim systemie:
$ dpkg -L linux-source-2.6.17
/.
/ usr
/ usr / src
/usr/src/linux-source-2.6.17.tar.bz2
/ usr / share
/ usr / share / doc
/usr/share/doc/linux-source-2.6.17
(przycięte)
Widzimy, że źródło zostało zainstalowane w katalogu / usr / src w spakowanym pliku.
Aby było łatwiej, ustawimy się w trybie root, używając sudo, aby otworzyć nową powłokę. Są na to inne sposoby, ale ja wolę w ten sposób.
sudo / bin / bash
Teraz zmień katalog na lokalizację źródłową, abyśmy mogli zainstalować. Pamiętaj, że może być konieczne zainstalowanie narzędzia bunzip, jeśli nie jest ono zainstalowane. (to było moje)
cd / usr / src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
Utwórz kopię istniejącej konfiguracji jądra, która będzie używana dla niestandardowego procesu kompilacji. Zauważ, że "postać jest tą pod tyldą ~
cp / boot / config-'uname -r '/usr/src/linux/.config
Teraz uruchomimy narzędzie, które pozwoli nam dostosować jądro:
cd / usr / src / linux
stworzyć menuconfig
Najpierw zejdź do Load Alternate Configuration File i załaduj plik .config. (po prostu naciśnij enter)
Teraz, gdy znajdujemy się w narzędziu, możemy ustawić opcje dla naszego niestandardowego jądra. Nawigacja jest dość prosta, na górze jest legenda, jeśli się zgubisz. Zdecydowałem się wybrać Networking i nacisnąć klawisz Enter, aby przejść do tej kategorii.
Wsparcie dla amatorów radiowych? Po co to jest, do cholery, zainstalowane? Zauważysz, * że jest wbudowane w jądro.
Naciskając przycisk? klucz, widzimy pomoc dla tego konkretnego przedmiotu. Oto wyjaśnienie:
Cóż, zamierzam to natychmiast wyłączyć. Dlaczego tak na prawdę jest zainstalowany w moim jądrze? Nacisnąłem Esc, aby opuścić ekran pomocy, a następnie naciśnij N, aby wykluczyć to z mojego jądra.
Po zakończeniu dokonywania dowolnych wyborów, naciśnij przycisk Zakończ i zapisz konfigurację, gdy pojawi się odpowiedni monit.
Teraz mamy konfigurację gotową do kompilacji. Najpierw zrobimy make clean, aby upewnić się, że wszystko jest gotowe do kompilacji.
make-kpkg czysty
Następnie faktycznie skompilujemy jądro. To zajmie DŁUGI CZAS TRWANIA, więc znajdź coś interesującego do zrobienia.
fakeroot make-kpkg -initrd -append-to-version = -custom kernel_image kernel_headers
Ten proces utworzy dwa pliki .deb w katalogu / usr / src zawierające jądro. Plik linux-image **** jest rzeczywistym obrazem jądra, a drugi plik można zainstalować zarówno z dpkg. Nazwy plików będą prawdopodobnie inne w twoim systemie.
Zwróć uwagę, że po uruchomieniu następnych poleceń ustawi to nowe jądro jako nowe domyślne jądro. To może załamać rzeczy! Jeśli twoja maszyna nie uruchamia się, możesz nacisnąć Esc w menu ładowania GRUB i wybrać stare jądro. Możesz następnie wyłączyć jądro w /boot/grub/menu.lst lub spróbować ponownie skompilować.
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
Teraz zrestartuj swój komputer. Jeśli wszystko działa, powinieneś uruchamiać swoje nowe, niestandardowe jądro. Możesz to sprawdzić, używając uname. Zwróć uwagę, że dokładna liczba będzie inna na Twoim komputerze.
uname -r
2.6.17.14-ubuntu1-custom
Planuję napisać serię artykułów o dostosowywaniu jądra, więc zasubskrybuj kanał RSS dla aktualizacji.
Ponadto, w interesie pełnego ujawnienia, nauczyłem się, jak to zrobić z artykułu na HowtoForge, który jest świetną stroną dla bardzo zaawansowanych tutoriali na temat Linuksa. Zauważysz, że wiele kroków w tym artykule jest podobnych, chociaż starałem się, aby ten artykuł był bardziej "Ubuntu".