Kernel installálása

Arch Linux
Arch Linux

Kernel? Mindenki ismeri a fogalmat, és akinek mélyebb ismeret kell az interneten sok jó leírást is talál. Bár nem kifejezetten a kernel működésével szeretnék foglalkozni, hanem annak a gyakorlati hasznaival, de egy fontos dolgot érdemes leszögezni: a kernel a Linux disztribúciók legfontosabb része. Ő végzi el azokat a feladatokat amelyeket háttérből irányít és közvetíti a parancsokat, a utasításokat a gépünknek, a hardvereknek. Az egyik legfontosabb eszközünk, amivel gyakorlatilag nekünk, mint átlagos Linux felhasználónak semmi feladatunk nincs. Egyértelmű, hogy minden Linux rendszerben van kernel, aminek a verzió számát uname -r paranccsal tudjuk megkeresni és kiíratni. Jelenleg nálam ezt a választ adja a parancs: 5.5.6-xanmod4-1-xanmod. Azaz én ezt a kernelt használom ArcoLinux alatt. Arch Linux alatt jellemzően mindig a legújabb, legfrissebb stabil verziójú kernelt használjuk, ezt automatikusan frissíti a rendszerünk, ha másképp nem állítottuk be. Ami számunkra adja azt kellemes lehetőséget, hogy mindig a lehető legfrissebb, legjobb stabil lehetőségekkel rendelkező eszközt tudjuk használni. Ezenkívül ArcoLinux alatt LTS, azaz hosszan támogatott kernel telepítésére is van lehetőség. Az előbbi lehetőség adja a legfrissebb, azaz esetleg kisebb hibákat is tartalmazó kernelt. A másodiknál egy régebbi, de azóta rengetegszer tesztelt, majdnem minden hibáját javított kernelt fogjuk megkapni. Mindenki el tudja dönteni, hogy számára melyik a fontosabb. Én alapesetben az alapértelmezett kernelt, a legfrissebb stabil ágú kernelt használom használom.

Miért érdemes a kernelekkel foglalkozni?

Ha ennyire egyszerű a kernel használata, hiszen a rendszer automatikusan frissíti, ellát bennünket a lehető legújabb stabil, vagy esetleg hosszabban támogatott, és még stabilabbnak gondolt kernellel, akkor minek ezzel foglalkozni? Én az utóbbi időben pár egyéb kernelt típust, variációt kipróbáltam.

Miért? Mert olvastam arról, hogy ez vagy az a variáció jobb egy-egy területen. Így már levonhatjuk azt a következtetést is, hogy bizonyos kernelek, azaz előre »legyártott« kernelek más-más funkciót, több, vagy kevesebb  beállítást tartalmaznak. Hiszen vannak olyan kernelek, amik kifejezetten az AMD processzorhoz készültek, így ebből jellemzően kihagyják azokat a modulokat, részeket amik igazából nem ennek a gyártónak processzorát támogatják. Beleteszik pluszban esetleg azokat az új, vagy a fő kernelbe bele nem kerülő eszközöket, melyek erre a processzortípusra optimalizáltak. Így kisebb, gyorsabb, esetleg jobban működő kernelt kapunk.

A kernelek közti váltás csodafegyver?

Azt már most le kell szögeznem: ha az alapértelmezett kernelt használjuk, vagy az LTS-t használjuk, majd áttérünk egy másikra, csodákat nem szabad várni tőle! Nehogy azt higgyük, hogy keresünk egy másik kernel típust, összeállítást, amit esetleg az AUR tárolóink is tartalmaznak, és feltelepítjük, utána csoda történik, és dupla gyorsasággal fog működni a rendszerünk. Én négy-öt kernel verziót – ami bent van az AUR-ban, így egyszerűen lehet telepíteni – kipróbáltam. Jellemzően mindegyik ugyanazt a mért a teljesítményt adta le Blender teszt alatt. Én ezzel szoktam megnézni a gyorsaságát a gépnek. Ez elég hosszú teszt, így nem zavar be egy-egy rövidebb munkafolyamat, amit elindít automatikusan háttérben a gép, mert be lett időzítve. És jó képet ad arról, hogy milyen gyorsan renderel le féltucat képet a Blender. Azt tapasztaltam, hogy jellemzően órás szinten 5-10-15 másodperces eltérések vannak a teljesítmény közt. Hát ez nem az, ami miatt mindenképp érdemes kernellel foglalkozni! Csodákra ne számíts!

De – és itt van egy nagyon erős DE – ha jól megválasztod azt a kernel típust, ami számodra a gépedhez, a munkádhoz kényelmesebb, jobb akkor egy olyan érzésed lesz, hogy stabilabban, kellemesebben, hatékonyabban és jobban dolgozik alád a gép. Ez egy szubjektív dolog, méréssel nem tudom alátámasztani, de a kipróbált kernel típusok között a alapértelmezett, amit az ArcoLinux ad, és az egyéb kerneltípusok között számomra a bemutatott, aminek a nevet az előbb láttátok adta a legkényelmesebb, leggyorsabbnak érzetet, munkát. Gyorsabban jelennek meg az ablakok, legalábbis úgy érzem, kényelmesebben lehet dolgozni vele. Előbb felbootol a gép stb.. Számomra megérte váltani kernel típust!

Mi az ami bennünket motivál, hogy kernelekkel foglalkozzunk?

Már itt leszögezném, hogy a kernel fordításával, azaz a professzionális beállításával, saját gépünkhöz igazításával nem fogok foglalkozni. Csak azzal a módszerrel, ami szerint érdemes egy kész, előre konfigurált kernelt letölteni, és installálni a gépünkre. Ez a letöltés, és annak a fordítása – hiszen általában ezeket forráskódban kapjuk, és a gépen készíti el a program – lassú és hosszadalmas. Ezért érdemes mindenképp azokat a beállítások megtenni, amit ebben a cikkben említettem!

Kiemeltem, hogy stabil ágú stabil verziójú kernelt kapunk alapértelmezetten. Ami azt jelenti, hogy mindig van egy fejlesztői kernel verzió is. Jelen pillanat 5.6-os, ami éppen “készül”. Ennek vannak különböző kiadásai (RC1, RC2 stb.), folyamatosan, körülbelül hetente jön ki az új verzió. Ezeket is ki lehet próbálni! A kipróbálásukra az adja az indíttatás, hogy olyan funkciót, támogatott hardverek kerültek bele, amiket a mi kernelünk még nem tudja. Érdemes kipróbálni, illetve felinstallálni a legfrissebb, tesztelésre kiadott kernelt,  ha új, viszonylag új hardvered van, és csak ez az új fejlesztés támogatja azt az eszközt. Mint az “új” Rayzenek, amik már lassan egy évesek lesznek, de csak most kerül be a hőfok mérés a kernelbe… Ennek az ellenkezője is igaz: előfordulhat, hogy az ötös kernel sorozatban már nincsenek meg azok a meghajtók, eszközkezelő forráskódok, melyek régebbi hardveredhez szükségesek lennének. Ez ritkán fordul elő, és nem biztos, hogy találkozol ezzel, de érdemes tudni: ha egy nagyon régi gépre teszel fel egy Linuxot előfordulhat, hogy alapértelmezett kernel túl új lesz számodra és vissza kell térni egy régebbi kernelhez.

Hogyan telepíthetünk egy másik kernelt Arcolinux alatt?

Ez alapesetben nem túl bonyolult! Nem kell megijedni! Nem fogunk különösebb forrásokat fordítani, kilométer hosszú parancsokat, és beállításokat kódolni, kézzel beállítani a kernelt, úgy, hogy nekünk megfelelő legyen! Mindent rá fogom bírni az Archlinux rendszerünkre!

A Linux rendszer kezelni tud több kernelt is, a gép indulásakor lehet majd kiválasztani a kívánt kernelt, amikor indulni kezd a betöltés. Ha nem látod alapból a kerneleket felsorolva, akkor a le nyilacskát megnyomva a haladó beállításhoz kell menni, majd enter, és máris ott lesz az összes. Abból választhatod ki azt, amit indítani akarsz.

Bár a leírt lépések egyszerűek, és kicsi az esély annak, hogy tönkreteszed a rendszeredet, de mindennek olvass utána. Nagyon sok kernel típus, verzió létezik, mielőtt nagy lelkesen egyet felraknál olvasd el a leírását, és olvass utána miben más, mint az alap. Értelemszerűen járj el, ha az van odaírva, hogy az nem a Te architektúrádra jó, vagy éppen AMD a vége, és neked meg Intel procid van, akkor…

Ha valami balul sül el, általában akkor sincs túl nagy gond. Nem indul el a felrakott új, kernellel a gép? Újraindítod, majd a régit kiválasztod,  amivel eddig működött. Bár szerintem senkinek nem jut eszébe, de leírom: nem töröljük ki az alap kernelt, amivel eddig dolgoztunk! Még akkor se, ha teljesen biztosak vagyunk abban, hogy az új az 101%-osan működni fog! Legyen egy „biztosan jó” kernel, amihez vissza tudsz térni! De jobb, ha legalább kettő van. Igen, még akkor is érdemes két kernelt felrakni, ha az alappal – vagy az általad használttal – elégedett vagy. Egy frissítés után lehetnek gondok a kernellel is, így ha nincs tartalékod, akkor kapkodni fogsz. Még egy középhaladó Linuxos sem fogja tudni kapásból rendbe hozni a gépet, ha a kernel nem jó!

Hogyan telepítsünk egy kernelt ArchLinux alá?

A legegyszerűbb, ha a Szoftver telepítés/eltávolítása, azaz pamac-manager programot használjuk, a keresőbe beírjuk, hogy linux-. Igen, a végén ott legyen a -! Ez nem csak a kerneleket listázza, így lesznek olyanok amire nem leszünk kíváncsiak. Majd kiválasztjuk azt, amit telepíteni akarunk. Ez elvégzi a megfelelő fordítást, installálást, és beállítást. Nagy előnye, hogy a névre kattintva az adatlapot is megnézhetjük. Így az esetleges megjegyzéseket, hibákat stb. rögvest látjuk. Bár a legtöbb esetben ez elegendő is lehetne, de én azt javaslom, hogy mindig keress rá az interneten is a témára: ha azt látod, hogy Linux-zen kernel, akkor érdemes rákeresni, ha azt, hogy xanmod, akkor arra. Sok esetben multimédiás feldolgozáshoz is van speciális kernel, amivel sokkal jobb lesz a munka!

Bár a fenti megoldás nagyon jó, én jellemzően parancssorból telepítek kernelt, és ha van rá módom, mást is.

Nézzük is meg, hogyan lehet gyorsan feltelepíteni a legújabb tesztágú kernelt:

yay -S linux-mainline

Sima telepítés az AUR-ból, pár kérdést feltesz, semmi különleges. Ha több hasonló név is van, akkor ki kell választani azt, amit akarsz. Itt nincs ilyen, de egyéb kernelnél lehetnek. Ha a aláíró kulcsokra kérdez rá, hogy frissítse, importálja őket, akkor engedélyezd. Majd elindul a letöltés, illetve a fordítás, azaz a kernel elkészítése a forrásból. Ez elég hosszadalmas, szép sorban elkészíti a modulokat stb. Ha lefutott, és nem ír ki hibát, akkor léphetünk tovább.

Érdemes indítani egy másik terminálból htop-ot, ha nem pörög az összes processzormag 90-100%-on, akkor rosszul van beállítva a csomagkezelőd. Az elején ajánlott beállításokat tedd meg. Sokkal gyorsabb lesz, az amúgy hosszadalmas művelet legközelebb.

Miután lefutott a fordítás, bekéri a jelszavadat, és telepíti a kernelt. Ha olyan kernelt fordítasz, amihez nem fogsz tudni a későbbiekben hozzáférni, mert pld. a linux-mainline, amit most feltettem, az a 5.6.0-rc3-1-mainline jelenleg, de egy hét múlva már a következő RC lesz ezen a néven, akkor érdemes a lefordított kernelt lementeni. A kész kernel pakkok a ~ / .cache / yay / linux-mainline alatt lesznek. Értelemszerűen a fordított kernelnek megfelelő néven keresd.

  • linux-mainline-5.6rc3-1-x86_64.pkg.tar.xz
  • linux-mainline-docs-5.6rc3-1-x86_64.pkg.tar.xz
  • linux-mainline-headers-5.6rc3-1-x86_64.pkg.tar.xz

Ezeket másold át valahova, és akkor megmaradnak. Ha kellenek később, megtaláld. Egy ilyen teszt ágúnál ennek nincs nagy értelme, de ha esetleg egy speciálisabbat teszel fel, és az adott verzió nagyon jó lett, akkor azt már érdemes elrakni. Ha véletlenül az újabb verziója rosszabb lesz, vagy esetleg meg is szűnik a fejlesztése, vagy kikerül az AUR-ból… Igen, paranoid vagyok! Tudom…

Kész a kernel, most már csak az indítási mechanizmusba kell berakni. Ezt a

update-grub

paranccsal teheted meg. Ezután újraindítod a gépet, majd az indításkor kiválasztod a megfelelő, jelenleg a mainline kernelt. Miután megtettem, örömmel láttam, hogy már a Ryzen procinak több adatát is kijelzi, az ígért fejlesztés bele is került.

Mi lehet a hátránya?

Az alap kernelhez, illetve az LTS kernelhez általában elkészülnek, és velük jól együttműködnek a független modulok. Ilyen modult már telepítettünk, amikor a Ryzen hőfokot az eredeti modul nem mutatta jól. De ilyen problémával találkozhatunk, ha egy speciális, vagy tesztágú kernelt rakunk fel, és a virtualbox azzal nem fog együttműködni, mert ahhoz nem passzol. Teszt, fejlesztői kernelekkel ez előfordulhat, így nem lepődünk meg, ha valami nem úgy megy, mint eddig. Vagy utána olvasunk, hogy az adott kernellel hogyan kell használni az adott extra modult, vagy várunk, hogy elkészüljön az a programverzió, ami ezt a kernelt is támogatja. Ez a felhasználók kis részét érinti, maximum a virtualbox-os együtt nem működést észlelhetik, hiszen nem egy megszokott dolog a kernelben meg nem lévő modulok használata.

Ha pedig nem kell már az adott kernel, akkor le kell szedni. Ez sem más, mint bármely egyéb program eltávolítása:

sudo pacman -R linux-mainline

update-grub

Ne feledjük el a update-grub lefuttatását, hogy kivegye a listából.

Ennyi! Valóban egyszerű egy különlegesebb, másabb, újabb kernel felrakása ArcoLinux alá.

2020. február, Arcolinux… ezen ment a tesztelés.

Related Posts