Kompilacja jądra
Artykuł powstał na podstawie tematu z Forum użytkowników - FAQ jak skompilować jądro 2.6.21 (openSuSe 10.2)
Przed przystąpieniem do kompilacji jądra powinniśmy zadać sobie pytanie:
Kiedy warto instalować nowe jądro?
Powinniśmy się tym zająć w przypadku gdy:
- nowa wersja wspiera sprzęt, który na wcześniejszej wersji nie działał prawidłowo,
- mamy problem z oprogramowaniem virtualbox, vmware (USB_FILE_SYSTEM),
- nowa wersja wprowadza poprawki ważne dla bezpieczeństwa.
Spis treści |
Przygotowanie Systemu
| Wskazówka: Zaleca się przed kompilacją zabezpieczenie się w sterowniki do karty graficznej oraz wifi |
Kompilacja jądra wymaga uprawnień roota. Aby móc zainstalować jądro, w systemie muszą być obecne pakiety make, ncurses-devel oraz gcc. Znajdują się one w repozytorium pakietów z dystrybucją openSUSE a ich instalację można przeprowadzić przy pomocy ulubionego menedżera pakietów.
Ściąganie Jądra
Przechodzimy do katalogu:
cd /usr/src
Ściągamy najnowsze źródło z kernel.org w chwili obecnej jest: linux-2.6.21.tar.gz
wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.gz
Jądro waży 53 MB więc proszę się uzbroić w cierpliwość może to chwilkę potrwać w zależności od prędkości naszego łącza.
Następną czynnością będzie wypakowanie nowego jądra:
tar -zxvf linux-2.6.21.tar.gz
tworzymy dowiązanie/skrót:
ln -s linux-2.6.21 linux
Przechodzimy do nowego katalogu:
cd /usr/src/linux
Konfiguracja Jądra
Czas na konfigurację jadra, możemy do tego celu wykorzystać trzy rodzaje konfiguratorów:
make config
make config
Konfiguracja tym narzędziem polega na odpowiadaniu na kolejne pytania.
make menuconfig
Konfigurator tworzy menu o strukturze drzewa gdzie w bardzo wygodny sposób wybieramy poszczególne opcje.
make xconfig
make xconfig
Konfigurator tworzy okno w którym jak w poprzednim konfiguratorze mamy drzewo gdzie zaznaczamy interesujące nas opcje.
Sama konfiguracja jądra wymaga największego wysiłku i znajomości komponentów naszego sprzętu.
Konkretne elementy dodajemy jako MODUŁY - dynamicznie ładowane elementy jądra lub też jako STAŁE elementy jądra ładowane za każdym razem.
Po wybraniu odpowiadających nam elementów zapisujemy konfiguracje.
Kompilacja jądra
Czas na budowe nowego jądra standardowo służy do tego polecenie:
make rpm
lecz w moim przypadku nowe jądro było tworzone w architekturze i368 ja ja chialem w i686 więc tworze je z komendy:
make UTS_MACHINE=i686 rpm
| Uwaga: Czas kompilacji zależy od prędkości naszego sprzętu w przypadku słąbszych procesorów może to zająć sporo czasu proszę się więc uzbroić w cierpliwość |
nowe jajko powstanie w katalogu:
ls -l /usr/src/package/RPMS/<architektura_naszego_CPU>/
Instalacja jądra
przechodzimy do katalogu z nowym jądrem:
cd /usr/src/packages/RPMS/<architektura_naszego_CPU>
i instalujemy nowe jądro wykonując polecenie:
rpm -ivh kernel-2.6.21default-1.i386.rpm
Konfiguracja systemu
Aby nowe jądro pracowało wymagany jest nowy bootsplash (logo startowe systemu)
mkinitrd
Musimy stworzyć w bootloaderze nową pozycję z naszym nowym jadrem:
yast
System ->Program rozruchowy:
Dodaj -> Clone Selected Section
Nadajemy nazwę nowej sekcji:
openSuSe 10.2 (kernel 2.6.21)
idziemy do:
Kernel image -> Przeglądaj
wpisujemy
/boot/vmkinuz/vmlinuz-2.6.21-default
Initial RAM Disk -> Przeglądaj
wpisujemy
/boot/initrd-26.21-default
I kończymy pracę wychodząc z yast OK
Jeżeli wszystko wykonalismy poprawnie po zrestartowaniu systemu w bootloaderze powinna widnieć nowa pozycja.