How to?

Użytkowanie Linuxa

Kompilacja kernela 2.6.27.7 w Debianie Etch.

Opublikował/a pepisboczek w dniu grudzień 3, 2008

Zajmiemy się dzisiaj kompilacją jądra Linuxa, na systemie Debian Etch. Kompilacja kernela w systemie Debian jest o tyle ciekawa, że na koniec otrzymujemy dwie paczki .deb które poprostu instalujemy w system i możemy sie cieszyc z używania nowej wersji jądra. Nie bede opisywał co należy szczegółowo wykompilować i zmieniać w nowej wersji, poprostu wykorzystamy w nowym jądrze konfigurację starego jądra żeby nie narazić się na jakie kolwiek niedogodności związane z nie prawidłową kompilacją.

Do poprawnej kompilacji potrzebne nam będą narzędzia do kompilacji, instalujemy sie w taki oto sposób:

apt-get update

apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential

Mamy już wszystko czego potrzębujemy do poprawnej kompilacji, czas zabrać sie za pobranie ze strony www.kernel.org najnowszej stabinej wersji jądra. W naszym przypadku jest to jądro 2.6.27.7.

wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.7.tar.bz2

Jak widzimy warto jest ściągnąć wersję w formacie .tar.bz2 z tego względu ze jest to dobrzę skompresowane archiwum i ściąganie trwa szybciej.

Gdy mamy już nasze jajeczko w najnowszej wersji przenosimy je do katalogu /usr/src , i wypakowujemy je nastepującym poleceniem.

tar xvjf linux-2.6.27.7.tar.bz2

Następnie tworzymy dowiązanie symboliczne:

ln -s linux-2.6.27.7.tar.bz2 linux

Przechodzi do katalogu /usr/src/linux i wykonujemy następująco:

make clean && make mrproper
cp /boot/config-`uname -r` ./.config

Drugie polecenie spowoduje wczytanie pliku konfugracyjnego aktualnie używanego jądra do poprawnej kompilacji nawerj wersji kernela.

Kompilację uruchamiamy poprzez dowolny program (oczywiscie do tego przeznaczony), ja posłużyłem sie tutaj narzędziem menuconfig.

make menuconfig

Zaznaczamy pole “Load an Alternate Configuration File”, spowoduje to wczytanie pliku .config

Gdy wszystko pójdzie bez najmniejszego problemu, najeżdzamy na pole Exit, zostaniemy zapytani czy chcemy zapisać nowa konfiguracje jądra “Do you wish to save your new kernel configuration?”, oczywiście zgadzamy sie na toi wybieramy pole Yes.

Do zbudowania nowej wersji jądra wydajemy jeszcze dwa polecenia:

make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

Trochę to trwa w zależności od szybkości naszego komputera. Na moim sprzecie tj. procesor 2.4gHz, 1gb pamięci ramu zajeło to około 30min. Gdy wszystko pojdzie bez problemu powinniśmy w katalogu /usr/src zobaczyć dwie paczki .deb.

ls
linux-headers-2.6.27.7-custom_2.6.27.7-custom-10.00.Custom_i386.deb
linux-image-2.6.27.7-custom_2.6.27.7-custom-10.00.Custom_i386.deb

Ostatnią rzeczą jaka musimy wykonać jest instalacja nowego kernela w naszym systemie.

dpkg -i linux-image-2.6.27.7-custom_2.6.27.7-custom-10.00.Custom_i386.deb
dpkg - i linux-headers-2.6.27.7-custom_2.6.27.7-custom-10.00.Custom_i386.deb

Po instalacji wykonujemy restart i w menu gruba wybieramy naszą nową wersje jądra w jakiej chcemy uruchomic nasz system.
Dla pewności mozemy sprawdzic wydając polecenie

uname -r
2.6.27.7-custom

To już wszystko, teraz możemy się cieszyć nową wersja stabilnego jądra i obsługą nowych urządzeń.

Dodaj komentarz

XHTML: Możesz skorzystać z tych etykiet: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>