- Kompilácia vlastného jadra vám umožňuje optimalizovať výkon, bezpečnosť a podporu. technické vybavenie úprava modulov, súborových systémov a špecifických možností.
- Štandardný proces zahŕňa inštaláciu závislostí, stiahnutie zdrojového kódu z kernel.org, opätovné použitie aktuálnej konfigurácie a konfiguráciu pomocou make menuconfig alebo xconfig.
- Je nevyhnutné skompilovať a nainštalovať jadro a moduly, správne vygenerovať initramfs a integrovať nové jadro do GRUBu, aby sa zabezpečila topánka očistený.
- Údržba starších jadier a znalosť toho, ako vrátiť späť alebo odstrániť problematické jadro, je kľúčom k bezpečnému experimentovaniu na akejkoľvek distribúcii.

Kompilujte jadro Linux Je to jedna z tých úloh, ktorá oddeľuje zvedavého používateľa od toho, ktorý chce ponoriť sa hlboko do operačného systémuNie je to povinné pre každodenné používanie GNU/Linuxu, ale je to skvelý spôsob, ako lepšie pochopiť, ako váš počítač funguje, vyťažiť maximum z hardvéru a doladiť systém podľa svojich predstáv.
V tejto príručke krok za krokom uvidíte, ako Stiahnite si, nakonfigurujte, skompilujte a nainštalujte linuxové jadro od začiatku. Budeme sa venovať distribúciám založeným na Debiane (Debian, Ubuntu, Mint a deriváty), ako aj všeobecným konceptom platným pre iné rodiny systémov, ako napríklad Fedora alebo CentOS. Taktiež preskúmame, prečo by ste to mohli chcieť urobiť, aké nástroje budete potrebovať, ako znova použiť aktuálnu konfiguráciu jadra, ako upraviť možnosti pre Docker alebo konkrétny hardvér a ako sa vrátiť do pôvodného stavu, ak sa niečo pokazí.
Prečo by vás mohlo zaujímať zostavenie vlastného jadra
Predtým, ako sa čohokoľvek dotknete, je dôležité mať jasno v tom, čo chcete: Kompilácia jadra nie je vždy potrebnáAle existuje niekoľko presvedčivých dôvodov, prečo tak urobiť.
- výkon a účinnosťOdstránenie ovládačov a funkcií, ktoré nikdy nepoužívate, môže zrýchliť spustenie systému, spotrebovať menej pamäte RAM a znížiť latenciu pri určitých pracovných zaťaženiach.
- zabezpečeniaZakázanie funkcií alebo modulov, ktoré nepotrebujete, znižuje plochu útoku. Minimalistickejšie jadro je v mnohých kontextoch bezpečnejšie jadro.
- Podpora pre špecifický hardvérNiekedy vaša distribúcia ešte neobsahuje ovládač, ktorý potrebujete, alebo je tento ovládač vypnutý; kompiláciou vlastného jadra môžete aktivujte podporu pre váš hardvér (sieťové karty, RAID, zariadenia skladovanie nezvyčajné atď.).
- Špeciálne funkcieMožno budete chcieť vyskúšať nový plánovač úloh, špecifické funkcie pre virtualizáciu, Docker, kontajnery, BPF, io_uring alebo akékoľvek iné pokročilé funkcie, ktoré nie sú štandardne povolené.
- Učenie a experimentovanieKompilácia jadra je veľmi jednoduchý spôsob, ako Naučte sa, ako je systém GNU/Linux interne organizovaný, ako sa inicializuje hardvér a ako sú integrované moduly.
Avšak pre domáceho používateľa, ktorý chce len zapnúť počítač, prehliadať internet a robiť len málo iného, Ručná kompilácia jadra je ako použitie dela na zabíjanie múch.Je to dlhý a chúlostivý proces a je normálne, že počas neho zjete aj nejaké jedlo. jadro paniky Pred doladením. Ak radi experimentujete, smelo do toho; ak nie, najlepšie je držať sa oficiálnych balíkov pre vašu distribúciu.
Čo je vlastne jadro Linuxu?
Jadro Linuxu je ústrednou súčasťou systému: softvér, ktorý sa nachádza medzi hardvérom a ostatnými programamiJe zodpovedný za správu pamäte, procesov, súborových systémov, vstupno-výstupných zariadení, siete, bezpečnosti a mnoho ďalšieho.
Linux vznikol v roku 1991 ako osobný projekt Linusa Torvaldsa vytvoriť voľné jadro. Odvtedy enormne narástlo: dnes hovoríme o desiatkach miliónov riadkov kódu, ktoré spravujú tisíce vývojárov na základe licencie GPLv2Systém, ktorý zvyčajne nazývame „Linux“, je v skutočnosti kombináciou Linuxové jadro + nástroje GNU a ďalšie komponenty ktorí zostavujú distribúciu.
Keď kompilujete vlastné jadro, vygenerujete binárny súbor (zvyčajne /boot/vmlinuz-verzia) plus sada modulov v /lib/modules/version, spolu so súbormi ako napr. System.map, config s použitou konfiguráciou a počiatočným bootovacím obrazom (initrd alebo initramfs).
Základné nástroje potrebné na kompiláciu jadra
Na kompiláciu linuxového jadra zo zdrojového kódu potrebujete kompletné vývojové prostredie. Na systémoch Debian, Ubuntu a Mint to zvyčajne zahŕňa inštaláciu build-essential a množstvo ďalších knižníc a nástrojov.
Mnoho klasických sprievodcov odporúča sady ako sú tieto (Môžete si ich prispôsobiť podľa vášho rozloženia.):
- Minimálna sada v Debiane/Ubuntu pre relatívne moderné jadro:
sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev libudev-dev libpci-dev libiberty-dev dkms openssl bc autoconf - Prostredie pre balenie Debianu na zostavenie balíčkov jadra .deb:
sudo apt install autoconf automake autotools-dev bison build-essential dh-make debhelper debmake devscripts dpkg fakeroot file gfortran git gnupg fp-compiler lintian patch pbuilder perl quilt xutils-dev
Vo Fedore, CentOS a derivátochPrístup sa mierne mení, ale myšlienka zostáva rovnaká: nainštalovať sadu vývojových nástrojov a knižnice pre konfiguračné rozhrania (textové a grafické). Napríklad sa bežne používajú nasledujúce príkazy štýlu:
su -c 'yum groupinstall "Development Tools"'
su -c 'yum install ncurses-devel qt-devel unifdef'
Bez týchto závislostí kompilácia zlyhá pomerne rýchlo, takže je Pred stiahnutím zdrojového kódu je nevyhnutné mať pripravené prostredie.
Kde stiahnuť zdrojový kód jadra Linuxu
Oficiálny zdroj na získanie kódu jadra je kernel.orgOdtiaľ si môžete vybrať medzi hlavnou, stabilnou a dlhodobou podporou (LTS) verziou. Každá má svoj vlastný priečinok a odkaz na tarball stlačený.
Niekoľko príkladov descargas ktoré sa často vidia Návody sú:
- Stabilné jadro 6.6 pre nedávne testovanie:
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.xz - Jadro 6.0.11 (vetva v6.x):
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.0.11.tar.xz - Jadro 5.10.13 (vetva v5.x):
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.13.tar.xz
Fonty si môžete stiahnuť aj z repozitáre vašej distribúcieNapríklad v Debiane/Ubuntu existuje balík zdrojový kód Linuxu:
sudo apt-get install linux-source
Zostane tak súbor typu linux-source-xxxtar.bz2 en / usr / srcktorý môžete rozbaliť podobným spôsobom ako tarball kernel.org.
Pripravte si zdrojový strom a miesto na disku
Po stiahnutí tarballu jadra ho musíte extrahovať na miesto, kde ho máte dostatočný priestor a oprávnenia na zápisNie ste povinní používať /usr/src, hoci je to klasika. Môžete si vytvoriť napríklad adresár ako ~/Stiahnutia/moje-jadrá.
Majte na pamäti, že po dekomprimácii môže byť zdrojový strom približne 1,5 GBa počas kompilácie veci ľahko preskočia 7 GBTakže nechajte dostatok priestoru na chyby.
niektorí typické príklady dekompresie Sú to:
- S tar.xz:
tar avxf linux-6.6.tar.xz - S tar.bz2:
tar jxvf linux-2.6.36.tar.bz2 -C /usr/src - S tar.gz:
tar zxvf linux-x.x.x.x.tar.gz -C /usr/src
Po rozbalení budete mať adresár podobný linux-6.6 o linux-5.10.13Môžete vytvoriť všeobecný symbolický odkaz s názvom linux aby ste sa vyhli blázneniu s trasami:
cd /usr/src
sudo ln -s linux-6.0.11 linux
Nie je povinné umiestňovať zdroje do / usr / src, hoci mnohí sprievodcovia to robia z tradície. Kompilácia a inštalácia budú fungovať rovnako, ak ich vykonáte vo svojom používateľskom priečinku.za predpokladu, že máte priestor a príslušné povolenia.
Znovu použiť aktuálnu konfiguráciu jadra
Konfigurácia jadra od začiatku, možnosť po možnosti, je nekonečná úloha aj pre veľmi skúsených ľudí. Obvyklá prax je znova použite konfiguráciu jadra, ktorú už používate ako východiskový bod.
Na to je najprv potrebné vedieť aké jadro máš nahraté? práve teraz:
uname -r
Výsledok bude niečo ako 6.1.0-13-amd64 o 4.19.0-6-amd64S týmito informáciami môžete skopírovať aktuálnu konfiguráciu z / boot do adresára novo dekomprimovaných zdrojov:
cd linux-6.6
cp /boot/config-$(uname -r) .config
Ten súbor .config Toto bude ten, ktorý systém zostavovania jadra použije ako základ. V novších verziách sa pri spustení konfiguračných nástrojov zobrazí výzva iba na možnosti, ktoré neexistovali v predchádzajúcom jadrečo šetrí obrovské množstvo času.
Ako upraviť nastavenia podľa skutočného hardvéru
Okrem opätovného použitia aktuálneho súboru .config ho môžete ešte viac doladiť pomocou nástrojov, ktoré poskytuje samotný strom jadra. Jeden obzvlášť užitočný nástroj je vytvoriť localmodconfig, ktorý sa pokúša vygenerovať konfiguráciu prispôsobenú modulom, ktoré ste práve načítali.
V adresári so zdrojovým kódom jednoducho spustite:
make localmodconfig
Tento príkaz kontroluje aktívne moduly a Zakáže veľa vecí, ktoré váš systém nepoužíva.Toto je ideálne, ak konfigurujete jadro pre daný konkrétny počítač. Ak máte v úmysle kompilovať generické jadro pre iné počítače alebo servery, budete si ho musieť následne dôkladne skontrolovať, aby ste sa uistili, že ste nevynechali hardvér, ktorý nie je prítomný v systéme, kde kompilujete.
Režimy konfigurácie jadra: textové a grafické prostredie
Konfiguráciu jadra je možné vykonať niekoľkými spôsobmi. Všetky z nich nakoniec vedú k vygenerovaniu alebo úprave súboru .configAle zážitok sa veľmi líši v závislosti od režimu:
- vytvoriť konfiguráciuČisto textový dotazník, otázka po otázke. Dnes sa považuje za praktický len vo veľmi špecifických prípadoch; je pomalé, únavné a ľahko sa v nich robia chyby.
- Urobiť menuconfigTextové menu (ncurses), veľmi bežné na serveroch alebo keď nemáte grafické prostredie. Navigácia sa vykonáva pomocou šípok, klávesu Tab a medzerníka.
- vytvoriť xconfigGrafické rozhranie založené na Qt, pohodlné na používanie myšou. Ideálne pri práci z plnej pracovnej plochy.
- vytvoriť gconfigGrafické rozhranie založené na GTK, určené pre prostredia typu GNOME.
V praxi, Urobiť menuconfig Je to hviezda takmer každej príručky, pretože funguje takmer v akomkoľvek kontexte. Všetko, čo musíte urobiť, je začať so skopírovaným súborom .config:
make menuconfig
Zobrazí sa vám hlavná ponuka s kategóriami ako „Typ a funkcie procesora“, „Ovládače zariadení“, „Súborové systémy“, „Podpora sietí“, „Virtualizácia“ atď. V rámci každej z nich budete môcť aktivovať, deaktivovať alebo označiť ako modul Rôzne možnosti. Normálne:
- [*] Znamená to „vstavaný“.
- [M] Znamená to, že „je skompilovaný ako zavádzateľný modul“.
- [] Je to „deaktivované“.
Cieľom je integrovať do jadra to, čo je potrebné na zavedenie systému (napríklad podporu koreňového disku) a použiť moduly pre menej kritické funkcie alebo funkcie, ktoré sa nie vždy používajúaby hlavné jadro bolo ľahšie.
Každá položka ponuky má zvyčajne možnosť Pomoc Toto presne vysvetľuje, čo robí, a niekedy poskytuje predvolené odporúčanie. Ak si nie ste istí niečím konkrétnym, je najlepšie držať sa odporúčanej hodnoty alebo tej, ktorá už bola povolená v predchádzajúcej konfigurácii.
Užitočné nastavenia: súborové systémy, virtualizácia a Docker
Dôležitou súčasťou prispôsobenia jadra je dobrý výber Aké súborové systémy, mechanizmy kontajnerov a sieťové možnosti? Budete to potrebovať. Napríklad, ak plánujete použiť priečky NTFS Pri zápise budete musieť aktivovať príslušnú podporu (zvyčajne sa nachádza v časti „Súborové systémy → Súborové systémy DOS/FAT/EXFAT/NT“).
Ak plánujete pracovať s virtualizáciou alebo kontajnermi, je dôležité si preštudovať niekoľko blokov možností. Napríklad pre Docker a Docker Swarm existuje množstvo... funkcie menných priestorov, kontrolných skupín a siete ktorý musí byť aktívny:
- hierarchia cgroup.
CONFIG_NAMESPACES,CONFIG_NET_NS,CONFIG_PID_NS,CONFIG_IPC_NS,CONFIG_UTS_NS.CONFIG_CGROUPSa podmožnosti ako napríkladCONFIG_CGROUP_CPUACCT,CONFIG_CGROUP_DEVICE,CONFIG_CGROUP_FREEZER,CONFIG_CGROUP_SCHED,CONFIG_CPUSETS,CONFIG_MEMCG.- Kľúčová podpora (
CONFIG_KEYS). - Možnosti siete, ako napríklad
CONFIG_VETH,CONFIG_BRIDGE,CONFIG_BRIDGE_NETFILTER,CONFIG_NF_NAT_IPV4,CONFIG_IP_NF_FILTER,CONFIG_IP_NF_TARGET_MASQUERADE,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE,CONFIG_NETFILTER_XT_MATCH_CONNTRACK,CONFIG_NETFILTER_XT_MATCH_IPVS,CONFIG_IP_NF_NAT,CONFIG_NF_NAT,CONFIG_NF_NAT_NEEDED. - Podpora frontu POSIX (
CONFIG_POSIX_MQUEUE). - Možnosti ako
CONFIG_IPVLANpre určité sieťové konfigurácie používané Dockerom.
Veľkú časť tejto funkcionality je možné bez problémov skompilovať ako modul, ale Odporúča sa preštudovať si dokumentáciu k Dockeru alebo použiť testovacie skripty.Existujú utility ako napr. check-config.sh ktoré analyzujú súbor .config jadra a povedia vám, čo chýba pre úplnú kompatibilitu s kontajnermi.
Základná mechanika by bola:
chmod +x check-config.sh
./check-config.sh .config
Výstup vám ukáže, ktoré možnosti sú v poriadku, ktoré chýbajú alebo ktoré sú nesprávne nakonfigurované. Ak zistíte, že niečo kritické je vypnuté, môžete to spustiť znova. Urobiť menuconfig o vytvoriť xconfig, opravte to, uložte a zopakujte overenie.
Zaujímavé vylepšenia v posledných verziách jadra
Okrem prispôsobovania veľa ľudí kompiluje nové verzie jadra, aby Využite vylepšenia výkonu a nové funkcie čo bude ešte chvíľu trvať, kým sa balíky z vašej distribúcie dostanú.
Napríklad v Ráma 6.6 Boli spomenuté vylepšenia, ako napríklad:
- Výrazné zvýšenie výkonu v EXT4, so zvýšením až o 34 % pri určitých súbežných záťažiach zápisu.
- Vylepšenia podpory GPU NVIDIA pomocou bezplatného ovládača Nouveau, čím sa pripravuje pôda pre vodiča NVK (Vulkan).
- Možnosti pre konfigurovať aspekty BIOS zo zariadení HP priamo z Linuxu.
- Nastavenia plánovania klastra pre hybridné procesory Intel (Jazero Alder, jazero Raptor a neskôr).
- Optimalizácia priameho asynchrónneho I/O s io_uring, s nárastom výkonu približne o 37 % v určitých testoch.
- Nový plánovač úloh, EEVDF (Najskorší oprávnený virtuálny termín), čo zlepšuje alokáciu CPU medzi procesmi.
Toto všetko je v moderných verziách „pripravené hneď po vybalení“, ale zabalenie alebo povolenie vašej distribúcie môže chvíľu trvať, a preto sa veľa ľudí uchyľuje k... manuálne skompilovať novšie jadro.
Kompilácia jadra: make, moduly a kompilačné vlákna
Keď už máte konfiguráciu takú, akú chcete, je čas zapnúť procesor. Tu prichádzajú na rad príkazy. činiť Klasická kompilácia jadra. Kompilácia môže trvať od niekoľkých minút do viac ako hodiny, v závislosti od hardvéru a počtu generovaných modulov.
V podstate, základný tok V Debiane/Ubuntu (alebo iných distribúciách) je to zvyčajne:
- Kompilácia jadra (hlavný obraz):
make -j$(nproc)
Alebo, ak chcete, aby používal iba jedno jadro:
make - Kompilujte a nainštalujte moduly:
sudo make modules_install
Možnosť -j$(nproc) Hovorí nástroju make, aby používal toľko paralelných procesov, koľko jadier má váš procesor, čo na moderných počítačoch šetrí veľa času. Ak počas kompilácie uvidíte chyby, budete ich musieť skontrolovať v bode, kde zlyhajú; môžu byť spôsobené... chýbajúce závislosti, konfliktné konfigurácie alebo špecifické chyby v danej verzii jadra.
Niektoré pokročilejšie recepty používajú nástroj Debian make-kpkg a balíček balík-kernel zabaliť jadro do súborov .deb. To vám potom umožní nainštalovať a odinštalovať vlastné jadro, ako keby to bol len ďalší balík, pomocou niečoho ako:
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
cd /usr/src
sudo dpkg -i *.deb
V tomto scenári je tiež bežné vyskytnúť sa chyby súvisiace s certifikáty jadraMnohé príručky riešia špecifické problémy vypnutím dôveryhodných kľúčov v súbore .config pomocou riadku, ako je tento:
sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/s/^/#/g' .config
Nainštalujte novo skompilované jadro a aktualizujte bootloader
Ak nepoužívate balík .deb a používate štandardné nástroje pre stromovú štruktúru jadra „bez sedla“, Inštalácia sa vykonáva priamo zo zdrojového adresáraNajbežnejšia postupnosť po kompilácii je:
- Nainštalujte moduly (ak ste tak ešte neurobili):
sudo make modules_install - Nainštalujte jadro:
sudo make install
Vlastný skriptovací systém jadra skopíruje binárny súbor bzImage vygenerované do /boot spolu so súborom System.map a konfiguračným súborom. V systémoch Debian/Ubuntu sa skripty zvyčajne spúšťajú v /etc/kernel/postinst.d ktoré generujú initramfs a automaticky aktualizovať správcu zavádzania (GRUB).
Napriek tomu nikdy nezaškodí explicitne vykonať:
sudo update-initramfs -u
sudo update-grub
sudo update-grub2
S týmto Uistite sa, že počiatočný bootovací obraz bol správne regenerovaný. pre novú verziu jadra a že GRUB ju zohľadňuje vo svojom menu. V iných distribúciách, ako napríklad v niektorých založených na Red Hate, sa môže použiť mkinitrd o dracut namiesto update-initramfs, ale cieľ je rovnaký: vytvoriť obraz initrd/initramfs vhodný pre nové jadro.
Úloha initrd/initramfs a potenciálne problémy
Initrd alebo initramfs je obraz súborového systému, ktorý sa načíta do pamäte veľmi skoro počas procesu bootovaniaObsahuje minimálne ovládače potrebné na pripojenie skutočného koreňového súborového systému (napríklad podporu pre radič SATA alebo NVMe, kde sa nachádza váš oddiel /).
Ak je váš initrd nesprávne vygenerovaný alebo neobsahuje potrebné moduly, jadro sa spustí, ale nebude ho možné pripojiť. / a skončíš s jadro paniky sťažuje sa, že nevie nájsť koreň súborový systém. Toto je typická chyba, keď sú kritické možnosti jadra vypnuté alebo sa initramfs zabudne po zmene verzií.
V Debiane/Ubuntu je dnes referenčným príkazom aktualizácia-initramfs:
sudo update-initramfs -c -k x.x.x
Parameter -c vytvára nový obrázok a -k označuje presnú verziu jadra. V starších distribúciách (alebo s inými nástrojmi) sa používal mkinitrd s podobnou syntaxou:
cd /boot
mkinitrd -o initrd.img-2.6.36 2.6.36
V každom prípade, ak po nainštalovaní vlastného jadra uvidíte chyby súvisiace s /lib/modules alebo s pripojením koreňového adresára, Najprv skontrolujte súbor initramfs/initrd a konfiguráciu GRUBu. predtým, ako sa dotknete čohokoľvek iného.
Overte, či nové jadro funguje správne
Po nainštalovaní všetkého a aktualizácii správcu zavádzania je čas reštartovať systém a otestovať ho. Počas spúšťania... monitorovanie správ GRUB a zavádzania jadra v prípade, že sa chyby objavia z modulov, súborových systémov alebo zariadení, ktoré nie sú rozpoznané.
Po vstupe do systému si môžete skontrolovať, ktorú verziu jadra používate:
uname -a
Výstup by mal odrážať novo skompilovaná verziaOdtiaľ je to už otázka testovania vašich bežných služieb: webového servera, databázy, Docker, virtuálne strojedesktopové programy atď. Ak všetko funguje správne, môžete toto jadro ponechať ako hlavné a staršie verzie si ponechať ako zálohy.
Ako sa vrátiť k predchádzajúcemu jadru a odinštalovať nové
Ak sa niečo pokazí (čo sa môže stať, najmä prvých párkrát), dôležité je, aby Nerobte panikuPokiaľ váš GRUB zobrazuje zoznam ďalších funkčných jadrí, môžete systém obnoviť bez väčších problémov.
Proces typický by mal:
- Reštartujte systém.
- Na obrazovke GRUB sa pohybujte pomocou šípok a zadajte sekciu typu „Rozšírené možnosti pre…“.
- Vyberte staršiu verziu jadra, o ktorej viete, že fungovala dobre.
- Nabootujte systém s týmto jadrom a po jeho vložení pokračujte v odstraňovaní problematického jadra.
Ak ste jadro nainštalovali manuálne, bez balíkov .deb, odstránenie zvyčajne zahŕňa vymažte príslušné súbory v priečinkoch /boot a /lib/modulesNapríklad, ak chcete odstrániť verziu 6.6.0, môžete urobiť toto:
cd /boot
sudo rm config-6.6.0 initrd.img-6.6.0 System.map-6.6.0 vmlinuz-6.6.0
A potom odstráňte jeho moduly:
cd /lib/modules
sudo rm -rf 6.6.0
Po dokončení aktualizujte GRUB tak, aby už neponúkal dané jadro v ponuke a reštartujte počítač:
sudo update-grub
sudo update-grub2
sudo reboot
Ak ste nainštalovali jadro zabalené ako .deb, je čistejšie. Používajte ho ako akýkoľvek iný balík Na odinštalovanie použite apt alebo dpkg, čím udržíte stav systému pod lepšou kontrolou.
Poznámky k iným distribúciám: Fedora, CentOS a ďalšie
Hoci sa táto príručka zameriava najmä na Debian/Ubuntu/Mint, všeobecná logika je podobná aj v distribúciách založených na Red Hate, ako sú Fedora alebo CentOS. Aké sú zmeny? nástroje na správu balíkov, niektoré názvy závislostí a ako získať prístup k správcovi zavádzania.
Napríklad vo Fedore/CentOS môže byť základný pracovný postup pre kompiláciu jadra z kernel.org:
- Nainštalujte vývojové nástroje:
su -c 'yum groupinstall "Development Tools"'
su -c 'yum install ncurses-devel qt-devel unifdef' - Stiahnite si stabilnú verziu (napríklad 2.6.36 v klasických príkladoch):
cd /tmp
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2 - Rozbaľte a pripravte zdrojový strom:
mkdir /usr/src/linux
tar -xjvf linux-2.6.36.tar.bz2 -C /usr/src/linux
cd /usr/src/linux - Nakonfigurujte jadro pomocou menuconfig, xconfig alebo gconfig.
- Kompilovať a nainštalovať:
make
make modules
make modules_install
make install
Potom budete musieť skontrolovať a upraviť /boot/grub/grub.conf (alebo ekvivalentný súbor, v závislosti od toho, či používate GRUB Legacy, GRUB2 atď.) na pridanie položky pre nové jadro s príslušným initrd, pričom dbajte na cesty koreň = a odkazy na logické zväzky, ak používate LVM.
Kompilácia, konfigurácia a inštalácia vlastného linuxového jadra je zdĺhavý, ale neuveriteľne poučný proces: núti vás pochopiť, ktoré moduly potrebujete na spustenie, ktoré možnosti sú nevyhnutné pre vaše služby (ako napríklad Docker alebo virtualizácia), ako sú initramfs a GRUB integrované do procesu spustenia a ako si vždy zachovať záložnú možnosť na návrat k predchádzajúcemu jadru, ak sa niečo pokazí. Ak si nájdete čas na prečítanie každej časti, inteligentne znova použijete svoju aktuálnu konfiguráciu jadra a zvyknete si na postupné testovanie zmien, môžete si nakoniec vychutnať skutočne výkonný systém. optimalizovanejšie, prispôsobené vášmu hardvéru a zladené s vašimi skutočnými potrebami než to, čo poskytujú generické jadrá väčšiny distribúcií.
Vášnivý spisovateľ o svete bajtov a technológií všeobecne. Milujem zdieľanie svojich vedomostí prostredníctvom písania, a to je to, čo urobím v tomto blogu, ukážem vám všetko najzaujímavejšie o gadgetoch, softvéri, hardvéri, technologických trendoch a ďalších. Mojím cieľom je pomôcť vám orientovať sa v digitálnom svete jednoduchým a zábavným spôsobom.