Wyszukiwanie w witrynie

Wydano jądro 3.16 — skompiluj i zainstaluj na Debianie GNU/Linux


Jądro to rdzeń każdego systemu operacyjnego. Podstawową funkcją jądra jest pełnienie roli mediatora pomiędzy aplikacją – procesorem, aplikacją – pamięcią i aplikacją – urządzeniami (we/wy). Pełni funkcję menedżera pamięci, menedżera urządzeń i oprócz wykonywania innych zadań obsługuje wywołania systemowe.

W przypadku Linuksa jądro jest jego sercem. Jądro Linuksa jest wydawane na licencji GNU General Public License. Linus Torvalds opracował jądro Linuksa w 1991 roku i dostarczył wersję 0.01 początkowego jądra. 3 sierpnia 2014 (w tym roku) zostało wydane Jądro 3.16. W ciągu tych 22 lat jądro Linuksa przeszło duży rozwój. Obecnie istnieją tysiące firm i miliony niezależnych programistów tworzących jądro Linuksa.

Przybliżone oszacowanie dużych marek i ich wkładu w obecne jądro Linuksa, które ma mieć 17 milionów linii kodu, zgodnie z Linux Foundation, Raportem o rozwoju jądra Linux.

  1. RedHat – 10,2%
  2. Intela – 8,8%
  3. Instrumenty Teksasu – 4,1%
  4. Linaro – 4,1%
  5. SUSE – 3,5%
  6. IBM – 3,1%
  7. Samsunga – 2,6%
  8. Google – 2,4%
  9. Systemy grawerowania wizyjnego – 2,3%
  10. Mikroelektronika Wolfson – 1,6%
  11. Wyrocznia – 1,3%
  12. Broadcom – 1,3%
  13. Nvidia – 1,3%
  14. Wolna skala – 1,2%
  15. Technologia Ingics – 1,2%
  16. Cisco – 0,9%
  17. Fundacja Linuksa – 0,9%
  18. AMD – 0,9%
  19. Pracownicy naukowi – 0,9%
  20. NetAPP – 0,8%
  21. Fujitsu – 0,7%
  22. równoleżniki – 0,7%
  23. RAMIĘ – 0,7%

Siedemdziesiąt procent rozwoju jądra jest wykonywane przez programistów, którzy pracują w korporacjach i otrzymują za to wynagrodzenie. Brzmi interesująco?

Jądro Linuksa 3.16 jest wydawane zarówno dla osób indywidualnych, jak i firm w środowisku produkcyjnym, które będą aktualizować swoje jądro z wielu powodów, z których kilka obejmuje.

  1. Poprawki bezpieczeństwa
  2. Zwiększenie stabilności
  3. Zaktualizowane sterowniki — lepsza obsługa urządzeń
  4. Poprawa szybkości przetwarzania
  5. Najnowsze funkcje itp

Ten artykuł ma na celu aktualizację jądra Debiana na sposób Debiana, co oznacza mniej pracy ręcznej, mniejsze ryzyko, a jednocześnie perfekcyjnie. Będziemy także aktualizować jądro Ubuntu w dalszej części tego artykułu.

Krok 1: Pobieranie jądra 3.16

Zanim przejdziemy dalej, musimy wiedzieć o naszym bieżącym jądrze, które jest zainstalowane.

avi@tecmint:~$ uname -mrns 

Linux tecmint 3.14-1-amd64 x86_64

Informacje o opcjach:

  1. -s: Drukuj system operacyjny („Linux”, tutaj).
  2. -n: Wydrukuj nazwę hosta systemu („tecmint”, tutaj).
  3. -r: Wydrukuj wersję jądra („tecmint 3.14-1-amd64”, tutaj).
  4. -m: Wydrukuj zestaw instrukcji sprzętowych („x86_64”, tutaj).

Pobierz najnowsze stabilne jądro z linku poniżej. Nie daj się zwieść znajdującemu się tam linkowi do pobrania poprawek. Pobierz ten, który wyraźnie stwierdza – „NAJNOWSZE STABILNE JĄDRO”.

  1. https://www.kernel.org/

Alternatywnie możesz użyć wget, aby pobrać jądro, co jest wygodniejsze.

avi@tecmint:~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.xz

Krok 2: Sprawdź podpis jądra 3.16

Po zakończeniu pobierania i zanim przejdziemy dalej, zdecydowanie zaleca się sprawdzenie podpisu jądra.

avi@tecmint:~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.sign

Weryfikację podpisu należy przeprowadzić na podstawie nieskompresowanego pliku. Wymaga to jednego podpisu w różnych formatach kompresji, a mianowicie .gz, .bz2, .xz.

Następnie rozpakuj obraz jądra systemu Linux.

avi@tecmint:~/Downloads$ unxz linux-3.16.tar.xz

Sprawdź to w oparciu o podpis.

avi@tecmint:~/Downloads$ gpg --verify linux-3.16.tar.sign

Uwaga: Jeśli powyższe polecenie zgłasza błąd gpg: Nie można sprawdzić podpisu: nie znaleziono klucza publicznego. Oznacza to, że musimy ręcznie pobrać klucz publiczny z serwera PGP.

avi@tecmint:~/Downloads$ gpg --recv-keys  00411886

Po pobraniu klucza ponownie zweryfikuj klucz.

avi@tecmint:~/Downloads$ gpg --verify linux-3.16.tar.sign

Czy zauważyłeś dwie rzeczy dotyczące weryfikacji klucza gpg?

  1. gpg: Dobry podpis od „Linus Torvalds <[email >”.
  2. Odcisk klucza głównego: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886 .

Nie ma się co martwić o odcisk palca klucza, mamy teraz pewność, że archiwum jest w porządku i podpisane. Przejdźmy dalej!

Krok 3: Instalowanie wymaganych pakietów

Zanim zaczniemy budować jądro, musimy zainstalować pewne pakiety, aby ułatwić proces budowania jądra i instalacji, a także zrobić to bez ryzyka w Debianie.

Zainstaluj libcurse5-dev, fakeroot i pakiet jądra.

avi@tecmint:~/Downloads$ sudo apt-get install libncurses5-dev
avi@tecmint:~/Downloads$ sudo apt-get install fakeroot
avi@tecmint:~/Downloads$ sudo apt-get install kernel-package

Krok 4: Budowa jądra 3.16

Po udanej instalacji powyższych pakietów jesteśmy gotowi do zbudowania jądra. Przejdź do wyodrębnionego obrazu jądra systemu Linux (wyodrębniliśmy powyżej podczas weryfikacji podpisu).

avi@tecmint:~/Downloads$ cd linux-3.16/

Teraz ważne jest, aby skopiować bieżącą konfigurację jądra, aby przedstawić katalog roboczy jako użytkownik root.

cp /boot/config-'uname -r' .config

Kopiuje /boot/config-'uname -r' do prezentowania katalogu roboczego „/home/avi/Downloads/linux-3.16” i zapisuje go jako „.config”.

Tutaj „uname -r” zostanie automatycznie zastąpione i przetworzone z aktualnie zainstalowaną wersją jądra.

Ponieważ pliku kropkowego nie można zobaczyć w normalny sposób, musisz użyć opcji „-a” z ls, aby go wyświetlić w bieżącym katalogu roboczym.

ls -al

Istnieją trzy sposoby budowania jądra Linuksa.

  1. make oldconfig: Jest to interaktywny sposób, w jaki jądro zadaje jedno po drugim pytanie, co powinno obsługiwać, a czego nie. Jest to bardzo czasochłonny proces.
  2. make menuconfig: jest to system oparty na menu wiersza poleceń, w którym użytkownik może włączać i wyłączać opcję. Wymaga biblioteki ncurses, dlatego zastosujemy to powyżej.
  3. make qconfig/xconfig/gconfig: Jest to system oparty na menu graficznym, w którym użytkownik może włączać i wyłączać opcje. Wymaga biblioteki QT.

Oczywiście będziemy używać „make menuconfig”.

Boisz się budowania jądra? Nie powinieneś być. To świetna zabawa, można się wiele nauczyć. Należy pamiętać o następujących kwestiach.

  1. Twoje potrzeby sprzętowe i odpowiednie sterowniki.
  2. Wybieraj nowe funkcje podczas samodzielnego budowania jądra – obsługa dużej ilości pamięci.
  3. Zoptymalizuj jądro – wybierz tylko te sterowniki, których potrzebujesz. Przyspieszy to proces uruchamiania. Jeśli nie masz pewności co do żadnego sterownika, lepiej go dołącz.

Teraz uruchom polecenie „make menuconfig”.

make menuconfig

Ważne: musisz wybrać „WYBIERZ – WŁĄCZ OBSŁUGĘ MODUŁÓW ŁADOWALNYCH”, jeśli o tym zapomnisz, czekają Cię trudne chwile .

Uwaga: w otwartych oknach konfiguracyjnych możesz skonfigurować różne opcje karty sieciowej, bluetooth, touchpada, karty graficznej, obsługi systemu plików, takiego jak NTFS i wielu innych opcji.

Nie ma samouczka, który poprowadzi Cię, co powinieneś wybrać, a co nie. Dowiesz się tego jedynie poprzez badania, studiowanie różnych rzeczy w Internecie, uczenie się z tutoriali Tecmint i na każdy inny możliwy sposób.

Możesz zobaczyć, że istnieje opcja hackowania jądra. Hakerstwo? Tak! Tutaj oznacza eksplorację. Możesz dodać różne opcje w ramach hackowania jądra i korzystać z wielu funkcji.

Następnie wybierz Ogólne opcje sterownika.

Obsługa urządzeń sieciowych.

Obsługa urządzeń wejściowych.

Załaduj plik konfiguracyjny (.config), który zapisaliśmy z /boot/config-`uname –r`.config.

Kliknij OK, zapisz i wyjdź. Teraz wyczyść drzewo źródłowe i zresetuj parametry pakietu jądra.

make-kpkg clean

Krok 5: Kompilacja jądra 3.16

Zanim zaczniemy kompilować jądro, musimy wyeksportować CONCURRENCY_LEVEL. W praktyce POZIOM WSPÓŁCZESNOŚCI ma regułę dodawania cyfry 1 do rdzeni jądra. Jeśli masz 2 rdzenie, wyeksportuj CONCURRENCY_LEVEL=3. Jeśli masz 4 rdzenie, wyeksportuj CONCURRENCY_LEVEL=5.

Aby sprawdzić rdzenie procesora, możesz użyć polecenia cat, jak pokazano poniżej.

cat /proc/cpuinfo
Przykładowe wyjście
Sample Output
processor	: 0 
vendor_id	: GenuineIntel 
cpu family	: 6 
model		: 69 
model name	: Intel(R) Core(TM) i3-4005U CPU @ 1.70GHz 
stepping	: 1 
microcode	: 0x17 
cpu MHz		: 799.996 
cache size	: 3072 KB 
physical id	: 0 
siblings	: 4 
core id		: 0 
cpu cores	: 2 
apicid		: 0 
initial apicid	: 0 
fpu		: yes 
fpu_exception	: yes 
cpuid level	: 13 
wp		: yes

Widzisz powyższe dane wyjściowe, mam 2 rdzenie, więc wyeksportujemy 3 rdzenie, jak pokazano poniżej.

export CONCURRENCY_LEVEL=3

Ustawienie prawidłowego CONCURRENCY_LEVEL przyspieszy czas kompilacji jądra.

fakeroot make-kpkg --append-to-version "-tecmintkernel" --revision "1" --initrd kernel_image kernel_headers

Tutaj „tecminkernel” to nazwa kompilacji jądra. Może to być dowolna nazwa, począwszy od Twojego imienia, nazwy hosta, imienia zwierzaka lub czegokolwiek innego.

Kompilacja jądra zajmuje dużo czasu, w zależności od kompilowanych modułów i mocy obliczeniowej maszyny. Do czasu kompilacji przejrzyj niektóre często zadawane pytania dotyczące kompilacji jądra.

Często Zadawane Pytania

Pytanie 1. Moje jądro jest kompilowane przez długi czas. Jest to normalne.
Pytanie 2. Jeśli przerwam kompilację jądra, czy muszę zaczynać wszystko od nowa?
Pytanie 3. Skompilowane pliki można wykorzystać w innym systemie do aktualizacji jądra?
Pytanie 4. Czy będziesz hostować swój skompilowany plik?
Pytanie 5. Czy w moim repozytorium znajdują się pakiety takie jak fakeroot i ncurses5-dev?
Pytanie 6. Czy po zainstalowaniu najnowszego jądra będę mógł uruchomić się z ostatniego jądra?
Pytanie 7. Mam problem z aktualizacją jądra. Pomożesz mi? Czy jest to płatne?
Pytanie 8. Moja firma boryka się z problemem aktualizacji jądra. Czy Twój zespół będzie nam pomagać? Czy jest to płatne?

To już koniec FAQ, przejdę do procesu kompilacji. Po pomyślnej kompilacji jądra tworzy dwa pliki (pakiet Debiana), jeden katalog „powyżej” naszego obecnego katalogu roboczego.

Nasz aktualny katalog roboczy to .

/home/avi/Downloads/linux-3.16/

Pakiety Debiana są tworzone pod adresem.

/home/avi/Downloads

Aby to sprawdzić, uruchom następujące polecenia.

cd ..
ls -l linux-*.deb

Następnie uruchom tak utworzony plik obrazu systemu Linux.

dpkg -i linux-image-3.16.0-tecmintkernel_1_amd64.deb

Uruchom tak utworzony plik nagłówkowy systemu Linux.

dpkg -i linux-headers-3.16.0-tecmintkernel_1_amd64.deb

Wszystko gotowe! Pomyślnie zbudowaliśmy, skompilowaliśmy i zainstalowaliśmy najnowsze jądro Linuksa 3.16 na Debianie ze wszystkimi innymi zależnościami. Co więcej, pakiet Debiana zdołał automatycznie zaktualizować bootloader (GRUB/LILO). Czas zrestartować komputer i przetestować najnowsze jądro.

Zwróć uwagę na wszelkie komunikaty o błędach, które mogą pojawić się podczas uruchamiania. Ważne jest, aby zrozumieć ten błąd, aby go rozwiązać, jeśli występuje.

reboot

Gdy tylko Debian uruchomi się ponownie, kliknij „Opcję zaawansowaną”, aby wyświetlić listę dostępnych i zainstalowanych jąder.

Zobacz listę zainstalowanych jąder.

Wybierz najnowsze skompilowane jądro (tj. 3.16), aby uruchomić system.

Sprawdź wersję jądra.

uname -mrns

Najnowsza, zainstalowana teraz, uruchamia się automatycznie i nie trzeba jej wybierać za każdym razem z zaawansowanych opcji rozruchu.

Krok 6: Zainstaluj wstępnie skompilowane jądro 3.16

Ci, którzy nie chcą samodzielnie kompilować jądra w Debianie (x86_64) i chcą użyć wstępnie skompilowanego jądra, które zbudowaliśmy w tym samouczku, mogą pobrać je z linku poniżej. To jądro może nie działać z niektórymi urządzeniami, które możesz posiadać.

  1. linux-image-3.16.0-linux-console.net_kernel_1_amd64.deb
  2. linux-headers-3.16.0-linux-console.net_kernel_1_amd64.deb

Następnie zainstaluj wstępnie skompilowane jądro, używając następującego polecenia.

dpkg -i linux-image-3.16.0-linux-console.net_kernel_amd64.deb
dpkg -i linux-headers-3.16.0-linux-console.net_kernel_amd64.deb

Nieużywane jądro można usunąć z systemu za pomocą polecenia.

apt-get remove linux-image-(unused_version_number)

Uwaga: należy usunąć stare jądro po dokładnym przetestowaniu najnowszego jądra. Nie podejmuj decyzji w pośpiechu. Powinieneś kontynuować tylko wtedy, gdy wiesz, co robisz.

Jeśli zrobiłeś coś złego podczas usuwania żądanego jądra lub usunąłeś jądro, którego nie powinieneś, twój system znajdzie się na etapie, nad którym nie będziesz mógł pracować.

Po odinstalowaniu nieużywanego jądra może pojawić się komunikat typu.

  1. Link /vmlinuz jest linkiem uszkodzonym.
  2. Usuwanie dowiązania symbolicznego vmlinuz.
  3. Może być konieczne ponowne uruchomienie modułu ładującego [grub].
  4. Link /initrd.img jest uszkodzonym linkiem.
  5. Usuwanie dowiązania symbolicznego initrd.img .
  6. Może być konieczne ponowne uruchomienie modułu ładującego [grub].

Jest to normalne i nie musisz się martwić. Po prostu zaktualizuj GRUB za pomocą następującego polecenia.

/usr/sbin/update-grub

Może być konieczna aktualizacja pliku /etc/kernel-img.conf i wyłączenie „do_symlinks”, aby wyłączyć te wiadomości. Jeśli możesz ponownie uruchomić komputer i zalogować się ponownie, nie ma problemu.

To wszystko na teraz. Wrócę tu ponownie z kolejnym ciekawym artykułem. Do tego czasu bądź na bieżąco i połącz się z Tecmint. Nie zapomnij podzielić się z nami swoją cenną opinią w sekcji komentarzy poniżej. Opowiedz nam także o swoich doświadczeniach związanych z kompilacją i instalacją jądra.

Przeczytaj także:

  1. Zainstaluj jądro 3.16 w Ubuntu
  2. Skompiluj i zainstaluj jądro 3.12 w systemie Debian Linux