Mam taki problem. Nałożyłem łatę na ta wersję jajka 2.6.32.10. Korzystałem z tego opisu.
Doszedłem do momentu:Mamy już wszystko czego potrzebujemy do poprawnej kompilacji, czas zabrać się za pobranie ze strony http://www.kernel.org najnowszej stabilnej wersji jądra. W naszym przypadku jest to jądro 2.6.27.7.Kod: Zaznacz cały
apt-get update apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential
Jak widzimy warto jest ściągnąć wersję w formacie .tar.bz2 z tego względu, że jest to dobrze skompresowane archiwum i ściąganie trwa krócej.Kod: Zaznacz cały
wget -c [url]http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.7.tar.bz2[/url]
Gdy mamy już nasze jajeczko w najnowszej wersji przenosimy je do katalogu /usr/src i wypakowujemy je następującym poleceniem:Następnie tworzymy dowiązanie symboliczne:Kod: Zaznacz cały
tar xvjf linux-2.6.27.7.tar.bz2
Przechodzi do katalogu /usr/src/linux i wykonujemy następująco:Kod: Zaznacz cały
ln -s linux-2.6.27.7.tar.bz2 linux
Drugie polecenie spowoduje wczytanie pliku konfiguracyjnego aktualnie używanego jądra do poprawnej kompilacji nowej wersji jądra.Kod: Zaznacz cały
make clean && make mrproper cp /boot/config-`uname -r` ./.config
Kompilację uruchamiamy poprzez dowolny program (oczywiście do tego przeznaczony), ja posłużyłem się tutaj narzędziem menuconfig.Zaznaczamy pole:Kod: Zaznacz cały
make menuconfig
spowoduje to wczytanie pliku .config.Kod: Zaznacz cały
Load an Alternate Configuration File
Gdy wszystko pójdzie bez najmniejszego problemu, najeżdżamy na pole ,,Exit'', zostaniemy zapytani, czy chcemy zapisać nową konfiguracje jądra:oczywiście zgadzamy się na to i wybieramy pole ,,Yes''.Kod: Zaznacz cały
Do you wish to save your new kernel configuration?
Do zbudowania nowej wersji jądra wydajemy jeszcze dwa polecenia:Trochę to trwa w zależności od szybkości naszego komputera. Na moim sprzęcie tj. procesor 2.4gHz, 1GB pamięci ramu zajęło to około 30 minut. Gdy wszystko wykona się bez problemu powinniśmy w katalogu /usr/src zobaczyć dwie paczki .deb.Kod: Zaznacz cały
make-kpkg clean fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
Ostatnią rzeczą jaka musimy wykonać jest instalacja nowego jądra w naszym systemie.Kod: Zaznacz cały
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
Kod: Zaznacz cały
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
Kod: Zaznacz cały
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
Kod: Zaznacz cały
make[1]: Entering directory `/usr/src/linux-2.6.32.10'
CHK include/linux/version.h
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
CALL scripts/checksyscalls.sh
Building modules, stage 2.
MODPOST 1848 modules
WARNING: modpost: Found 22733 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[1]: Leaving directory `/usr/src/linux-2.6.32.10'
/usr/bin/make EXTRAVERSION=.10-custom ARCH=i386 \
-C Documentation/lguest
make[1]: Entering directory `/usr/src/linux-2.6.32.10/Documentation/lguest'
cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE lguest.c -o lguest
lguest.c:21:25: error: sys/eventfd.h: No such file or directory
lguest.c:37:18: error: zlib.h: No such file or directory
lguest.c: In function âcreate_threadâ:
lguest.c:1027: warning: implicit declaration of function âeventfdâ
make[1]: *** [lguest] Error 1
make[1]: Leaving directory `/usr/src/linux-2.6.32.10/Documentation/lguest'
make: *** [debian/stamp/build/kernel] Error 2
Z góry dziękuję. Pozdrawiam.