Oto kroki. Procedura ta jest oparta na nixCraft „s Jak: kompilacji Linux Kernel 2.6 --but znacznie zmodernizowany.
Pobierz i rozpakuj kod źródłowy jądra, które chcesz zbudować.
Można uzyskać upstream kod źródłowy jądra na kernel.org . Zostanie tutaj użyta wersja 3.16.1 (najnowsze stabilne jądro w tym piśmie). Może być konieczne zmodyfikowanie tych poleceń, jeśli używasz innej wersji.
Kod źródłowy jądra jest obecnie dostępny w. smoła . Archiwa xz , więc kliknij link „tar.xz” według dowolnej wersji:
Po cd
wejściu do katalogu, w którym pobrałeś archiwum, możesz je rozpakować za pomocą tar
:
tar xf linux-3.16.1.tar.xz
Zainstaluj niezbędne narzędzia do budowania i wykonaj konfigurację jądra.
Aby uzyskać zestaw narzędzi Ubuntu ( gcc
, make
itd.), Zainstaluj niezbędny do kompilacji metapakiet:
sudo apt-get update
sudo apt-get install build-essential
Dwa względnie przyjazne dla użytkownika sposoby konfiguracji tego, co wchodzi do jądra, są dostarczane przez make
cele xconfig
i menuconfig
.
xconfig
uruchamia narzędzie do konfiguracji graficznej, podczas gdy menuconfig
jest oparte na tekście (tzn. jego interfejs pojawia się w pełni w twoim terminalu). Każde wymaga dodatkowego oprogramowania, które nie jest dostarczane przez build-essential .
Aby skonfigurować graficznie , zainstaluj libqt4-dev i pkg-config i uruchommake xconfig
:
sudo apt-get install libqt4-dev pkg-config
make xconfig
Aby skonfigurować w terminalu , zainstalujlibncurses5-dev
(dzięki Hannu za te informacje) i uruchommake menuconfig
:
sudo apt-get install libncurses5-dev
make menuconfig
Zbuduj skonfigurowane jądro.
Najpierw uruchom to, aby skompilować jądro i utworzyć vmlinuz
:
make
vmlinuz
to „jądro”. W szczególności jest to obraz jądra, który zostanie zdekompresowany i załadowany do pamięci przez GRUB lub inny używany program ładujący .
Następnie zbuduj moduły jądra do załadowania :
make modules
Zainstaluj nowo zbudowane jądro.
Zakładając, że te make
komendy zostały wykonane pomyślnie, czas zainstalować nowe jądro. Najpierw zainstaluj moduły:
sudo make modules_install
Następnie zainstaluj samo jądro :
sudo make install
To wstawia vmlinuz-3.16.1
(kopię vmlinuz
), config-3.16.1
(plik tekstowy przechowujący parametry konfiguracyjne jądra) i System.map-3.16.1
( tablica wyszukiwania symboli jądra ) /boot
. Aby uzyskać więcej informacji, zobacz ten post comp.os.linux.misc autorstwa Hadrona i man installkernel
.
Ostateczna konfiguracja, aby jądro można było uruchomić i uruchomić system:
Ta sekcja jest częściowo oparta na informacjach w Kernel / Compile .
Z jądrem, gdzie jest teraz, potrzebuje:
Wygeneruj initramfs za pomocąmkinitramfs
:
cd /boot
sudo mkinitramfs -ko initrd.img-3.16.1 3.16.1
Podczas aktualizacji konfiguracji modułu ładującego GRUB2 - który jest domyślny w Ubuntu od 9.10 - powinien automatycznie wykryć nowe jądro i dodać opcję uruchamiania z niego.
sudo update-grub
Wypróbuj swoje jądro.
Teraz możesz zrestartować komputer, aby przetestować swoje nowe jądro. Może być konieczne przytrzymanie Shiftlub naciśnięcie przycisku Escpodczas uruchamiania, aby wyświetlić menu rozruchu GRUB, w którym można wybrać różne zainstalowane jądra.
Aby ustawić jądro (lub inne) jako domyślne, zobacz Jak zmienić kolejność uruchamiania GRUB?