Kompilacja Kernela
Wpisany przez crash sobota, 27 sierpnia 2005 19:08
Artykul ten ukazuje prostote kompilowania wlasnego jajka ( kernel'a ).
Nie jest to proces trudny, raczej jest to proces czasochlonny
w zaleznosci od tego na jakiej maszynie pracujemy, na marzynie
powiedzmy z dwoma procesorami i 1GB pamieci bedzie to okolo
15min, na 500MHz trwa to okolo 40 min.
Caly proces kompilacji bedzie opisany na podstawie maszyn z
procesorem 32-bitowym, gdyz jest ona najczesciej spotykana z
malymi wstawkami dla porownania jezeli chodzi o innej klasy
maszyny. Skladnia pliku konfiguracyjnego jest dosc prosta i
przejrzysta.
Opcje jakie zawiera w pliku domyslnym czyli GENERIC to:
machine - jest to okreslnie architekture naszego procesora, najczesciej jest to i386, natomiast dla amd-64 jest to amd64.
cpu - okresla klase procesora, I586_CPU jest to najzwyklejszy
pentium, I686_CPU jest to Pentium Pro, lub inne wyzsze procesory
( rowniez AMD ), dla amd-64 jest to HAMMER
ident - w jaki sposob bedzie rozpoznawany nasz kernel
oraz
options - sa to opcje jakie w kernel wkompilujemy
device - urzadzenia jakie wkompilujemy
Po zainstalowaniu kernela, w 4.x kernel bedzie w glownym katalogu
pod nazwa kernel, natomiast jego poprzednik zmieni nazwe na
kernel.old, w 5.x kernel znajduje sie w /boot/kernel i analogicznie po
zainstalowaniu zmieni nazwe na kernel.old.
Po krotkiej lekcji zapoznawczej z plikiem konfiguracyjnym przejdzmy do samego procesu kompilacji.
Wchodzimy do katalogu
dla 32-bitowej maszyny tak ja zaznaczylem wczesniej. W katalogui znajduja sie miedzy innymi pliki GENERIC, NOTES [ seria 5.x FreeBSD ] lub LINT [ seria 4.x FreeBSD ], w momecie jak nie istnieje LINT mozna bardzo latwo go stworzyc:
[root@lame /usr/src/sys/i386/conf]#file LINT
LINT: ASCII text
Tak wiec jak potrzebujemy go, to mamy ;) W pliku tym sa opisane wszystkie dostepne opcje dla kernela.
Przejdzmy do dalszej czynnosci, chcemy dodac jakas opcje na przyklad obsluge VGA VESA [ karty graficzne ]
Mozemy dodac to do pliku GENERIC, ale lepiej bedzie jak zmienimy sobie nazwe np. BEGIN
Teraz dodajemy nasza opcje
Mamy juz nowa konfiguracje naszego nowego jajka, tak wiec mozemy przystapic do kompilacji.
{mosgoogle center}
Sa dwie metody kompilowania jajka [ wiadomo stara i nowa ;) ]
1.
dla 4.x
dla 5.x
Nastepnie,
lub jak ktos nie lubi skrotow
No i teraz czekamy.
2.
Drugi sposob jest troszeczke szybszy od poprzedniego, wchodzimy w katalog:
i klikamy
Czekamy az sie skompiluje, nastepnie
to juz pojdzie dosc szybko i na koniec w pierwszym i drugim sposobie
Po pomyslnym uruchomieniu systemu sprawdzamy czy jest nasze jajeczko poleceniem
uname -a
I cieszymy sie ze sie udalo ;)