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.
Ir prieš pradėdami skaityti šį įrašą apie „sukompiliuoti branduolį“ „Linux“ Apskritai paliksime keletą nuorodų į ankstesni susiję pranešimai vėlesniam skaitymui:
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
„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
į 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?
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.
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
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į
Po branduolio įdiegimo
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.