Kompilacja jądra pod Debianem

Ten krótki artykuł podaje jak skompilować jądro stosując metodę Debiana (zadziała także pod Ubuntu i innymi dystrybucjami wywodzącymi się od Debiana). Napisałem go w sposób oszczędny w wyjaśnienia, więc nadaje się raczej dla ludzi mających już jakieś doświadczenie w Linuksie. Zanim zaczniesz czytać dalej rozważ użycie przygotowanego przeze mnie skryptu w języku Ruby. Automatyzuje on kompilację jądra tak mocno, jak to tylko możliwe, dzięki czemu jest nie tylko łatwiejsza, ale i znacznie szybsza - polecam zarówno początkującym, jak i zaawansowanym. Wracając do ręcznej kompilacji, najpierw ściągnij źródła jądra ze strony kernel.org (najwyżej na liście, link F).
Teraz instalacja niezbędnych rzeczy.
# apt-get update
# apt-get install kernel-package fakeroot
Oczywiście potrzebne są też inne rzeczy, jak choćby kompilator, pozwolę sobie jednak założyć, że już je masz w swoim systemie (bo powinieneś). Przejdźmy teraz do samego jądra, w katalogu do którego je ściągnąłeś zrób:
$ tar xfa linux-X.X.X.tar.xz
$ cd linux-X.X.X/
Na tym etapie czasem nakłada się łatki (patch'e) na jądro. Łatki zwykle są zarchiwizowane, więc należy je najpierw rozpakować. Najlepiej do katalogu ze źródłami jądra. Następnie nakładamy kolejne łatki (uwaga, w niektórych wypadkach kolejność ma znaczenie), co robimy następująco:
$ patch -p1 < patch-Z.Z.Z
Następnie kopiujemy stary plik konfiguracyjny. Bez tego poprawne skonfigurowanie jądra byłoby bardzo trudne i wymagałoby masy czasu.
$ cp /boot/config-Y.Y.Y .
$ mv config-Y.Y.Y .config
No i konfigurujemy:
$ make menuconfig
Na tym etapie sam musisz wiedzieć, co chcesz osiągnąć. Z popularnych opcji warto wybrać dokładny typ procesora, wyłączyć optymalizację pod kątem rozmiaru i zrezygnować z initrd (to wymaga już nieco zabawy). Gdy już skończysz, wyjdź z konfiguratora zapisując plik konfiguracyjny. Teraz sedno samej kompilacji:
$ make-kpkg clean
$ fakeroot make-kpkg --append_to_version "-yyy" --initrd -j3 kernel_image kernel_headers
Gdzie zamiast znaków y powinieneś wstawić człon, który zostanie dodany do wersji jądra. W kernelach z repozytoriów jest to np. -386, czy -k7, czyli architektura procesora. Bezpieczniej jednak jest zastosować oznaczenie niestandardowe, co ułatwia identyfikację "swojego" jądra. Osobiście stosuję -sadi, czyli swoją ksywkę. Opcja -j sprawia, że kompilacja zostanie rozbita na kilka odrębnych procesów, dzięki czemu na procesorach wielordzeniowych trwa znacznie krócej. Zwykle mówi się, że optymalną liczbą procesów kompilacji jest ilość rdzeni procesora + 1. Czyli np. na procesorze dwurdzeniowym używamy opcji -j3, a na czterordzeniowym -j5. Czas trwania kompilacji zależy od konfiguracji jądra i posiadanego sprzętu. Na stosunkowo nowych komputerach zwykle jest to poniżej 30 minut, jednak na starszych proces kompilacji może się ciągnąć nawet kilka godzin. Po kompilacji musimy jeszcze zainstalować obraz jądra, oraz nagłówki jądra:
$ cd ..
$ su
# dpkg -i linux-image-X.X.X.deb linux-headers-X.X.X.deb
To by było na tyle. Mam nadzieję, że mój artykuł pomógł w kompilacji działającego jądra.

Uwaga, zachowaj stare jądro jeszcze przynajmniej kilka dni, zanim nie upewnisz się, że nowe działa w 100% poprawnie.

Niniejszy artykuł jest dostępny na licencji Creative Commons Uznanie autorstwa - Użycie niekomercyjne 3.0 Polska


<< Powrót

Komentarze:

Wszystkie przedstawione tutaj opinie należą do ich autorów i twórca strony nie ponosi żadnej odpowiedzialności za ich treść.


Imię/Ksywka (wymagane):

Strona WWW:

Wpisz tekst z obrazka (wymagane):

kod

Treść (wymagane):


W polu "Strona WWW" wpisywanie członu "http://" nie jest konieczne. Tagi (X)HTML wpisane w treści nie będą działać jako element strony, zamiast tego pojawią się w samym komentarzu. Komentarze obraźliwe, nie na temat lub niezgodne z prawem będą w miarę możliwości usuwane.

skiny: grey-tea green | light sky blue | carrot orange
some rights reserved | kanał informacyjny | admin | valid XHTML 1.0 | valid CSS | valid Atom 1.0