Kompilacja jądra z serii 2.4
Howto opiszę na przykładzie najnowszego jądra z serii 2.4.x - 2.4.19 - wraz z aktualną łatą (patch-em) 2.4.21-pre1 oraz bootloaderem lilo.
1.Zaczniemy od ściągnięcia potrzebnych nam plików.Będą to :
kernel-2.4.20.tar.bz2
patch-2.4.21-pre1.gz
2.Po ściągnięciu plików usuwamy stare symlinki do źródeł naszego poprzedniego jądra. Wykonamy to poleceniem :
rm -f /usr/src/linux
oraz
rm -f /usr/src/linux-2.4
3.Kiedy już usuniemy linki - kopiujemy i rozpakowujemy nasze jądro.Oczywiście, aby to wszystko zadziałało, trzeba mieć prawa root'a (jeśli jesteśmy zalogowani jako zwykły user to klepiemy "su" i podajemy hasło root'a). Aby skopiowac jądro (oraz łatę) należy wklepać polecenie :
cp /sciezka/do/naszego/jadra.tar.bz2 /usr/src/
oraz
cp /sciezka/do/naszej/laty.gz /usr/src/
4.Rozpakowujemy jądro poleceniami :
cd /usr/src/
bunzip2 -d linux-2.4.20.tar.bz2
oraz (po zakończeniu poprzedniej operacji)
tar -xf linux-2.4.20.tar
5.Zmieniamy nazwę katalogu z 'linux' na 'linux-2.4.20-pre5' :
mv /usr/src/linux /usr/src/linux-2.4.21-pre1
6.Jeśli chcemy, aby nasze nowe jądro było jako domyślne w systemie należy zrobic odpowiednie symlinki (większość aplikacji szuka katalogu źródeł jądra w katalogu /usr/src/linux lub /usr/src/linux-2.4).Aby to zrobic klepiemy :
ln -sf /usr/src/linux-2.4.21-pre1 /usr/src/linux
oraz
ln -sf /usr/src/linux-2.4.21-pre1 /usr/src/linux-2.4
7.Wchodzimy do katalogu z naszym jądrem poleceniem :
cd /usr/src/
8.Teraz nałożymy odpowiednią łatę. Będzie to możliwe jedynie, jeśli wykonaliśmy polecenia z pkt.6 - to znaczy zrobiliśmy odpowiednie symlinki :
zcat patch-2.4.21-pre1 | patch -p0
9.Teraz zaczniemy kompilować nasze jądro (hehe ;-). Zaczniemy od prawidłowego skonfigurowania kernela. Po wykonaniu polecenia, które pomoże nam skonfigurować jądro na konsoli tekstowej
make menuconfig
lub w trybie graficznym
make xconfig
Warto tutaj zajrzeć pod adres :
(http://home.elka.pw.edu.pl/~dmierzej/linux/kernel)
gdzie opisane są po polsku (przynajmniej po części) wszystkie opcje konfiguracji kernela.
dokonujemy wyboru odpowiednich opcji dotyczących naszego sprzętu oraz peryferiów. Nie zapomnijmy o wybraniu odpowiediego typu procesora. Ponadto, jeśli chcemy mieć włączoną obsługę tzw."bufora ramki" (framebuffera) należy wybrać odpowiednią kartę graficzą. Jeśli na liście dostępnych nie ma naszego modelu wybieramy Vesa VGA Graphics Console. Reszta opcji jest uzależniona od parametrów naszego sprzętu oraz upodobań. Dokładny opis każdej funkcji uzyskamy (w trybie konsolowym) wciskając kombinację klawiszy 'Shift+?'.Kiedy już skonfigurujmy jądro, zapisujemy konfigurację do pliku (przy wyjściu z programu konfigurującego zostaniemy zapytani o to czy chcemy zapisać konfigurację w domyślnym pliku. Odpowiadamy 'yes'). Teraz wykonujemy polecenia :
make dep
make clean
make bzImage
make modules
make modules_install
depmod -ae
oraz, wedle upodobań
:
make install
Ostanie polecenie dokonuje odpowiednich zmian w pliku konfiguracyjnym lilo (/etc/lilo.conf), oraz instaluje nasze świeżo skompilowane jądro do katalogu /boot, przy czym robi odpowiednie symlinki. Oto przykładowy plik /etc/lilo.conf :
prompt
timeout=50
default=Linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32
image=/boot/vmlinuz
label=Linux
read-only
root=/dev/hda7
vga=788
image=/boot/vmlinuz-2.4.18-3
label=Old
read-only
root=/dev/hda7
vga=788
other=/dev/hda1
optional
label=Win98
W tym przypadku linux jest na partycji /dev/hda7. Jak widać warto jest dodać wpis odpowiadający naszemu staremu (najlepiej dystrybucyjnemy) kernelowi. Opcja 'vga=788' odpowiada za "bufor ramki", czyli framebuffer (wartość 788 to rodzielczość 800x600). Po konfiguracji lilo wpisujemy:
lilo -v
i restartujemy system poleceniem:
reboot
10.Po zrestartowaniu systemu i zalogowaniu się możemy spokojnie usunąć zbędny plik archiwum jądra z katalogu /usr/src/. W tym celu wpiszemy polecenie:
rm -f /usr/src/linux-2.4.20.tar
Od tej pory możemy cieszyć się nową wersją jądra :-).