Jak zbudować i zainstalować niestandardowe jądro na Ubuntu?

Ubuntu Custom Kernel Featured Image

Myśl o skompilowaniu własnych jąder budzi strach w sercach nowych użytkowników Linuksa. Brzmi przerażająco, budując od podstaw najważniejszą część twojego systemu. Prawda jest jednak taka, że ​​budowanie jądra Linuksa w Ubuntu jest naprawdę łatwe.

Budowanie jąder Linuksa nie wymagają programowania. Niektórzy z najlepszych programistów na świecie napisali już cały kod. Musisz tylko wybrać funkcje, które chcesz i złożyć to wszystko razem. Tutaj pokażemy, jak zbudować i zainstalować niestandardowe jądro na Ubuntu.

Uzyskiwanie zależności

Zanim jeszcze dotkniesz jądra, potrzebujesz odpowiednich narzędzi do jego zbudowania. Użyj poniższego polecenia, aby pobrać je z repozytoriów Ubuntu.

Pobieranie źródła jądra dla Ubuntu

Teraz możesz pobrać źródło, które chcesz zbudować. Wszystkie jądra są dostępne na oficjalne repozytoria Linuksa. Możesz rzucić okiem na najnowsze wydania w ich repozytorium cdn. W chwili pisania tego artykułu najnowszy to 5.16. Możesz pobrać za pomocą poleceń:

Jądro pobierania niestandardowego jądra Ubuntu

Pobranie jądra zajmie trochę czasu, więc bądź cierpliwy.

Konfiguracja dla Twojej kompilacji

Rozpocznij instalację od rozpakowania pliku tar jądra. Następnie skopiuj do niego konfigurację istniejącego jądra.

Teraz musisz dostosować starą konfigurację do nowego jądra.

Ten skrypt zapyta Cię, co zrobić z każdą nową funkcją. Jeśli chcesz użyć ustawień domyślnych, użyj make olddefconfig zamiast.

Konfiguracja jądra Ubuntu

Możesz zostawić swoją konfigurację bez zmian i prawdopodobnie wszystko będzie w porządku. Nie ma jednak sensu budować niestandardowego jądra, jeśli nie zamierzasz go dostosowywać.

Aby dostosować konfigurację, uruchom

Ubuntu Custom Kernel Makeconfig — przykład 1

Otworzy się niebieskie menu z listą kategorii. Kategorie te zawierają funkcje, które możesz wybrać do wbudowania w jądro.

Próbka niestandardowego jądra Ubuntu Btrfs

Na przykład, jeśli naprawdę chcesz zbudować obsługę systemu plików BTRFS bezpośrednio w jądrze i włączyć inne funkcje, przejdź do „Systemy plików ->”. Następnie przewiń w dół do miejsca, w którym zobaczysz „Obsługa systemu plików Btrfs”. Wybierz żądaną opcję i naciśnij spację. Spacja przełącza się między „M”, „*” i pustym.

  • „M” oznacza, że ​​funkcja zostanie zbudowana jako moduł, który zostanie załadowany w razie potrzeby podczas uruchamiania Ubuntu.
  • „*” oznacza, że ​​funkcja zostanie wbudowana w jądro i zawsze będzie ładowana.

Skrypt nie zawiera pustych opcji w produkcie końcowym. Kiedy skończysz konfigurować, wyczyść katalog.

Teraz twoje jądro jest gotowe do zbudowania.

Tworzenie pakietów jądra dla Ubuntu

W Ubuntu istnieje metoda budowania jąder, ale zmusza ona do używania skryptów napisanych dla starszych wersji. Czasami to jest w porządku; inne psuje się strasznie. Tak więc zazwyczaj lepiej jest po prostu użyć bardziej ogólnej metody Linuksa z GNU make.

Wszystko, co robi ta linia, to kompilacja jądra do pakietów .deb, używając liczby rdzeni procesora w systemie plus jeden. Dodaje również „niestandardowe” na końcu wersji pakietu, aby odróżnić twoje niestandardowe jądro od innych.

Czytać  Jak używać Emacsa dla RSS z Elfeed

Notatka: Kompilacja jądra może zająć godziny. Bądź cierpliwy.

Instalowanie jądra

Nowe pakiety jądra znajdziesz o jeden katalog wyżej. Można je łatwo zidentyfikować po numerze wersji. Możesz użyć dpkg je zainstalować.

Po zakończeniu instalacji uruchom ponownie komputer. Ubuntu automatycznie uruchomi się z nowym jądrem. Możesz to sprawdzić, uruchamiając uname -r w terminalu po uruchomieniu.

Instalowanie niestandardowych jąder binarnych

Innym sposobem korzystania z niestandardowych jąder Linuksa w Ubuntu jest zainstalowanie jego prekompilowanej wersji binarnej. W przeciwieństwie do wersji opartej na źródle, są to kopie jądra, które zostały już skompilowane dla używanego systemu i architektury.

Lista niestandardowych jąder jądra Ubuntu

Co więcej, niestandardowe jądra binarne mogą również zapewnić elastyczność umożliwiającą przeskakiwanie między wersjami jądra w przypadku instalacji Ubuntu. Może to być szczególnie pomocne, jeśli używasz komputera z problemami ze zgodnością sprzętu i nie chcesz zajmować się kompilacją własnego jądra.

Wiedząc o tym, najpopularniejszym sposobem instalowania niestandardowych jąder binarnych jest Linia główna. Jest to program GUI opracowany przez bkw777, który ma na celu usprawnienie procesu instalacji jądra Linuksa.

Główna linia niestandardowego jądra Ubuntu

W tym programie ten program łączy w sobie wszystkie kroki, które należy wykonać, aby poprawnie pobrać i skonfigurować jądro. Na przykład Mainline pozwala łatwo wybrać plik binarny jądra i nagłówek, które chcesz zainstalować. Następnie przechowa tę wersję w pamięci podręcznej, z której możesz łatwo załadować, kiedy tylko będziesz jej potrzebować.

Instalowanie Mainline w Ubuntu

Dzięki temu instalacja Mainline jest stosunkowo łatwa. Najpierw musisz powiedzieć apt, aby dołączył repozytorium pakietów Mainline. Aby to zrobić, możesz uruchomić następujące polecenie z terminala:

Niestandardowe jądro Ubuntu Dodaj nowe repozytorium

Stąd musisz zaktualizować katalog pakietów Ubuntu. Umożliwi to apt odczytanie z repozytorium, które właśnie dodałeś, a co za tym idzie, pobranie za jego pośrednictwem Mainline:

Pozostało już tylko zainstalować sam Mainline:

Instalacja niestandardowego jądra Ubuntu Mainline

Korzystanie z linii głównej

Po zakończeniu możesz teraz załadować Mainline, przechodząc do menu aplikacji i wyszukując go. Program Mainline załaduje i wyświetli wszystkie pakiety jądra, które możesz zainstalować w swoim systemie.

Główna linia wyszukiwania niestandardowego jądra Ubuntu

Stamtąd możesz wybrać i zainstalować wersję jądra, której chcesz używać w swoim systemie. Na przykład mogę wybrać „Linux 5.16.19” i kliknąć Zainstaluj na prawym pasku bocznym, aby w pełni załadować tę wersję jądra na mój komputer.

Niestandardowe jądro Ubuntu Zainstaluj nowe jądro 1

Z drugiej strony mogę również użyć Mainline, aby usunąć jądra, których już nie chcę używać. Na przykład mogę wybrać „Linux 5.15” i kliknąć Usuń na tym samym prawym pasku bocznym, aby usunąć to jądro z mojego systemu.

Odinstaluj niestandardowe jądro Ubuntu ze starego jądra

Robienie tego w ten sposób pozwala na czyste dodawanie lub usuwanie wszelkich plików i binariów, które są połączone z tą wersją jądra. Dzieje się tak, ponieważ plik binarny jądra zawiera również biblioteki, nagłówki i oprogramowanie układowe, które z kolei umożliwiają jego prawidłowe działanie.

Czytać  Z łatwością twórz kopie zapasowe partycji w systemie Linux za pomocą Apart GTK

Często Zadawane Pytania

Jakie są problemy z uruchomieniem niestandardowego jądra?

Jednym z największych problemów związanych z uruchamianiem niestandardowego jądra jest to, że usuwasz istotny element swojego systemu z regularnych aktualizacji. Oznacza to, że od tego momentu musisz ręcznie zainstalować wszystkie aktualizacje jądra. Obejmują one dodatkowe funkcje sprzętowe oraz krytyczne aktualizacje zabezpieczeń.

Może to stanowić problem, jeśli potrzebujesz systemu, który działa i utrzymuje się przy minimalnej interwencji użytkownika. W związku z tym uruchomienie niestandardowego jądra wymaga nie tylko znajomości potrzebnych funkcji jądra, ale także świadomości krytycznych aktualizacji.

Czy są jakieś wady korzystania z binarnego jądra?

Tak. Jedną z głównych wad korzystania z plików binarnych jądra jest to, że nie masz żadnej kontroli nad jego wbudowanymi funkcjami. Oznacza to, że w przeciwieństwie do jądra opartego na źródle, plik binarny jądra nie będzie zawierał żadnych optymalizacji i obsługi specyficznych dla sprzętu.

Oznacza to, że jeśli zamierzasz używać egzotycznych elementów sprzętu z Ubuntu. Będziesz musiał skompilować jądro od zera.

Czy lepiej skompilować funkcję jądra jako moduł czy jako wbudowaną?

To w dużej mierze zależy od tego, do czego chcesz używać swojego jądra. Na przykład kompilacja funkcji jako wbudowanej zapewni, że załaduje się ona natychmiast po załadowaniu jądra do pamięci. Jednak zrobienie tego w ten sposób zwiększy ogólny rozmiar końcowego jądra.

Tymczasem kompilacja funkcji jako modułu usunie ją z jądra podstawowego. Zamiast tego ten moduł ładuje się, gdy jądro jest już w pamięci. Zmniejsza to rozmiar pliku końcowego jądra, co z kolei czyni go szybkim i bezpiecznym.

Wiedząc o tym, dobrą praktyką jest kompilowanie funkcji jądra jako wbudowanego, ponieważ zmniejsza to szanse na jakiekolwiek problemy z kompatybilnością w twoim systemie. Jednak powinieneś również uważać na dodawanie zbyt wielu funkcji, ponieważ zrobienie tego znacznie zwiększy ogólny rozmiar jądra.

Czy ten artykuł jest przydatny?

Zapisz się do naszego newslettera!

Nasze najnowsze samouczki dostarczane prosto do Twojej skrzynki odbiorczej