Portál AbcLinuxu, 12. května 2025 15:38
Zdravim vospolok,
dnes som riesil problem, kedy po kompilacii vlastneho kernela mi tento kernel pri boote zhasne kernel panicom. Hlavny problem je v tom, ze tu najdolezitejsiu chybovu hlasku nevidim.. to co na obrazovke nakoniec zostane zobrazene (bez moznosti scrollu/pgup-u) je Callback (resp. traceback?) a tu najpodstatnejsiu cast vidno nieje.
Preto ma zaujima akym sposobom dokazem odchytit (idealne komplet) kernel log od zaciatku bootovania az po finalny callback? Tu musim dodat ze kernel panic naskoci snad _okamzite_ po nadetekovani zakladneho hw (procesor a pod). Snazil som sa to odchytit HD kamerou, problem je to vsak aj pre nu - to prebehnutie je velmi rychle (na nej som zachytil detekciu procesora kernelom, pricom z pozadia rovno vybehol koniec Callbacku (LCD display)).
Dokonca ma napadlo zmenit konzolove rozlisenie pre kernel (napr na vga=791) ale to ostala obrazovka komplet cierna (monitor ma pomer stran 13:7 a vga rozlisenia pre kernel len 4:3, takze je to v kybli).
Este dodam, ze som chcel skusit aj kernel-crashdump
ale bud ho neviem spravne pouzit, alebo mam smolu v tom, ze doba, kedy pride ku kernel panic je tak skora, ze kernel nema k dispozicii ziadne zapisovacie zariadenie a teda vo /var/crash
nic nepribudne (pricom spustam kernel s upravenymi parametrami pre rezerovanie pamate).
Kolega mi poradil presmerovat konzolu napr. na serialovy port a cez nejaky serialovy null modem odchytit komplet vypis... otazka je vsak opat v tom, ci v tom case kernel vie o serialovom porte (a asi aj celkovo o devfs kedze serial je dostupny len cez neho...). No a samozrejme nemam na toto kabel takze je to len otazne.
Avsak videl som niektore diskusie, kde dotycny tazatel pripojil k diskutovanemu problemu komplet log z kernela od bootu po jeho crash, preto si myslim ze to predsalen nejakym sposobom musi ist.
No a na zaver snad len dodam, ze sa jedna o ubuntu (tusim ze posledny release) - bol som k tomuto problemu zavolany len ako troubleshooter :)
Za akekolvek rady na toto tema vopred dakujem
kernel-crashdump
je potřeba patchnuté jádro a diskový oddíl, kam se jádro dumpne. /var/crash
vyrobí až aplikace, která analyzuje obsah toho oddílu.
V Ubuntu se používá kernel-oops
, ale ten dokáže reportovat jenom oops, kdy něco selže, ale jádro pokračuje dál, ne úplný panic.
Zkuste při spuštění zadat vga=ask
a tam vybrat rozlišení s 80×50 znaky (je to standardní VGA rozlišení). Mohlo by to pomoct.
boot_delay=...
(Milliseconds to delay each printk during boot.)
Kolega mi poradil presmerovat konzolu napr. na serialovy port a cez nejaky serialovy null modem odchytit komplet vypis... otazka je vsak opat v tom, ci v tom case kernel vie o serialovom porte (a asi aj celkovo o devfs kedze serial je dostupny len cez neho...).Kernel žádný devfs nepotřebuje. Viz parametry
console=...
, earlyprintk=...
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.