Kako instalirati i kompajlirati kernel u Debianu


Jedna od najvećih prednosti korištenja Linuxa je njegovo jednostavno prilagođavanje, a jedna od najzabavnijih stvari za prilagođavanje je sam Kernel, srce Linux operativnog sistema.

Šanse su da najvjerovatnije nikada nećete morati kompajlirati vlastito jezgro. Onaj koji se isporučuje uz vašu distribuciju i ažuriranja putem vašeg sistema za upravljanje paketima je obično dovoljno dobar, ali ponekad će možda biti potrebno ponovno kompajlirati kernel.

Neki od ovih razloga mogu biti posebne hardverske potrebe, želja za stvaranjem monolitnog kernela umjesto modularnog, optimizacija kernela uklanjanjem beskorisnih drajvera, pokretanje razvojnog kernela ili jednostavno učenje više o Linuxu.

U ovom slučaju, kompajlirat ćemo novo izdano kernel na Debian sistemima koji uključuje nekoliko novih funkcija, kao što su novi drajveri za grafičke kartice, i nudi značajna poboljšanja datotečnog sustava.

Kako kompajlirati kernel u Debianu

Za početak, trebat će nam neki paketi, odnosno osnovni za izgradnju i kernel zaglavlja.

sudo apt update
sudo apt install build-essential linux-headers-$(uname -r)

Sada posjetite službenu web stranicu kernela da preuzmete željenu verziju kernela. Alternativno, možete koristiti sljedeće naredbe za direktno preuzimanje izvora.

wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.7.tar.xz
tar -xvf linux-6.7.tar.xz
cd linux-6.7/

Sada ćemo morati da konfigurišemo kernel, preporučljivo je da počnemo sa konfiguracijom koja se trenutno koristi i da se nadogradi na nju. Da bismo to postigli, kopirat ćemo postojeću konfiguraciju iz /boot direktorija u trenutni radni direktorij i sačuvati ga kao .config.

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

Da biste započeli sa stvarnim procesom konfiguracije, imate jednu od dvije opcije.

  1. Ako imate instaliran X11, možete pokrenuti make xconfig i imati lijep GUI meni koji će vam pomoći dok konfigurirate svoj kernel .
  2. Ako radite u CLI okruženju, možete pokrenuti make menuconfig, ali će za njegovo korištenje trebati instaliran paket libncurses5-dev.

Ako idete sa cli okruženjem, obavezno instalirajte paket libncurses5-dev da biste pokrenuli proces konfiguracije kernela kao što je prikazano.

apt install libncurses5-dev
make menuconfig

Kao što ćete vidjeti, kada ste u konfiguraciji po svom izboru, postoji tona različitih opcija dostupnih za vaš Kernel. Zapravo, ima ih previše za opseg ovog tutorijala.

Prilikom odabira opcija Kernel, najbolji način je pokušajem i greškom i obilato guglanja, što je najbolji način za učenje. Ako samo pokušavate ažurirati svoj Kernel na najnoviju verziju, ne morate ništa mijenjati i možete jednostavno odabrati “Sačuvaj konfiguraciju”. Pošto smo kopirali trenutni konfiguracioni fajl kernela u .config fajl novog kernela.

Imajte na umu da je “Učitavač modula kernela” odabran u “Podrška modula koji se može učitati”. Ako nije, a koristite module kernela, to može ozbiljno zabrljati stvari.

Sada pokrenite proces kompilacije kernela koristeći sljedeće naredbe, koje će kompajlirati kernel, instalirati module i kopirati potrebne datoteke u direktorij za pokretanje.

make
make modules_install
make install

Jednom instaliran, jednostavno restartujete i odaberete novo jezgro iz vašeg GRUB menija.

Obavezno obratite veliku pažnju na sve poruke o grešci tokom procesa pokretanja kako biste mogli riješiti sve probleme.

Za provjeru nove verzije kernela u Debianu, možete koristiti sljedeću naredbu u terminalu.

uname -r

Ako želite vidjeti listu instaliranih kernela, možete provjeriti sadržaj direktorija /boot:

ls /boot

Uklonite staro jezgro u Debianu

Da biste uklonili stare kernele u Debianu, prvo morate navesti instalirane kernele kako biste identificirali one koje želite ukloniti pomoću naredbe dpkg.

dpkg --list | grep linux-image

Da biste uklonili stari kernel, koristite sljedeću naredbu apt i obavezno zamijenite linux-image-OLD_VERSION brojem verzije kernela koji želite ukloniti.

sudo apt purge linux-image-OLD_VERSION

Nakon uklanjanja starih kernela, ažurirajte GRUB da odražava promjene.

update-grub

U zaključku, kompajliranje kernela u Debianu je vrijedna vještina koja omogućava korisnicima da prilagode svoj operativni sustav specifičnim potrebama, uključujući najnovije značajke i optimizacije.