[#] Klasyczna kompilacja jądra Linux

( Ostatnio zmieniony sob., 14/06/2008 - 19:16 )
 

Zacznijmy od pobrania źródeł jądra ( zobacz: http://kernel.org/ )

cd /usr/src/
wget http://kernel.org/pub/linux/kernel/v2.6/linux-numer-wersji.tar.bz2

lub jeśli korzystamy z łatek:

wget http://kernel.org/pub/linux/kernel/v2.6/patch-numer-wersji.bz2

Następnie rozpakujmy je korzystając z polecenia:

tar -zxvf linux-numer.wersji.tar.gz

lub jeśli to archiwum tar.bz2

bzip2 -dc linux-numer-wersji.tar.bz2 | tar xf -

Jeżeli natomiast korzystaliśmy z łatek to:

dla plików z "łatkami" .gz:
gunzip patch-numer-wersji.gz | patch -p0
dla plików z "łatkami" .bz2:
bunzip2 patch-numer-wersji.bz2 | patch -p0

Tworzymy dowiązanie:

ln -s linux-numer-wersji linux

Przejdźmy do czynów.

Wpisujemy w katalogu /usr/src/linux/ polecenie:

make menuconfig

wybieramy interesującą nas konfigurację (jako moduł, w jądrze lub wcale), a następnie:

make dep
make clean
make zImage

make dep – zrobi wszystkie powiązania,
make clean – wyczyści niepotrzebne śmieci ze źródeł
make bzImage – skompiluje nam obraz naszego jądra.

Mamy już skompilowane jądro, które leży sobie w pliku /usr/src/linux/ar­ch/i386/boot/bzI­mage

Teraz powinniśmy skompilować moduły, a robimy to poleceniem:

make modules

A następnie zainstalować je do katalogu /lib/modules/nu­mer.wersji:

make modules_install

Ważne, aby przed wydaniem polecenia make modules_install usunąć z katalogu /lib/modules/numer-wersji poprzednio skompilowane moduły.
Uwaga: Czynność tę musimy wykonać tylko w wypadku, gdy kompilujemy jądro o numerze wersji takim samym jak skompilowane wcześniej.

Nie powinniśmy nadpisywać starego jądra!

Instalacja jądra:

cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinux-numer.wersji-nowe

Pamiętaj o zmianach w lilo.conf lub dla Gruba w menu.lst.

System.map

Jeśli instalowaliśmy nową wersję jądra Linuksa kopiujemy plik System.map z katalogu /usr/src/linux do katalogu /boot i nadajemy mu nazwę System.map-numer.wersji.

Istniejący w katalogu /boot plik System.map jest tylko dowiązaniem symbolicznym do mapy systemowej poprzedniego jądra. Usuwamy plik System.map poleceniem:

rm /boot/System.map

I tworzymy link do pliku System.map-numer.wersji:

ln-s /boot/System.map-numer.wersji /boot/System.map
Twoja ocena: Brak Średnio: 5 (2 głosy)

Dodaj nową odpowiedź

Informacja:

Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich, mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną. Upewnij się, że twoja wypowiedź nie godzi w niczyje mienie.

  • Internal paths in single or double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or path. Paths to files in single or double quotes, written as "files:somefile.ext", for example, are replaced with the appropriate URL that can be used to download the file.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Dozwolone znaczniki HTML: <strong> <blockquote> <code>
  • Znaki końca linii i akapitu dodawane są automatycznie.

Więcej informacji na temat formatowania

Łapirobot
Proszę odpowiedzieć
z
x
y
n
7
M
Q
s
n
k
Enter the code without spaces and pay attention to upper/lower case.