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ń.