Kompilacja jądra
Kompilacja
jądra
Jądro (ang. kernel) jest główną
częścią systemu Linux. Pierwsze jądro zostało stworzona przez Linusa
Torwaldsa. Obecnie rozwijane jest przez ludzi z całego świata. Teraz
z każdą dystrybucją Linuksa dostajemy gotowe, skompilowane
"fabrycznie" jajko. Nadchodzi moment kiedy musimy samemu skompilować
jego najnowszą wersję. Kiedy samemu je kompilujemy możemy odrzucić
niepotrzebne funkcje, czym przyśpieszymy jego działanie oraz
zmniejszymy rozmiary. Nowsze wersje przeważnie posiadają nowe
sterowniki, poprawione błędy i więcej funkcji. Własnoręczna
kompilacja jest zalecana, gdyż jądra gotowe są raczej przygotowane
pod kątem wieleplatformowości, a nie szybkości.
Najpierw musimy zdobyć najnowszą
wersję jajka. Najlepszym miejscem w sieci jest serwer ftp ftp://ftp.pl.kernel.org"/.
Jeżeli łączymy się za pomocą modemu nie jest dobrym pomysłem ściągać
je z sieci, gdyż jego wielkość to ok. 20 Mb (spakowane!). Wtedy
jedynym wyjściem jest kupno pisma z kompaktem, na którym jest jądro,
lub zgranie go od kolegi, który ma łącze stałe. Spakowane jądro ma
nazwę linux-X.Y.Z.tar.gz. X i Z oznaczją konkretne numery wersji jajka.
Y oznacza czy jest to
wersja stabilna, czy rozwojowa. Jeżeli ta liczba jest parzysta, to
wersja jest stabilna. Gdy jest liczbą nieparzystą, jądro jest
rozwojowe.
Spakowany plik zgrywamy do katalogu
/usr/src. Jeżeli w
/usr/src posiadamy
katalog linux, to
musimy go skasować lub zmienić mu nazwę. Rozpakowywujemy jądro:
tar -zxf
linux-X.Y.Z.tar.gz. Spakowany plik nie będzie nam już
potrzebny, więc go kasujemy rm
linux-X.Y.Z.tar.gz. Wchodzimy do katalogu linux. Teraz musimy
dostosować konfigurację do własnych potrzeb. Do tego celu możemy się
posłużyć jednym z trzech programów:
make config -
najprostszy ze wszystkich. O każdą opcję będziemy osobno pytani.
make menuconfig
- będziemy konfigurować jajko przy pomocy ładnego i intuicyjnego
interfejsu
make xconfig -
jeżeli używamy X Window, to możemy użyć programu w trybie
graficznym Po wpisaniu jednego z powyższych poleceń
dostosowywujemy konfigurację do swoich potrzeb/upodobań. Jeżeli obok
opcji są nawiasy kwadratowe, to oznacz że daną funkcję możemy
wkompilować w jądro, lub nie. Jeżeli są nawiasy trójkątne możemy
skompilować daną funkcję w postaci modułu (<M>). Moduły nie zwiększają
objętości jądra, mogą być dynamicznie ładowane kiedy będą potrzebne.
W ten sposób nie zajmują miejsca w pamięci. Jak już skończymy, to
wychodzimy z programu i wydajemy polecenia make dep i make clean. Jądro kompilujemy poleceniem
make zImage. Podczas
kompilacji, może się okazać, że jajko zajmuje za dużo miejsca i
musimy wydać polecenie make
bzImage, aby stworzyć wersję skompresowaną. Skompresowane
jądro same się rozpakuje do pamięci podczas uruchomienia systemu.
Jeżeli od razu chcemy wygenerować skompresowane jądro, wystarczy
zamiast make zImage
wpisać make bzImage.
Mamy już nowe jądro. Teraz musimy
skompilować i zainstalować moduły. Robimy to dwoma poleceniami:
make modules i make modules_install. Teraz
powinniśmy utworzyć plik /lib/modules/WERSJA_KERNELA/modules.dep
dla właśnie skompilowanych modułów, robimy to poleceniem depmod -a. Ten plik jest
używany m.in. przez program modprobe, określa zależności między
modułami, czyli jakich modułów wymaga inny moduł, coś podobnego jak
z pakietami.
Skompilowane jajko jest w katalogu
/usr/src/linux/arch/i386/boot/zImage lub
/usr/src/linux/arch/i386/boot/bzImage,
jeżeli tworzyliśmy je poleceniem make bzImage. Jądro kopiujemy np. do
/boot/vmlinuz-nowe i
ustawiamy tak naszego bootloader'a, aby można było uruchomić system
z nowym jądrem. Warto na jakiś czas zostawić możliwość uruchomienia
systemu ze starym jajkiem, gdyby nowe się nie sprawdziło. Kiedy nowe
jądro okaże się dobre, możemy skasować stare i jego moduły z
katalogu /lib/modules/X.Y.Z.
W niektórych sytuacjach będziemy
zmuszeni do użycia łat (ang. patch) na jądro. Łaty umożliwiają
wkompilowanie w jądro dodatkowego kodu, który udostępnia różne
funkcje. Może to być łata umożliwiająca obsługę JFS (system
księgowania plików), lub zapewniająca większe bezpieczeństwo.
"Łatania" dokonujemy przed skonfigurowaniem jądra. Zgrywamy łatę do
katalogu /usr/src.
Jeżeli jest spakowana gzipem, to najpierw ją rozpakowywujemy gunzip plik_z_łatą.gz, a
później wydajemy polecenie: patch -p0 < plik_z_łatą. Po
"załataniu" postępujemy jak przy normalnej kompilacji jądra.
Maciej Korzeń mailto:maciek_k@go2.pl
sobota,
18.11.2000, 20:10:53
Wyszukiwarka
Podobne podstrony:
Kompilacja jądra LinuxaKompilacja jądra LinuxaLinux kompilacja jadraOpis jadra Linux a, jego instalacji itp Kompilacja jadra2009 12 Metaprogramowanie algorytmy wykonywane w czasie kompilacji [Programowanie C C ]Budowa jądra atomowego(1)dos kompilierenOpis jadra Linux a, jego instalacji itp Jak własciwie skonfMODELE BUDOWY JĄDRAAVR GCC kompilator C dla mikrokontrolerów AVR, część 12Budowa jadra atomowego,Gellman zweigAVR GCC kompilator C dla mikrokontrolerów AVR, część 11Kompilacja mplayerawięcej podobnych podstron