Sjećam se da sam prvi put sastavio Linux kernel. Bila sam nervozna. Bilo je to nešto što nikad prije nisam učinio, a činilo se kao nevjerojatno težak zadatak. Uostalom, nije li kernel stvari elitnih programera? Ako je tako, zašto bih se uopće trudio?
Jer sam mogao.
Također: Ove distribucije Linuxa najbolje su za programere
I budući da su svi hladni otvoreni koznik, alternakidi su to radili.
Ako bih se želio uklopiti, morao sam napraviti (vidi što sam tamo radio?) To se dogodilo.
Dakle, preuzeo sam izvor kernela, duboko udahnuo i zaronio unutra.
To bi bilo oko 2000. ili 2001. godine, a kad bih ga uspješno izvukao, siguran sam da sam napravio sretan ples ili dva.
Ali kako sam to učinio?
Vjerovali ili ne, proces sastavljanja Linux kernela nije ni približno tako težak kao što možda mislite. To je dugotrajno, ali to je izazov koji sigurno možete prevladati.
Sadržaj objave
Zašto biste htjeli sastaviti kernel?
Tri su razloga zbog kojih biste to možda željeli učiniti:
- Želite koristiti noviju ili drugačiju kernelu nego što vaša distribucija pruža (kao što je kernel u stvarnom vremenu ili nisko-latencije).
- Potrebna vam je kernel s vrlo specifičnim konfiguracijama i samo određenim modulima.
- Želite se hvaliti svojim prijateljima da ste sastavili Linux kernel.
Također: Ovo je najljepša Linux radna površina 2025. (do sada)
Dopustite mi da vam pokažem kako je to učinjeno.
Kako sastaviti Linux kernel iz izvora
Što će vam trebati: Da biste sastavljali kernel, morat ćete preuzeti izvor kernela, korisnika sa sudo privilegijama i puno vremena. To ću pokazati na instanci Ubuntu Desktop 24.04. Ako koristite distribuciju koja se ne temelji na Debianu ili Ubuntuu, morat ćete biti sigurni da ćete instalirati potrebne ovisnosti s upraviteljem paketa distribucije.
Prije nego što krenete na ovo putovanje, pronađite rezervni stroj ili rasporedite virtualni stroj. Ne želite sastaviti svoj prvi Linux kernel na proizvodnom stroju.
Prvo što ćete učiniti je preuzeti izvor kernela koji želite koristiti. Predlažem da idete ravno Linux kernel arhiv i preuzimanje tarball datoteke kernela koju želite. Preuzet ću 6.13 izvor u demonstracijske svrhe.
Pokažite više
sudo apt-get instalirati građevinsku libncurses-dev git bison flex libssl-dev -y
Otvorite prozor terminala i promijenite u direktorij koji je preuzela datoteka i izvadite ga naredbom:
Pokažite više
UNXZ –Keep Linux-xxx.tar.xz
Gdje je xxx broj izlaska.
tar -xf linux -xxx.tar
Gdje je xxx broj izlaska.
U ovom trenutku možete koristiti generičku konfiguraciju ili možete ručno urediti .conf datoteku unutar novostvorenog direktorija (koja će biti nazvana Linux-xxx-gdje je XXX broj izlaska). Druga metoda koju možete koristiti (što bih predložio za vaš prvi krug) je kopiranje konfiguracijske datoteke vaše distribucije.
Prije nego što to učinite, promijenite u novostvorenu mapu s naredbom:
Pokažite više
CD Linux-xxx
Gdje je xxx broj izlaska.
Zatim kopirajte konfiguracijsku datoteku s naredbom:
cp /boot /config -“$ (uname -r)” .config
Alternativno, možete ručno konfigurirati kernel pomoću naredbe:
napraviti menchonfig
Gornja naredba otvara uslužni program Menuconfig, gdje možete pregledavati i omogućiti/onemogućiti razne značajke. Ovako sam uvijek sastavljala kernele. Ova metoda traje neko vrijeme (jer ima puno modula koje treba proći). Ako krenete tom rutom, obavezno je spremite u datoteku s:
Napravite SAVEDCONFIG
Gornja naredba stvorit će novi direktorij koji sadrži vašu .config datoteku.
Također: prvih 5 naredbi Linuxa koji bi svaki novi korisnik trebao naučiti
Nakon kopiranja konfiguracije, morate ažurirati konfiguracijsku datoteku (jer je ona isporučena s vašom distribucijom najvjerojatnije zastarjela). Da biste to učinili, izdajte naredbu:
Pokažite više
napraviti oldconfig
Datoteka .Config sada je ažurirana za izvor kernela koji ste preuzeli.
Za korisnike distribucije sa sjedištem u Debianu, morat ćete onemogućiti modul koji se koristi za potpisivanje modula kernela, jer certifikat koji se koristi za to nije uključen. Da biste to učinili, izdajte naredbe:
Pokažite više
Scripts/config -Raspoređeni System_Trusted_keys
Scripts/config -Disable System_Revocation_keys
Ako to ne učinite, izgradnja će uspjeti kasnije u tom procesu, što znači da ćete potrošiti puno vremena (bili ste tamo, učinili to … previše puta).
Make -j $ (nProc)
Ovo će potrajati prilično dugo.
Ne želite da se svaki Linux kernel modul učitava pri pokretanju. Umjesto toga, gradimo module koji se mogu opterećivati. Ovaj postupak ne samo da instalira module kernela, već ih i potpisuje, što znači da će postupak (još jednom) potrajati neko vrijeme. Naredba za ovo je:
Pokažite više
sudo make module_install -j $ (nProc)
Postoje slučajevi kada će vam možda trebati datoteke zaglavlja kernela (kao da ste htjeli napisati vlastite module ili instalirati određeni softver poslužitelja). Za to, izdajte naredbu:
Pokažite više
sudo make headers_install
sudo napravite instalaciju
sudo dracut —trance /boot/initrd.img-xxx-generic xxx-generic
Gdje je xxx broj izlaska kernela koji instalirate.
sudo update-grub2
Sada možete ponovno pokrenuti svoj stroj i odabrati novo sastavljenu kernel.
Također: najbolja Linux prijenosna računala koja možete kupiti
Zapamtite, učinite to na virtualnom stroju ili testnom stroju jer ne želite majmuno sa svojim svakodnevnim vozačem i namotajte se strojem koji se neće pokrenuti.
Svakodnevno u pristigloj pošte svakodnevno nabavite jutarnje priče Tehno danas bilten.



