Jeśli pragniesz zoptymalizować swój serwer, wycisnąć ile się da z laptopa czy też dodać obsługę nowego sprzętu na dowolnej z tych maszyn być może będzie trzeba skompilować kernel. Wbrew pozorom nie jest to bardzo trudne – wystarczy troche wiedzy i dużo cierpliwości.
- Upewnij się czy podstawowe zależności zostały rozwiązane.
root@dev:/# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential make
- Pobierz źródła oraz ewentualne łatki (sugeruję dodać tuxonice i bfs).
- Rozpakuj źródła.
- Skopiuj łatki do katalogu ze źródłami. Wykorzystasz je w następujący sposób:
root@dev:/linux-2.6.36.1# patch -p1 < nazwapliku.patch
po wykonaniu tej czynności można przejść dalej.
- Przygotuj kernel do kompilacji i skopiuj konfigurację aktualnego kernela.
root@dev:/linux-2.6.36.1# make clean && make mrproper && cp /boot/config* .config && make menuconfig
w tym momencie powinien się uruchomić niebieski interfejs menuconfig – należy wybrać “Load an Alternate Configuration File”.
- Zmodyfikuj konfigurację. Jeśli nie wiesz jak to zrobić – poczytaj o opcjach, które widzisz (bardzo często Wikipedia zawiera odpowiednie informacje) lub nie rób nic. Jeśli chcesz wyjść z menuconfig klikaj do skutku exit. Oczywiście na pytanie czy chcesz zapisać konfigurację odpowiedz twierdząco.
- Rozpocznij kompilację i budowę paczki *.deb:
root@dev:/linux-2.6.36.1# make-kpkg –append-to-version=-xyz –revision=1 –initrd kernel_image kernel_headers
xyz może być dowolną nazwą, revision podnoś o 1 przy każdej przebudowie paczki. Proces kompilacji potrwa od 30 minut do kilku(nastu?) godzin, wszystko zależy od wydajności wykorzystywanej maszyny.
- Zainstaluj świeżą paczke:
root@dev:/# dpkg -i *.deb
przy odrobinie szczęścia po restarcie będziesz cieszyć się nowym, własnym kernelem.
W tytule zamieściłem informację, iż jest to poradnik dla Debiana 6, lecz nie ma żadnych przeszkód aby zrobić wszystko dokładnie tak samo pod Ubuntu. Prawdopodobnie za pierwszym podejściem nie uda Ci się stworzyć działającego jądra – nie przejmuj się, to nornalne. Drogą prób i błędów dojdziesz do idealnej dla siebie konfiguracji.
edycja z dnia 10/10/11:
Jeśli posiadasz procesor Intel z funkcją HT lub dowolną konfigurację wielordzeniową/wieloprocesorową opartą na procesorach innej marki możesz nieco przyspieszyć proces kompilacji. Użyj polecenia
export CONCURRENCY_LEVEL=n
gdzie n to wynik następującej komendy
grep -c ^processor /proc/cpuinfo
a następnie uruchom make-kpkg.