A mi előző bejegyzéshívott „A Linux kernel: Kernel alapjai” megszólítunk néhányat lényeges elméleti alapok Át a Operációs rendszer kernelek, általában; és a Linux kernel, konkrét.
És ahogy ebben kifejeztük, ebben befejezzük mondjuk lényeges elméleti alapok másokkal fontos fogalmak és információk, amellett, hogy bemutatja a jelenlegi eljárást elérni "fordíts le egy Linux kernelt" a semmiből, a Debian GNU/Linux 11 (Bullseye) terjesztés vagy az alapján.
És mielőtt elkezdené olvasni ezt a bejegyzést arról "kernelt fordítani" Linux általában hagyunk néhány hivatkozást a címre előző kapcsolódó bejegyzések későbbi olvasásra:
Kernel készítése: Építési oktatóanyag
Mit jelent programot fordítani?
Alapvetően ezt technikai folyamat (más néven csomagolás) elérésében áll program forráskódjának konvertálása vagy a szoftver egy része, annak forrásától (önmagának írására használt programozási nyelv) a olvasható termék (magas szintű programozási nyelv értelmezhető) számítógéppel.
Vagyis elérni átalakítani a forráskódból amíg nem lesz a végrehajtható és funkcionális program, segítségével a processzor (fordító szoftver) a használt programozási nyelv átalakítására bináris és assembler típusú kódra.
És ha arról van szó fejleszteni és összeállítani bármilyen csomag, alkalmazás és program, alap és natív, mint a kernelek tovább Debian GNU / Linux, a következő csomagok alkalmasak és szükségesek egy áru megszerzéséhez fejlesztési támogatási bázis, és ezek a következők:
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
A Linux kernel nulláról történő fordításának előnyei és hátrányai
Ha egy adott számítógéphez egyedi kernelt fordítunk és konfigurálunk a semmiből, akkor a következő előnyökhöz juthatunk:
- Érjen el jobb teljesítményt és alacsonyabb CPU-fogyasztást.
- Jobb optimalizálást és alacsonyabb RAM-memóriafogyasztást érhet el.
- Javítsa az operációs rendszer alkalmazkodóképességét és kompatibilitását.
- Növelje az operációs rendszer hatékonyságát és termelékenységét.
Ellenkezőleg, a következő hátrányokat generálhatjuk:
- Működési és rendelkezésre állási hibák a rossz konfigurációk és a fordítás során fellépő problémák miatt a használt számítógépen a kívánt erőforrásokról és szolgáltatásokról.
- Állandó, hosszú és fárasztó munka kezdetben ennek előállítása, majd később, hogy manuálisan frissítse. Ez a használt hardvertől függően percektől órákig terjedhet.
- Hosszú órákig tartó tanulás és tesztek, mivel magas szintű ismeretekre van szükség mind a kernelben elérhető konfigurációs lehetőségekről, mind a számítógépről (végső hardverről), ahol az végrehajtásra kerül.
Elérhető kernelkategóriák
hogy kernelt fordítani, az első dolog, amit tudnunk kell, hogy melyik kernelt válasszunk. Ehhez el kell mennünk a hivatalos honlapja a magok közül, és válasszon egyet a meglévő kategóriák közül. Melyek a következők:
- Fő fejlesztési vonal (Mainline): Ebbe a kategóriába tartoznak a fejlesztési szakaszban lévő kernelek, ezért új szolgáltatásokat és funkciókat tartalmaznak, amelyeket tesztelni kell, mielőtt stabil verzióba kerülhetnek. Ezeket közvetlenül Linus Torvalds karbantartja és adja ki, és átlagosan 2-3 havonta adják ki őket.
- Stabil: Ebbe a kategóriába azok a Kernelek tartoznak, amelyek a hosszú fejlesztési folyamat tesztjein átesve stabilizálódnak, így csak a kijelölt hivatalos karbantartón keresztül kerülnek javításra. Ezenkívül csak néhány hibajavító kiadásuk van, amíg a következő Mainline elérhető lesz.
- Hosszútávú: Ebbe a kategóriába azok a Kernelek tartoznak, amelyek a hosszú fejlesztési folyamat tesztjein átesve stabilizálódnak, de rendkívül hosszú ideig (évekig) hibajavításokkal és karbantartással támogatják őket. Ennek oka, hogy fontos hibajavításokat alkalmaznak, amelyek nagyon gyakoriak lehetnek.
Hogyan fordítsunk kernelt GNU/Linux Debian Bullseye Distro-ban?
Miután kiválasztott egyet adott kernelverzió, a hivatalos weboldalon, és már ismeri (másolja) az Ön letöltési útvonal keresztül tarball gomb ugyanebből már csak a következő eljárást kell végrehajtani, amelyet példaként mutatunk be, a Stabil Linux kernel 6.0.8 verzió:
1 szakasz
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
Az utolsó parancs futtatása elindítja a "Kernel konfigurációs menü", ahol tudsz paraméterek konfigurálása (testreszabása). preferenciája vagy igénye szerint. Ezen kívül itt elengedhetetlen, hogy ne felejtsük el, hogy szükséges jelölje be vagy törölje a jelölést a 64 bites kernel opciónál, attól függően, hogy mi a kívánt vagy szükséges. És azt is meg kell tennie, miután végrehajtotta az összes változtatást nyomja meg a Mentés gombot majd a Kilépés gomb.
2 szakasz
Ezen a ponton vannak 2 lehetséges út elvenni:
Csak kernel telepítése
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
Kernel telepítése és .deb fájlok generálása
Ennek a lépésnek a végrehajtásához fontos a csomag telepítésének meghívása kernel-csomag. Ezért az eljárás a következő, és a következőképpen kezdődik:
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
Abban az esetben, ha az összeállítási folyamat során megkapja a kerneltanúsítványokkal kapcsolatos hiba, továbbra is lehetőség marad a következők végrehajtására parancssor az automatikus javításhoz:
sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/s/^/#/g' .config
Igen, minden jól végződött, már csak újra kell indítani a számítógépet, és tesztelni, hogyan fut az operációs rendszerünk az új Kernellel. Ahogy előtte és utána is látható, a következő képernyőképeken:
Kernel telepítése előtt
Kernel telepítése után
Összegzés
Röviden, reméljük, hogy ez az oktatóanyag nagyon hasznos lesz mindkettő számára Haladó felhasználók mint a Distros vagy Respins fejlesztők. amelyek általában megkövetelik "kernelt fordítani" egy jelenleg telepített GNU/Linux operációs rendszerre vagy egy olyan operációs rendszerre vonatkozik, amelyet a semmiből generálnak, hogy beépítsenek egy jobb teljesítmény és optimalizálás bizonyos hardvereken. Főleg az elérése érdekében, a alacsonyabb CPU és RAM fogyasztás.
Bár ha valaki tud ilyet másik hasznos módja az említett eljárás végrehajtásának, ill tudni bármelyiket javaslat, ajánlás vagy helyesbítés az itt leírtakhoz, szívesen megteheti ezt a megjegyzésekben. És igen, egyszerűen tetszett ez a kiadvány, ne hagyd abba, hogy kommentáld és oszd meg másokkal. Ne felejtse el ellátogatni hozzánk «honlap» további hírek felfedezéséhez, valamint csatlakozáshoz a Távirata DesdeLinux, Nyugat csoport további információkért a mai témában.