Kompilacja nowego kernela w SuSE nie odbiega praktycznie niczym od kompilacji kernela pod innymi dystrybucjami. SuSE Guide zaleca stosowania źródeł kernela dostępnych na mirrorach (ogromny rozmiar kernel-sources jest tylko pozorny - suma 3 różnych paczek, z których ściągamy jedną wybraną). Po pobraniu źródeł kernela powinny znaleźć się w /usr/src/katalog_ze_źródłami. Jeżeli używamy własnych to musimy je tam rozpakować. Przed kompilacją warto wykonać kopię zapasową /boot i /lib/modules. Następnie przechodzimy do konsoli, jako root, tekst po # jest komentarzem i nie dodajemy ich do poleceń :)
cd /usr/src/katalog_ze_źródłami
zcat /proc/config.gz > .config #pobieramy konfigurację obecnego kernela
make oldconfig # dla kompilacji takiego samego kernela, bez zmian konfiguracji lub
make menuconfig # ze zmianą konfiguracji kernela, wymaga ncurses-devel
make clean bzImage
Po zakończeniu powinniśmy mieć skompresowanego kernela (bzImage) w /usr/src/linux/arch//boot (zazwyczaj /usr/src/linux/arch/i386/boot). Jeżeli bzImage nie ma to kernel nie skompilował się poprawnie. By dostać jakieś informacje o problemie:
make bzImage V=1 2>&1 | tee kernel.out
W pliku kernel.out będą zapisane dane z przebiegu kompilacji. Jeżeli wszystko przebiegło zgodnie z planem to kontynuujemy:
make modules # kompilacja modułów
INSTALL_PATH=/boot make install #instalacja kernela
make modules_install #instalacja modułów
cp /usr/src/linux/System.map /boot/
Po zakończonej instalacji zapewne będziemy musieli zaktualizować konfigurację gruba /boot/grub/menu.lst - jeżeli użyliśmy tej samej wersji kernela to zmieniać nic nie musimy. Zabawa z grubem to już temat na kolejny artykuł.
Comment article