Kompilacja i instalacja najnowszej wersji jądra (kernela) na przykładzie 3.1.7

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

Kompilacja kernela nie jest zalecana dla użytkowników, którzy dopiero zaczęli przygodę z Linuksem, ponieważ może to doprowadzić do uszkodzenia całego systemu.

Krok 1: Instalacja oprogramowania do kompilacji i aktualizacja systemu.

Będziemy potrzebowali dwóch programów. Pierwszym z nich jest gcc:

sudo apt-get install gcc

oraz ncurses development package:

sudo apt-get install libncurses5-dev

Po instalacji musimy zaktualizować nasz system tym poleceniem:

sudo apt-get update && sudo apt-get upgrade

Krok 2: Pobranie najnowszej wersji jądra i rozpakowanie.

Wchodzimy na stronę www.kernel.org i pobieramy najnowszą stabilną wersję kernela np. linux-3.1.7.tar.bz2.

Przechodzimy do katalogu w którym znajduje się pobrany plik:

cd ~/Pobrane/

Rozpakowujemy i kopiujemy pliki do folderu /usr/src/:

sudo tar -xvf linux-3.1.7.tar.bz2 -C /usr/src/

Rozpakowywanie może chwilę potrwać. Po zakończeniu tej operacji przechodzimy do katalogu, w którym znajduje się zawartość naszego archiwum:

cd /usr/src/linux-3.1.7/

Krok 3: Konfiguracja i kompilacja kernela.

sudo make menuconfig

Polecenie to służy do konfiguracji jądra systemu Linux. Po wykonaniu tego polecenia ukaże nam się okienko z różnymi opcjami konfiguracji jądra. Otwieramy „File systems” i sprawdzamy czy mamy zaznaczony format plików ext4. Jeśli tak, wychodzimy z menu naciskając dwa razy klawisz ESC. Zapisujemy naszą konfigurację. Jeśli ktoś posiada informacje o swoim sprzęcie, to może spróbować wyłączyć niepotrzebne opcje lub sterowniki.

Teraz musimy tylko skompilować nowe jądro:

sudo make
Uwaga! Osoby, które chcą zachować starą konfigurację jądra muszą uruchomić kompilację tym poleceniem:
sudo make oldconfig

Kompilacja jądra może potrwać od 40 minut w górę w zależności od konfiguracji sprzętowej naszego komputera.

Krok 4: Instalacja kernela.

Teraz już tylko wystarczy wykonać poniższe polecenie, które spowoduje instalację jądra w naszym systemie, dokona odpowiednich wpisów w grub.cfg oraz utworzy pliki w katalogu /boot/.

sudo make modules_install install
Uwaga! Jeśli ktoś z was nie znajdzie tych plików w katalogu /boot/:
-system.map-3.1.7
-vmlinuz-3.1.7
-initrd.img-3.1.7
-config-3.1.7

Trzeba będzie samemu stworzyć plik initrd.img-3.1.7
sudo update-initramfs -u -k 3.1.7

Oraz dokonanie wpisu w pliku grub.cfg:

sudo update-initramfs -c -k 3.1.7

Teraz już tylko musimy uaktualnić plik grub.cfg i zrestartować komputer:

sudo update-grub

W celu sprawdzenia wersji jądra otwieramy terminal i jako zwykły użytkownik wpisujemy polecenie uname -r.

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • http://www.nibyblog.pl frk

    W jaki sposób kompilacja kernela może doprowadzić do uszkodzenia całego systemu? Najnowsze stabilne to 3.1.8

  • dotnokato

    Przydałby się poradnik jak skompilować jądro the-debian-way (czyli do paczki .deb).
    Ten sposób niestety robi ostry bałagan w systemie, szczególnie dla niewprawnego użytkownika.

  • http://www.netbuntu.pl eMcE

    3.1.8 już jest do pobrania w paczkach deb:
    http://kernel.ubuntu.com/~kernel-ppa/mainline/

    3.2 też już jest, ale sypie błędami jeszcze i wywala za często kernel panic.

    • http://www.nibyblog.pl frk

      Nie zgadzam się, od samego wydania mam na Archu i nic nie sypie się.

      • Miras1990

        Zgadzam się z Tobą. ja mam wersje 3.2 na kubuntu 11.10 i jest ok.

  • SalcefiX

    Pierwszy raz kompilowałem jądro i robiłem dokładnie tak jak było w instrukcji. Niestety otrzymałem coś takiego :run-parts: executing /etc/kernel/postinst.d/dkms 3.1.8 /boot/vmlinuz-3.1.8
    Error! Bad return status for module build on kernel: 3.1.8 (x86_64)
    Consult /var/lib/dkms/nvidia-173/173.14.30/build/make.log for more information.

    i wszystko stanęło. To znaczy system działa, resetuje się ale nic się nie zmieniło

    • Miras1990

      Zajrzyj na tą stronę.
      https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/480055

      Po kompilacji musisz jądro zainstalować więc może dlatego nie masz nowego go.

      • SalcefiX

        Powyżej to komunikat właśnie podczas instalacji. Instalacje staje w tym miejscu i tyle. Po 30 minutach czekania się znudziłem i przerwałem proces.

        Ale już wszystko działa. Poradziłem sobie w inny sposób niż opisany tutaj.

        • http://www.ubuntu-pomoc.org Szmitas

          Możesz podzielić się rozwiązaniem.

          • SalcefiX

            Po prostu zainstalowałem wszystko z plików .deb

            Szybko, miło i przyjemnie.

  • askar

    Ajjjjaja ;)
    Po kompilacji jaderka 3.1.8 znikneły X , wywala mase błędów i nie mam dostępu do własnych plików pisze ze private ma ktos jakis pomysł? W menuconfig nie zmieniałem absolutnie nic więc o co chodzi ? Sama kompilacja przebiegła według opisu bez najmniejszego błędu ………
    Ubuntu 11.10 x64
    HELP ME PleACE!!!!

  • Pingback: Ubuntu - pomoc | [Ubuntu 11.10] Instalacja kernela 3.2 repozytorium()