Technologiczne, Gadżety, Telefony Komórkowe, Pobieranie Aplikacji!

Jak skompilować jądro Linuksa

Jak skompilować jądro Linuksa

Kompilacja jądra Linuksa jest jedną z podstawowych rzeczy, które musimy zrobić dla naszego systemu. Kiedy dodajemy sprzęt do naszego systemu, musimy go skompilować.

Jądro jest główną częścią każdego systemu operacyjnego. Oczywiście w starych systemach operacyjnych brakowało jądra, a użytkownik komunikował się bezpośrednio ze sprzętem. Ta metoda zwiększała prędkość, ale miała wiele wad, w tym fakt, że jeśli użytkownik popełni błąd, może wystąpić problem ze sprzętem.

Podstawowe zadania

  • zarządzanie częściami;
  • Zarządzanie pamięcią;
  • zarządzanie procesorem;
  • komunikacja pomiędzy użytkownikiem a sprzętem;

Jądro Linuksa

Nazwa najważniejszej części systemu operacyjnego Linux to „Jądro Linuksa”, wywodząca się od jego nazwy.
Kompilacja jądra Linuksa

Dawno, dawno temu aktualizacja jądra Linuksa przerażała wielu użytkowników. W tamtych czasach aktualizacja jądra wymagała wielu kroków i czasu. Ale teraz instalacją nowego jądra można łatwo sterować za pomocą menedżera pakietów, takiego jak apt. Dodanie niestandardowych repozytoriów umożliwia bezproblemową instalację jądra demonstracyjnego lub specjalnego (takiego jak prawdziwe jądro do generowania dźwięku).

Tutaj lepiej jest przejrzeć proces rozwoju jądra Linuksa

Ostrzeżenie: lepiej przećwiczyć tę metodę na maszynie wirtualnej. Dopóki nie nauczysz się z nim dobrze pracować.

Zaktualizuj jądro

Niezależnie od tego, czy masz zupełnie nowy laptop z nową, fantazyjną kartą graficzną, czy właśnie kupiłeś nową drukarkę, system operacyjny (GNU + Linux lub po prostu Linux, co odnosi się również do jądra) potrzebuje sterownika. Ustanów kanały komunikacji z nowym komponentem (kartą graficzną, chipem, drukarką lub innym).

Może to być nieco mylące. Po podłączeniu nowego urządzenia do systemu operacyjnego komputer może łatwo go zweryfikować. Czasami ten proces jest tym, czego potrzebujesz, ale w innych przypadkach Twój system operacyjny użyje protokołów publicznych do sprawdzenia podłączonego urządzenia.

Na przykład komputer może rozpoznać nową drukarkę sieciową. Mimo to czasami karta sieciowa w drukarce jest zaprogramowana tak, aby identyfikowała się w sieci w celu uzyskania DHCP adres. Nie oznacza to, że komputer wie z góry, jakie instrukcje wysłać, aby wydrukować stronę z wydrukowanym tekstem. Można powiedzieć, że komputer tak naprawdę „nie wie”, że jest drukarką. Tutaj podłączony fragment może wskazywać, że urządzenie istnieje w sieci pod określonym adresem i identyfikować urządzenie za pomocą zestawu znaków drukarki.

Konwencje języka ludzkiego są bez znaczenia dla komputerów. Komputer jest jak samochód, który potrzebuje kierowcy.

Twórcy jądra, producenci sprzętu, technicy wsparcia i hobbyści wiedzą, że stale opracowywany jest nowy sprzęt. Wiele z nich bezpośrednio przekazuje swoje informacje zespołowi zajmującemu się rozwojem jądra w celu włączenia ich do Linuksa. Na przykład sterowniki kart graficznych NVIDIA są często pisane w module jądra Nouveau. Ponieważ karty NVIDIA są powszechne, kod jest zwykle zawarty w każdym jądrze rozpowszechnianym do ogólnego użytku (takim jak jądro, które otrzymujesz podczas pobierania Fedory lub Ubuntu). Istnieją podobne moduły dla wielu innych urządzeń: drukarki korzystają z Foomatic i CUPS, karty bezprzewodowe mają b43, ath9k, moduł wl itp.

Kroki kompilacji jądra Linuksa

Przed skompilowaniem jądra musimy najpierw poznać sprzęt naszego systemu. Zwykle ludzie nie są świadomi swojego sprzętu systemowego, ale istnieją narzędzia, za pomocą których możemy dowiedzieć się o sprzęcie naszego systemu. Pierwszą rzeczą, o której musimy zebrać informacje, są informacje o pamięci RAM.

Możesz użyć tych poleceń, aby znaleźć informacje o pamięci RAM:

Części PCI: Aby uzyskać części PCI, używamy następujących poleceń:

Pierwszą rzeczą do zrobienia jest pobranie pliku źródłowego jądra. Można to zrobić, znajdując adres URL jądra, które chcesz pobrać (z Kernel.org). Gdy już uzyskasz adres URL, załaduj plik źródłowy za pomocą następującego polecenia (pokazanego tutaj z jądrem 4.17 RC2):

wget https://git.kernel.org/torvalds/t/linux-4.17-rc2.tar.gz

Wymagania instalacyjne:

Aby skompilować jądro, musimy najpierw zainstalować kilka rzeczy. Można to zrobić za pomocą jednego polecenia:

sudo apt-get install git fałszywy root build-basic Ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

Uwaga: potrzebujesz co najmniej 12 GB wolnego miejsca na dysku lokalnym, aby przejść proces kompilacji jądra. Upewnij się więc, że masz wystarczająco dużo miejsca.

1. Ekstrakcja źródła

Wyodrębnij nowo pobrane jądro z katalogu za pomocą następujących poleceń. Nazwa pliku to Linux-xyztar.xz, gdzie xyz to rzeczywisty numer jądra Linuksa. Na przykład plik Linux-5.6.9.tar.xz reprezentuje wersję jądra Linuksa 5.6.9. Użyj polecenia widget, aby pobrać kod źródłowy jądra systemu Linux:

$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.9.tar.xz

Etapy kompilacji jądra

Krok 2. Pobierz plik xz.

Nie musisz pobierać kodu źródłowego z /usr/src. Możesz wyodrębnić kod źródłowy do folderu $HOME lub dowolnego innego katalogu za pomocą polecenia UNIX lub polecenia xz:

$ unxz -v Linux-5.6.9.tar.xz

Lub

$ xz -d -v linux-5.6.9.tar.xz

Najpierw pobierz PGP dla Linux-5.6.9.tar:

$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.9.tar.sign

$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.9.tar.sign

Wyjście:

gpg: przy założeniu podpisanych danych w „Linux-5.6.9.tar”.

gpg: Podpis złożony niedziela 12 sierpnia 2018 16:00:28 CDT

gpg: używając klucza RSA 79BE3E4300411886

jpg: Nie można sprawdzić podpisu: Brak klucza publicznego

Aby zweryfikować podpis, na przykład klucz RSA o identyfikatorze 79BE3E4300411886 (z powyższych wyników), pobierz klucz publiczny z serwera PGP.

Musisz wybrać różne opcje w zależności od potrzeb. Każda opcja konfiguracji ma przycisk POMOC, dlatego wybierz przycisk Pomoc, aby uzyskać pomoc. Należy pamiętać, że konfiguracja menu make jest opcjonalna. Użyłem go tutaj wyłącznie w celach demonstracyjnych. Dzięki tej opcji możesz włączyć lub wyłączyć określone funkcje lub sterowniki jądra. Jeśli usuniesz obsługę sterownika urządzenia lub opcji, będziesz mieć uszkodzone jądro. Na przykład, jeśli sterownik ext4 zostanie usunięty z pliku konfiguracyjnego jądra, system może się nie uruchomić. W razie wątpliwości zostaw wsparcie w rdzeniu.

3. Konfiguracja jądra

Zanim skompilujemy jądro, musimy najpierw dokonać niezbędnej konfiguracji i określić, które moduły powinny zostać zainstalowane w naszym jądrze. Jest na to prosty sposób. Możesz skopiować plik konfiguracyjny jądra za pomocą jednego polecenia, a następnie użyć wypróbowanego polecenia menuconfig, aby wprowadzić niezbędne zmiany. Aby to zrobić, wydaj polecenie:

$ CD Linux-5.6.9
$ cp -v /boot/config-$(nazwa -r) .config

Krok 4. Zainstaluj wymagane kompilatory i inne narzędzia

Aby skompilować jądro Linuksa, musisz zainstalować narzędzia programistyczne, takie jak kompilatory GCC i powiązane narzędzia.

Grupa Sudo yum zainstaluj „Narzędzia programistyczne”.

Lub

Grupa Sudo yum zainstaluj „Narzędzia programistyczne”.

Krok 5. Konfiguracja jądra

Możesz teraz rozpocząć konfigurowanie jądra, wpisując jedno z następujących poleceń w folderze kodu źródłowego:

$robić

Musisz wybrać różne opcje w zależności od potrzeb. Każda opcja konfiguracji ma przycisk POMOC, dlatego wybierz przycisk Pomoc, aby uzyskać pomoc. Należy pamiętać, że konfiguracja menu make jest opcjonalna. Użyłem go tutaj wyłącznie w celach demonstracyjnych. Dzięki tej opcji możesz włączyć lub wyłączyć określone funkcje lub sterowniki jądra. Wydaje się wygodne, jeśli usuniesz obsługę sterowników urządzeń lub podobnych opcji, co zakończy się uszkodzonym jądrem. Na przykład, jeśli sterownik ext4 zostanie usunięty z pliku konfiguracyjnego jądra, system może się nie uruchomić. Jeśli masz jakiekolwiek wątpliwości, zostaw wsparcie w rdzeniu.

Krok 6. Zaktualizuj konfigurację Gruba

Musisz zmodyfikować ustawienia modułu ładującego Grub 2. Zgodnie z dystrybucją Linuksa wpisz następujące polecenie w wierszu poleceń powłoki:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo grubby – set-default /boot/vmlinuz-5.6.9

Wniosek

Kiedy do systemu zostanie dodany nowy sprzęt, Twój Linux będzie musiał skompilować jądro Linuksa. Wykonując te kroki, zakończyłeś budowanie jądra Linuksa z kodu źródłowego, a skompilowane jądro powinno działać w twoim systemie. Zawsze próbuj wykonać kopię zapasową niezbędnych danych i odwiedź stronę kernel.org, aby uzyskać więcej informacji.
Często Zadawane Pytania

Co to jest jądro Linuksa?

Jądro Linuksa jest najważniejszą częścią systemu operacyjnego Linux.

Jak skompilować jądro Linuksa?

Możemy zaktualizować jądro Linuksa, znając sprzęt systemowy i wykonując powyższe kroki.

Ile czasu zajmuje kompilacja jądra Linuksa?

Zależy to od liczby modułów i innych czynników, ale proces ten prawdopodobnie zajmie od jednej do pięciu godzin. Jedna godzina na rdzeń i może 3-4 godziny na moduły.

Czy jest możliwość skompilowania rdzenia? Jądra nie można skompilować bez kompilatora, ale można je zainstalować ze skompilowanego pliku binarnego. Jeśli chcesz skompilować jądro, potrzebujesz źródła, kompilatora i innych narzędzi. Nawet w dystrybucjach „opartych na źródłach”, takich jak Gentoo, zaczynają się od uruchomienia skompilowanego pliku binarnego.

Pobierz motywy WordPress za darmoPobierz zerowe motywy WordPressPobierz zerowe motywy WordPressPobierz motywy WordPressdarmowy płatny kurs Udemy do pobraniapobierz oprogramowanie micromaxPobierz motywy WordPress za darmoZG93bmxvYWQgbHluZGEgY291cnNlIGZyZWU=