Kernel (Magyar)

Fordítás állapota:
Ez az oldal az angol
Kernel
című oldal magyar nyelvre lefordított változata. Utolsó fordítás dátuma: 2026.04.06. Amennyiben a lefordítás időpontja óta az angol nyelvű oldalon történtek újabb
módosítások
, akkor Ön segíthet hozzászinkronizálni az angolhoz ezt a magyar nyelvű fordítást.
További oldalak az adott témakörben
/Arch build system (Magyar)
/Traditional compilation (Magyar)
Compile kernel module (Magyar)
Kernel modules (Magyar)
kernel-install (Magyar)
sysctl (Magyar)
A Wikipédia szerint:
A
Linux kernel
(nevezik még Linux rendszermagnak) egy nyílt forráskódú, monolitikus felépítésű, Unix-szerű számítógépes
kernel
Unix-szerű operációsrendszerek számára.
Az
Arch Linux
operációs rendszer a Linux kernelre épül rá. Az Arch Linux operációs rendszerhez a legfrissebb stabil kernel mellett különféle alternatív Linux kernelek is elérhetők. Ez a cikk felsorolja a szoftvercsomag-tárolókban elérhető lehetőségeket, és mindegyik lehetőségről rövid leírást ad. Továbbá, a cikk ismertetővel szolgál az operációs rendszer kernelére alkalmazható javításokról. A cikk végül áttekintést nyújt az egyedi kernelfordításról, különféle módszerekhez vezető hivatkozásokkal.
A számítógépen a kernelszoftvercsomagok a
/usr/lib/modules/
útvonal alá kerülnek
feltelepítésre
, majd ezt követően a binárisan futtatható
vmlinuz
képfájl átmásolásra kerül a
/boot/
könyvtárba.
[1]
Amikor Ön másik kernelt telepít fel a számítógépre, vagy több kernel között választ, akkor Önnek be kell állítani a
boot loader
programot is oly módon, hogy az tükrözze a változtatásokat. A kernel régebbi verziójára történő visszaállításával kapcsolatban tekintse meg a
Downgrading packages#Kernel visszaállítása a régebbi verzióra
című leírást.
Hivatalosan támogatott kernelek
A hivatalosan támogatott kernelekhez közösségi támogatás érhető el a
fórumban
és a
hibabejelentési útmutatóban
.
Stable
— Upstream (azaz a hivatalos Linux közösség által kiadott) kernel. Mondják még "vanilla" kernelnek is angolul (alapíz mint a vanília) az ízek közül. Tehát ez az alapkernel, amely mindenféle gyártói vagy disztribúció-specifikus módosítás nélkül létezik. Továbbá, kernelmodulokat tartalmaz, amelyek néhány javításotokkal vannak ellátva.
https://www.kernel.org/
||
linux
Hardened
— Egy olyan Linux kernel amely a maximális biztonságot helyezi az abszolút középpontba. Nagyon sok, a biztonságot megerősítő  (hardening) szoftveres javítást alkalmaz a kernelexploitok (kernelsebezhetőségek kihasználásának) és a felhasználói térben lévő exploitok (user space sebezhetőségek kihasználásának) mérséklése érdekében. Emellett, a
linux
szoftvercsomagtól több upstream kernelmegerősítési funkciót is engedélyez.
https://github.com/anthraxx/linux-hardened
||
linux-hardened
Longterm
— Hosszútávúan támogatott (Long-term support, LTS) Linux kernel és kernelmodulok. Ez a szoftvercsomag hasznos amikor Ön olyan külső kernelmodulokat használ, amelyek időben nem frissülnek olyan verziókra, amelyek kompatibilisek lennének a legújabb stabil kernellel.
https://www.kernel.org/
||
linux-lts
Realtime kernel
— Ezt a kernelt egy kicsi kernelfejlesztői csoport tartja karban
Molnár Ingo
vezetésével. Ez a patch lehetővé teszi, hogy szinte az egész kernel előre megszakítható legyen, kivéve néhány nagyon kicsi kódrészletet („raw_spinlock kritikus régiók”). Ez úgy valósul meg, hogy a legtöbb kernelspinlockot olyan mutexekkel helyettesítik, amelyek támogatják a prioritásöröklést, valamint az összes megszakítást és szoftveres megszakítást kernelszálakba helyezik át.
https://wiki.linuxfoundation.org/realtime/start
||
linux-rt
,
linux-rt-lts
Megjegyzés
A valósidejű kerneltámogatás bekerült a
Linux 6.12
verzióba.
Zen Kernel
— A kernelhackerek közös munkájának eredménye, amelynek célja a lehető legjobb Linux kernel biztosítása a mindennapi rendszerek számára. További részletekért tekintse meg a
GYIK
és a
Részletes funkciólista
oldalakat.
https://github.com/zen-kernel/zen-kernel
||
linux-zen
Kernel forráskódjának lefordítása binárisan futtatható kódra
Ön a következő módszereket tudja használni annak érdekében, hogy Önmagának saját kernelt állítson össze:
/Arch Build System
Ez a módszer kihasználja a már meglévő
linux
szoftvercsomag
PKGBUILD
magas minőségét és kihasználja a
szoftvercsomag-kezelés
előnyeit.
/Traditional compilation
Ez a módszer magába foglalja egy forráskódot tartalmazó tarball fájl (tehát egy forráskódot tartalmazó archívumfájl) manuális úton történő letöltését. Továbbá, magába foglalja a letöltött forráskód lefordítását normál felhasználóként az Ön saját könyvtárában.
Figyelmeztetés
Egyedi kernelek használata mindenféle stabilitási és megbízhatósági problémát okozhat, beleértve az adatvesztést is. Erősen ajánlott a
biztonsági mentések
elkészítése, és értelemszerűen azok megléte.
Az Arch Linux hivatalosan egyedül a
#Hivatalosan támogatott kerneleket
támogatja. Másik kernel használata esetén kérjük Önt, hogy a használt kernelt említse meg a támogatási kérelmeknél.
Tipp
A rendszer sebességének megnövelésére az a legjobb mód, hogy Ön először az architektúrához és a processzortípushoz igazítja hozzá a kernel beállítását.
Ön csökkentheti a kernel méretét (és egyben csökkentheti a kódfordítási időt is) azáltal, hogy a kernelbe Ön nem helyez bele olyan dolgok támogatását, amely dogokkal Ön nem is rendelkezik vagy egyáltalán nem is szokott használni. Például az Ön esetében lehet, hogy olyan dolgokhoz, mint például a Bluetooth, video4linux, 1000Mbit Ethernet stb, felesleges lehet a támogatás kernelbe történő bevétele.
Az Arch kernelszoftvercsomagok
config
fájljai az Arch szoftvercsomag forrásfájljaiban találhatók (például
[2]
, amely a
linux
szoftvercsomagból van belinkelve). Az éppen futó kernel
config
fájlja szintén elérhető lehet a fájlrendszerben a
/proc/config.gz
elérési útvonalon, amennyiben a
CONFIG_IKCONFIG_PROC
kernelopció engedélyezve van.
Néhány felsorolt szoftvercsomag binárisan futtatható kódot tartalmazó szoftvercsomag formájában is elérhető lehet a
Nem hivatalos felhasználói szoftvercsomag-tárolókon
keresztül.
kernel.org kernelek
Git
— Linux kernel és kernelmodulok, amelyek Linus Torvalds Git szoftverkódtárolójában megtalálható forráskódjaiból készültek el.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
||
linux-git
AUR
Mainline
— Olyan kernelek, amelyekben minden új funkció bevezetésre kerül. Kb. 2–3 havonta van kiadva.
https://www.kernel.org/
||
linux-mainline
AUR
Next
— Legújabb (úgymond "Bleeding edge") kernelek, amelyek olyan funkciókat tartalmaznak, amely funkciók a következő fő kernelkiadásba történő beolvasztásra várakoznak.
https://www.kernel.org/doc/man-pages/linux-next.html
||
linux-next-git
AUR
DRM
— Linux kernel, a legújabb (úgymond "Bleeding edge") GPU illesztőprogramokkal.
https://gitlab.freedesktop.org/drm
||
linux-drm-tip-git
AUR
,
linux-drm-next-git
AUR
Longterm
— Hosszútávú támogatással (Long Term Support, LTS) rendelkező Linux kernel és kernelmodulok.
https://www.kernel.org/
||
linux-lts612
AUR
,
linux-lts66
AUR
,
linux-lts61
AUR
,
linux-lts515
AUR
,
linux-lts510
AUR
Nem hivatalos kernelek
linux-cachyos
— A Linux SCHED-EXT + BORE + "Cachy sauce" kernel, további kernel és kernelmodul javításokkal és fejlesztésekkel.
https://github.com/CachyOS/linux-cachyos
||
linux-cachyos
AUR
Libre
— Olyan kernel amely szándékosan nem tartalmazza a
szabadalom alatt álló
illesztőprogramokat. Nem tartalmazza az olyan illesztőprogramokat sem amelyek forráskódjai szándékosan
zavarosak
, hogy azokat ne tudják emberek könnyen elolvasni, tanulmányozni és értelmezni. Értsd: Ebbe a kernelbe a nyugati, végtelenül haszonelvű, álszent/jóemberkedő, de valójában kapitalista disznók kódjai egyáltalán nem kerülnek bele.
https://www.fsfla.org/ikiwiki/selibre/linux-libre/
||
linux-libre
AUR
Liquorix
— Debianra megcélzott beállítással és a Zen kernel forrásaival felépített kernelcsere. Asztali, multimédiás és játékterhelésekhez készült, gyakran használják Debian Linux teljesítményfókuszú helyettesítőkernelként. Damentz, a Liquorix patchkészlet karbantartója, aki a Zen patch-készlet fejlesztője is egyben.
https://liquorix.net
||
linux-lqx
AUR
pf-kernel
— Néhány nagyszerű funkciót biztosít, amelyek nem kerültek be a Linux kernelfejlesztésének főágába. Egy kernelmérnök tartja karban. Ha az új kernelekhez tartozó patch hivatalosan nem került kiadásra, akkor a patchkészlet biztosítja és támogatja a patch portokat az új kernelekhez. A linux-pf jelenlegi legjelentősebb patchjei az UKSM, DDCCI, v4l2loopback és BBRv3.
https://pfkernel.natalenko.name
|| Szoftvercsomagok:
Szoftvercsomag-tároló
,
linux-pf
AUR
szoftvercsomag a
post-factum
felhasználónevet viselő pf-kernelfejlesztő által.
Project C
— Kernel Alfred Chen Project C patchkészlettel (BMQ és PDS ütemezők).
https://gitlab.com/alfredchen/projectc
||
linux-prjc
AUR
Nitrous
— Módosított Linux kernel, Skylake és újabb processzorokra optimalizálva.
https://gitlab.com/xdevs23/linux-nitrous
||
linux-nitrous
AUR
Tachyon
— Patchek az Intel Clear Linux projektből, amelyet egy új projektbe vittek át, mivel a Clear Linux projekt fejlesztése abbamaradt. Teljesítmény- és biztonsági optimalizálásokat biztosít.
https://git.staropensource.de/StarOpenSource/Linux-Tachyon
||
linux-tachyon
AUR
tkg
— Nagyon testre szabható kernel build rendszer, amely patchek és finomhangolások válogatását kínálja a jobb asztali és játékteljesítmény érdekében. Etienne Juvigny tartja karban. Többek között különféle CPU ütemezőket kínál: CFS, Project C PDS, Project C BMQ, MuQSS és CacULE.
https://github.com/Frogging-Family/linux-tkg
|| Elérhető a
chaotic-aur
nem hivatalos szoftvercsomag tárolóban.
VFIO
— Linux kernel és néhány patch, amelyet Alex Williamson írt (acs override és i915), hogy lehetővé tegye a PCI Passthrough használatát KVM-mel bizonyos gépeken.
https://lwn.net/Articles/499240/
||
linux-vfio
AUR
,
linux-vfio-lts
AUR
XanMod
— Olyan Linux kernel, amelyet kifejezetten nagy teljesítményű munkaállomások, játékra szánt asztali gépek, médiaközpontok és más rendszerek teljes kihasználására terveztek. Célja, hogy stabilabb, reszponzívabb és gördülékenyebb asztali élményt nyújtson. Ez a kernel a BFQ I/O ütemezőt, a
TCP BBRv3
torlódásvezérlést, fejlett x86_64 utasításkészlet-támogatást, részleges Clear Linux patchkészletet és más alapértelmezett módosításokat használ.
https://xanmod.org/
||
linux-xanmod
AUR
,
linux-xanmod-lts
AUR
,
linux-xanmod-rt
AUR
,
linux-xanmod-bore
AUR
Sok ilyen nem hivatalos kernel olyan funkciókat tartalmaz, amelyeket manuális úton, kézzel kell engedélyezni. Érdemes átnézni a patchek dokumentációját magában a kernelforráskódban (sok már tartalmaz változtatásokat a
Documentation/
könyvtárban). Illetve, érdemes rákeresni a patchkészlet nevére az interneten. Így található meg az, hogy pontosan miként kell bekapcsolni és használni az adott funkciókat, illetve megtalálható az, hogy milyen beállítási lépések szükségesek a teljesítmény vagy kompatibilitás elérése érdekében.
Hibaelhárítás
Kernelpánik
A
kernelpánik
akkor következik be, amikor a Linux kernel olyan hibás állapotba kerül bele amely helyrehozhatatlan. Ez az állapot jellemzően hibás hardverillesztőprogramokból ered, amelyek miatt a számítógép holtpontra kerül, nem reagál, és számítógépújraindításra van szükség. Közvetlenül a holtpont előtt diagnosztikai üzenet keletkezik, amely a következőket tartalmazza:
Számítógép állapota
a hiba bekövetkezésekor, a
függvényhívási nyomvonal
, amely a hibát felismerő kernelfüggvényhez vezet, valamint a jelenleg a memóriába betöltött kernelmodulok listája. Szerencsére nem fordul elő gyakran a kernelpánik a
mainline
kernelverziók használata során (például azoknál a kerneleknél, amelyeket a hivatalos szoftvercsomag-tárolókban vannak benne), de amikor mégis megtörténik a kernelpánik, akkor Önnek tudnia kell azt, hogy miként kezelje.
Megjegyzés
A kernelpánikokat néha
oops
vagy
kernel oops
néven is emlegetik. Bár mind a pánik, mind az oops hibás állapot következménye, az
oops
általánosabb, mivel nem
feltétlenül
eredményez holtpontba került számítógépet: Előfordul, hogy a kernel képes helyreállni egy oops után azáltal, hogy megszünteti a hibát okozó feladatot, és folytatja a működést.
Tipp
A számítógép bootolásakor Ön adja át az
oops=panic
kernelparamétert, vagy írja be az
1
értéket a
/proc/sys/kernel/panic_on_oops
fájlba annak érdekében, hogy egy helyrehozható oops helyett pánikot váltson ki. Ez ajánlott, amikor Ön aggódik amiatt a kis esély miatt, hogy az oops helyreállítás rendszerinstabilitást okozhat, amely megnehezítheti a jövőbeni hibák diagnosztizálását.
Pániküzenet megvizsgálása
Ha a bootolási folyamat során a kernelpánik nagyon korán következik be, akkor a parancssorban megjelenhet egy üzenet, amely a következőt tartalmazza:
Kernel panic - not syncing:
, de amint a
systemd
fut, a kernelüzenetek általában rögzítésre kerülnek és a rendszer naplófájljába beleíródnak. Amikor azonban a kernelpánik bekövetkezik, a kernel által kiadott diagnosztikai üzenet
szinte soha
nem kerül bele az adathordozóra kiírt naplófájlba, mert a számítógép holtpontba kerül, mielőtt a
system-journald
lehetőséget kapna a kiírási munka elvégzésére.
Kék képernyőn megjelenő QR-kód
A 6.10 verziótól kezdve a
linux
szoftvercsomagban található linux kernel alapértelmezés szerint (a
drm_panic
esetén) egy kék képernyőn
QR-kód
formájában jeleníti meg a kernelpánikot. A
stack trace
a QR-kód által megadott URL címen látható. Arch Linux esetén ez a
https://panic.archlinux.org/panic_report
hivatkozásra mutat. Az URL különféle információkat és a gzip segítségével tömörített, majd a
URL fragment
formában kódolt stack trace szöveganyagot tartalmazza, amely nem kerül továbbításra a szerver felé (a kliensoldalon kerül feldolgozásra).
Egy például szolgáló kernelpánik, linkeléssel és képernyőképpel megtekinthető
ebben a fórumbejegyzésben
.
Az előző viselkedésmódhoz való visszatérés érekében Ön adja át a
panic_screen=kmsg
paramétert a
drm
kernelmodulnak (vagy
drm.panic_screen=kmsg
kernel paraméter
formájában) annak érdekében, hogy a stack trace a parancssorban jelenjen meg.
Parancssoros mód
Továbbra is elérhető a "régi" stílusú módja annak, hogy Ön a parancssorban közvetlenül lássa a hibát, amikor a hiba bekövetkezik (anélkül, hogy be kellene állítani a
kdump crashkernel
-t). Indítsa el az operációs rendszert a következő kernelparaméterekkel, majd próbálja meg reprodukálni a kernelpánikot a tty1 parancssorban:
systemd.journald.forward_to_console=1 console=tty1
Tipp
Ha a pániküzenet túl gyorsan eltűnik ahhoz, hogy meg lehessen azt vizsgálni, akkor a bootoláskor Ön próbálja megadni a
pause_on_oops=
másodperc
kernelparamétert.
Például szolgáló forgatókönyv: Rossz kernelmodulfájl
Lehetséges a diagnosztikai üzenetben található információk alapján megbecsülni, hogy melyik alrendszer vagy kernelmodul okozza a kernelpánikot. Ebben az esetben egy képzeletbeli számítógépen a bootolás során következett be a kernelpánik. Figyeljen azokra a sorokra amelyek
félkövér
betűkkel vannak kiemelve:
kernel: BUG: unable to handle kernel NULL pointer dereference at (null)
1
kernel: IP: fw_core_init+0x18/0x1000 [firewire_core]
2
kernel: PGD 718d00067
kernel: P4D 718d00067
kernel: PUD 7b3611067
kernel: PMD 0
kernel:
kernel: Oops: 0002 [#1] PREEMPT SMP
kernel: Modules linked in: firewire_core(+) crc_itu_t cfg80211 rfkill ipt_REJECT nf_reject_ipv4 nf_log_ipv4 nf_log_common xt_LOG nf_conntrack_ipv4 ...
3
kernel: CPU: 6 PID: 1438 Comm: modprobe Tainted: P           O    4.13.3-1-ARCH #1
kernel: Hardware name: Gigabyte Technology Co., Ltd. H97-D3H/H97-D3H-CF, BIOS F5 06/26/2014
kernel: task: ffff9c667abd9e00 task.stack: ffffb53b8db34000
kernel: RIP: 0010:fw_core_init+0x18/0x1000 [firewire_core]
kernel: RSP: 0018:ffffb53b8db37c68 EFLAGS: 00010246
kernel: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
kernel: RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffffc16d3af4
kernel: RBP: ffffb53b8db37c70 R08: 0000000000000000 R09: ffffffffae113e95
kernel: R10: ffffe93edfdb9680 R11: 0000000000000000 R12: ffffffffc16d9000
kernel: R13: ffff9c6729bf8f60 R14: ffffffffc16d5710 R15: ffff9c6736e55840
kernel: FS:  00007f301fc80b80(0000) GS:ffff9c675dd80000(0000) knlGS:0000000000000000
kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kernel: CR2: 0000000000000000 CR3: 00000007c6456000 CR4: 00000000001406e0
kernel: Call Trace:
kernel:  do_one_initcall+0x50/0x190
4
kernel:  ? do_init_module+0x27/0x1f2
kernel:  do_init_module+0x5f/0x1f2
kernel:  load_module+0x23f3/0x2be0
kernel:  SYSC_init_module+0x16b/0x1a0
kernel:  ? SYSC_init_module+0x16b/0x1a0
kernel:  SyS_init_module+0xe/0x10
kernel:  entry_SYSCALL_64_fastpath+0x1a/0xa5
kernel: RIP: 0033:0x7f301f3a2a0a
kernel: RSP: 002b:00007ffcabbd1998 EFLAGS: 00000246 ORIG_RAX: 00000000000000af
kernel: RAX: ffffffffffffffda RBX: 0000000000c85a48 RCX: 00007f301f3a2a0a
kernel: RDX: 000000000041aada RSI: 000000000001a738 RDI: 00007f301e7eb010
kernel: RBP: 0000000000c8a520 R08: 0000000000000001 R09: 0000000000000085
kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000c79208
kernel: R13: 0000000000c8b4d8 R14: 00007f301e7fffff R15: 0000000000000030
kernel: Code: <c7> 04 25 00 00 00 00 01 00 00 00 bb f4 ff ff ff e8 73 43 9c ec 48
kernel: RIP: fw_core_init+0x18/0x1000 [firewire_core] RSP: ffffb53b8db37c68
kernel: CR2: 0000000000000000
kernel: ---[ end trace 71f4306ea1238f17 ]---
kernel: Kernel panic - not syncing: Fatal exception
5
kernel: Kernel Offset: 0x80000000 from 0xffffffff810000000 (relocation range: 0xffffffff800000000-0xfffffffffbffffffff
kernel: ---[ end Kernel panic - not syncing: Fatal exception
Jelzi, hogy milyen típusú hiba okozta a kernelpánikot. Ebben az esetben programozói hiba volt.
Jelzi, hogy a kernelpánik a
fw_core_init
nevű függvényben történt, a
firewire_core
kernelmodulban.
Jelzi, hogy a
firewire_core
volt a legutóbb a számítógép memóriájába betöltött kernelmodul.
Jelzi, hogy a
fw_core_init
függvényt a
do_one_initcall
függvény hívta meg.
Jelzi, hogy ez az
oops
üzenet valójában kernelpánik, és az operációs rendszer most holtpontba került.
Mi tehát arra következtethetünk, hogy a kernelpánik a
firewire_core
kernelmodul inicializálási rutinja során következett be, amikor az betöltődött a számítógép memóriájába. (Feltételezhetjük tehát azt, hogy a számítógép firewire hardvere nem kompatibilis a firewire illesztőprogramot tartalmazó kernelmodul ezen verziójával egy programozói hiba miatt, és új kiadásra kell várni). Addig is a legegyszerűbb módja annak, hogy a számítógép ismét működjön, az, ha megakadályozzuk a kernelmodul betöltését a számítógép memóriájába. Ezt kettőféleképpen tehetjük meg:
Ha a kernelmodul az
initramfs
végrehajtása közben töltődik be a számítógép memóriájába, akkor indítsa újra a rendszert a következő kernelparaméterrel:
rd.blacklist=firewire_core
.
Egyébként indítsa újra a rendszert a következő kernelparaméterrel:
module_blacklist=firewire_core
.
Számítógép újraindítása bele a root shell -be, és ott a probléma kijavítása
This article or section is out of date.
Reason:
rd.rescue
and
rd.emergency
will not work since
the root account in the initramfs is locked
. (Discuss in
Talk:Kernel (Magyar)
)
The factual accuracy of this article or section is disputed.
Reason:
The keyboard does not work in
rd.emergency
so it cannot be used. (Discuss in
Talk:Kernel (Magyar)
)
A rendszer módosítása érdekében Önnek root shell-re lesz szüksége azért, hogy a kernelpánik többé ne forduljon elő. Ha a kernelpánik a bootolás során jelentkezik, akkor többféle módszer létezik a root shell elérésére, mielőtt a számítógép teljesen lefagyna:
Indítsa újra a számítógépet az
emergency
,
rd.emergency
vagy
-b
kernelparaméterrel annak érekében, hogy Ön közvetlenül a root fájlrendszer felcsatolása és a
systemd
elindítása után megkapja a bejelentkezési promptot.
Megjegyzés
Ennél a pontnál a root fájlrendszer
csak olvasható
módban lesz felcsatolva. Ön root felhasználóként hajtsa végre a
mount -o remount,rw /
parancsot a módosítások elvégzése érdekében.
Indítsa újra a számítógépet a
rescue
,
rd.rescue
,
single
,
s
,
S
vagy
1
kernelparaméterrel annak érdekében, hogy Ön közvetlenül a helyi fájlrendszerek felcsatolása után bejelentkezési promptot kaphasson.
Indítsa újra a számítógépet a
systemd.debug_shell
kernelparaméterrel annak érdekében, hogy Ön nagyon korai root shell-t kapjon a tty9 parancssorban. Váltson át rá a
Ctrl+Alt+F9
billentyűkombinációval.
Kísérletezzen különböző kernelparaméterekkel történő újraindítással annak érdekében, hogy esetleg letiltsa azt a kernelfunkciót, amely a kernelpánikot okozza. Próbálja ki a "régi bevált"
acpi=off
és
nolapic
paramétereket.
Tipp
Tekintse meg a
kernel-parameters.html
weboldalt az összes kernelparaméter tanulmányozása érdekében.
Végső megoldás gyanánt indítsa el a számítógépet egy
Arch Linux telepítő adathordozóval
, majd csatolja fel a root fájlrendszert a
/mnt
könyvtárba, és root felhasználóként hajtsa végre a
arch-chroot /mnt
parancsot.
Tiltsa le azt a szolgáltatást vagy programot, amely a kernelpánikot okozza, állítsa vissza a hibás szoftvercsomag-frissítést, vagy javítsa ki a beállításproblémát.
Tipp
Ha az eredeti binárisan futtatható
initial ramdisk
képfájl megsérült, akkor szükség lehet egy új binárisan futtatható initial ramdisk képfájl létrehozására. A megsérülés akkor fordulhat elő, amikor egy kernelfrissítés megszakad. Új binárisan futtatható initial ramdisk képfájl létrehozása érdekében tekintse meg az
mkinitcpio
című leírást.
Hibakeresés regressziók esetén
Tekintse meg a
General troubleshooting#Regressziók hibakeresése
című leírást.
Próbálja ki a
linux-mainline
AUR
szoftvercsomagot annak érdekében, hogy Ön ellenőrizze, vajon a probléma már javítva van-e az upstreamben. A rögzített megjegyzés említ egy szoftvercsomag-tárolót is, amely már forráskódból előre lefordított kerneleket tartalmaz, így lehet, hogy nem szükséges manuálisan lefordítani, ami egyébként időigényes folyamat lehet.
Érdemes lehet megfontolni az LTS kernel (
linux-lts
szoftvercsomag) kipróbálását is azoknak a problémáknak a hibakeresésére, amelyek nem jelentek meg mostanában. Az LTS kernel régebbi verziói megtalálhatók az
Arch Linux Archívumban
.
Ha a probléma továbbra is fennáll, akkor Ön a
bisect
módszerrel vizsgálja meg a
linux-git
AUR
szoftvercsomagban megtalálható kernelt, és jelentse a hibát a kernelfolyamatnak megfelelően a
regressziók jelentésére vonatkozó útmutató
szerint. A
MAINTAINERS
fájlban található Bugtracker (
B:
) bejegyzéstől függően ez magában foglalhatja hibajelentés megnyitását az alrendszerek levelezőlistáin, a Kernel Bugzilla rendszerében, vagy más hibakövető rendszerekben, például a DRM Gitlab weboldalon. Fontos, hogy Ön az alapverziót (a "vanilla" verziót) próbálja ki minden patch nélkül annak érdekében, hogy megbizonyosodjon arról, hogy nem azok okozzák a problémát. Ha egy patch okozza a hibát, akkor jelentse azt a patch szerzőjének.
Megjegyzés
A kernel bisectálása sok időt vehet igénybe, mivel előfordulhat, hogy Önnek forráskódból a kernelt többször is újra kell majd fordítania.
Kisebb kernel létrehozása
A kernel forráskódból történő lefordításának az ideje lerövidíthető azáltal, hogy Ön csak a helyi rendszer által igényelt kernelmodulokat hozza létre forráskódból a
modprobed-db
használatával, vagy a
make localmodconfig
parancs segítségével. Amennyiben Ön például egy hálózati problémát szeretne hibakeresni, akkor természetesen teljes mértékben kihagyhatja a nem releváns illesztőprogramokat, például a hangért felelős illesztőprogramokat a lefordítási folyamatból.
További olvasnivaló a témában
O'Reilly - Linux Kernel in a Nutshell
(free ebook)
What stable kernel should I use?
by Greg Kroah-Hartman
Linux kernel documentation