Sukompiliuoti branduolį: kaip tai padaryti „Debian Base Distro“?

Sukompiliuoti branduolį: kaip tai padaryti „Debian Base Distro“?

Sukompiliuoti branduolį: kaip tai padaryti „Debian Base Distro“?

Mūsų ankstesnis įrašas, skambinkite „Linux branduolys: branduolio pagrindai“ kreipiamės į kai kuriuos esminiai teoriniai pagrindai apie Operacinės sistemos branduoliai, paprastai; ir „Linux“ branduolys, konkretus.

Ir kaip mes jame išreiškėme, šiame mes baigsime pasakytą esminiai teoriniai pagrindai su kitais svarbias sąvokas ir informaciją, be to, rodoma dabartinė procedūra, kurią reikia pasiekti "kompiliuoti Linux branduolį" nuo nulio, ant a Debian GNU/Linux 11 platinimas („Bullseye“) arba remiantis juo.

„Linux“ branduolys: branduolio pagrindai

„Linux“ branduolys: branduolio pagrindai

Ir prieš pradėdami skaityti šį įrašą apie „sukompiliuoti branduolį“ „Linux“ Apskritai paliksime keletą nuorodų į ankstesni susiję pranešimai vėlesniam skaitymui:

„Linux“ branduolys: viskas apie nemokamos operacinės sistemos branduolį
Susijęs straipsnis:
„Linux“ branduolys: branduolio pagrindai

pažeidžiamumas
Susijęs straipsnis:
Iki šiol šį mėnesį jau buvo atskleistos kelios „Linux“ branduolyje rastos spragos

Sukurkite branduolį: kūrimo pamoka

Sukurkite branduolį: kūrimo pamoka

Ką reiškia kompiliuoti programą?

Iš esmės tai techninis procesas (taip pat vadinamas pakavimu) susideda iš pasiekimo programos šaltinio kodo konvertavimas arba programinės įrangos dalis, nuo jos šaltinio (programavimo kalbos, naudojamos pačiai rašyti) iki a skaitomas produktas (aukšto lygio programavimo kalba interpretuojama) kompiuteriu.

Tai yra pasiekti transformuoti iš šaltinio kodo kol taps a vykdomoji ir funkcinė programa, naudojant a procesorius (kompiliatoriaus programinė įranga) naudojamai programavimo kalbai konvertuoti į dvejetainio ir asamblėjo tipo kodą.

O kai kalbama apie kurti ir kompiliuoti bet kokios rūšies paketas, programa ir programa, pagrindinis ir vietinis, kaip branduoliai apie Debian GNU / Linux, šios pakuotės yra tinkamos ir būtinos norint gauti prekę plėtros paramos bazėir tai yra:

apt install autoconf automake autotools-dev build-essential dh-make debhelper debmake devscripts dpkg fakeroot file gfortran git gnupg fp-compiler lintian patch pbuilder perl python quilt xutils-dev
Optimizuokite savo GNU/Linux: Debian paketus programoms kurti
Susijęs straipsnis:
Optimizuokite savo GNU/Linux: Debian paketus programoms kurti

„Linux“ branduolio sudarymo nuo nulio privalumai ir trūkumai

Kai pagal užsakymą kompiliuojame ir nuo nulio konfigūruojame konkretų branduolį tam tikram kompiuteriui, galime gauti šiuos pranašumus:

  • Pasiekite geresnį našumą ir sumažinkite procesoriaus sąnaudas.
  • Geriau optimizuokite ir sunaudokite mažiau RAM atminties.
  • Pagerinkite operacinės sistemos pritaikomumą ir suderinamumą.
  • Padidinkite operacinės sistemos efektyvumą ir produktyvumą.

Nors, priešingai, galime sukurti šiuos trūkumus:

  • Veikimo ir prieinamumo gedimai norimų išteklių ir paslaugų naudojamame kompiuteryje dėl netinkamos konfigūracijos ir kompiliavimo metu kilusių problemų.
  • Nuolatinis, ilgas ir varginantis darbas iš pradžių jį sukurti, o vėliau, kad rankiniu būdu būtų atnaujintas. Tai gali svyruoti nuo minučių iki valandų, priklausomai nuo naudojamos aparatinės įrangos.
  • Ilgos studijų ir testų valandos, nes reikia aukšto lygio žinių tiek apie branduolyje esančias konfigūravimo parinktis, tiek apie kompiuterį (galutinę aparatinę įrangą), kuriame jis bus vykdomas.

Galimos branduolio kategorijos

Galimos branduolio kategorijos

į sukompiliuoti branduolį, pirmiausia turime žinoti, kurį branduolį pasirinkti. Norėdami tai padaryti, turime eiti į oficiali svetainė branduoliųir pasirinkite vieną iš esamų kategorijų. Kurie yra šie:

  • Pagrindinė plėtros linija (pagrindinė linija): Į šią kategoriją įeina tie branduoliai, kurie yra kūrimo stadijoje, todėl juose yra naujų funkcijų ir funkcijų, kurias reikia išbandyti prieš įtraukiant į stabilią versiją. Juos prižiūri ir išleidžia tiesiogiai Linusas Torvaldsas, jie išleidžiami vidutiniškai kas 2–3 mėnesius.
  • Stabilus: Šiai kategorijai priskiriami tie branduoliai, kurie, išlaikę ilgo kūrimo proceso testus, tampa stabilūs, todėl juos taiso tik paskirtas oficialus prižiūrėtojas. Be to, jie turi tik keletą klaidų pataisymų leidimų, kol bus prieinama kita pagrindinė linija.
  • Ilgas terminas: Į šią kategoriją patenka tie branduoliai, kurie, išlaikę ilgo kūrimo proceso testus, tampa stabilūs, tačiau yra palaikomi klaidų pataisymu ir priežiūra itin ilgą laiką (metus). Priežastis, dėl kurios taikomi svarbūs klaidų pataisymai, kurie gali tapti labai dažni.

Kaip kompiliuoti branduolį GNU/Linux Debian Bullseye Distro?

Kaip kompiliuoti branduolį GNU/Linux Debian Bullseye Distro?

Išsirinkęs vieną specifinė branduolio versija, oficialioje svetainėje ir jau žinodami (nukopijuodami) jūsų atsisiuntimo kelias per tarball mygtukas to paties, belieka atlikti šią procedūrą, kurią parodysime kaip pavyzdį Stabili Linux branduolio versija 6.0.8:

1 stadija

cd /usr/src
wget -c https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.0.8.tar.xz
sudo unxz linux-6.0.8.tar.xz
sudo tar xvf linux-6.0.8.tar
sudo ln -s linux-6.0.8 linux
cd /usr/src/linux
sudo make clean && make mrproper
sudo cp /boot/config-`uname -r`* .config
make menuconfig

Vykdant šią paskutinę komandą paleidžiama "Brandulio konfigūracijos meniu", kur galite konfigūruoti (pritaikyti) parametrus jūsų pageidavimas ar poreikis. Be to, čia būtina nepamiršti, kad tai būtina pažymėkite arba panaikinkite 64 bitų branduolio parinkties žymėjimą, priklausomai nuo to, ko norima ar reikia. Be to, atlikę visus pakeitimus, turite paspauskite mygtuką Išsaugoti Ir tada Išėjimo mygtukas.

Branduolio konfigūracijos meniu

2 stadija

Šiuo metu yra 2 galimi keliai paimti:

Tik branduolio diegimas
sudo make
sudo make modules_install
sudo make install
sudo update-grub; sudo update-grub2; sudo update-initramfs -u
sudo apt clean; sudo apt autoclean; sudo apt autoremove; sudo apt remove; sudo apt purge

Branduolio diegimas ir .deb failų generavimas

Branduolio diegimas ir .deb failų generavimas

Norint atlikti šį veiksmą, svarbu pakviesti paketo diegimą branduolio paketas. Todėl procedūra yra tokia ir prasideda taip:

sudo wget -c http://ftp.us.debian.org/debian/pool/main/k/kernel-package/kernel-package_13.018+nmu1~bpo9+1_all.deb
sudo apt install ./kernel-package_13.018+nmu1~bpo9+1_all.deb
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
cd /usr/src
sudo dpkg -i *.deb

Tuo atveju, kai kompiliavimo proceso metu gausite a klaida, susijusi su branduolio sertifikatais, lieka galimybė atlikti toliau nurodytus veiksmus komandą, kad ją ištaisytų automatiškai:

sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/s/^/#/g' .config

Taip, viskas baigėsi gerai, belieka iš naujo paleisti kompiuterį ir išbandyti, kaip mūsų operacinė sistema veikia su nauju branduoliu. Kaip jis parodytas prieš ir po, šiose ekrano kopijose:

Prieš įdiegiant branduolį

Prieš diegiant

Po branduolio įdiegimo

Po įdiegimo

Susijęs straipsnis:
Greitos branduolio antraštės – pataisų rinkinys, pagreitinantis branduolio kompiliavimą 50–80 %
Susijęs straipsnis:
Kerla: naujas branduolys, parašytas Rust ir suderinamas su Linux ABI

Apibendrinimas: reklamjuostės įrašas 2021 m

Santrauka

Apibendrinant, tikimės, kad ši pamoka bus labai naudinga tiek Pažengę vartotojai kaip Distros arba Respins kūrėjai. kurie paprastai reikalauja „sukompiliuoti branduolį“ konkrečiai šiuo metu įdiegtoje GNU/Linux operacinėje sistemoje arba toje, kuri generuojama nuo nulio, kad būtų galima įtraukti geresnis konkrečios aparatinės įrangos našumas ir optimizavimas. Dažniausiai, turint tikslą pasiekti, a mažesnės procesoriaus ir RAM sąnaudos.

Nors, jei kas nors ką nors žino kitas naudingas būdas atlikti minėtą procedūrą arba žinoti bet kurį pasiūlymas, rekomendacija ar pataisymas apie tai, kas čia pateikta, kviečiame tai padaryti komentaruose. Ir taip, šis leidinys jums tiesiog patiko, nenustokite jo komentuoti ir dalytis su kitais. Taip pat nepamirškite apsilankyti pas mus «pagrindinis puslapis» ištirti daugiau naujienų ir prisijungti prie mūsų oficialaus kanalo Telegrama iš „DesdeLinux“, Vakarai grupė Norėdami gauti daugiau informacijos šios dienos tema.


Straipsnio turinys atitinka mūsų principus redakcijos etika. Norėdami pranešti apie klaidą, spustelėkite čia.

Būkite pirmas, kuris pakomentuos

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.