Vaše konzole má tedy dva typy zpráv:
- generováno jádrem (přes printk);
- generováno uživatelským prostorem (obvykle vaším init systémem).
Zprávy jádra jsou vždy uloženy ve vyrovnávací paměti kmsg, která je viditelná pomocí dmesg
. Často se také kopírují do vašeho syslogu. (To platí také pro zprávy v uživatelském prostoru zapsané do /dev/kmsg
, ale ty jsou poměrně vzácné.)
Mezitím, když uživatelský prostor zapíše svůj efektní text o stavu spouštění na /dev/console
nebo /dev/tty1
, není vůbec nikde uložen. Prostě to jde na obrazovku a je to. Takže si myslím, že v podstatě jakýkoli řešení – kromě Rowanova návrhu na sériovou konzoli – skončí buď jako velmi specifické pro distro (kvůli tomu, že každý init systém provádí protokolování jinak), nebo jako „invazivní hack“, který zahrnuje hackování strace nebo jádra nebo podobně.
V nejlepším případě se váš init systém sám zaznamenejte všechny důležité události do syslogu (/var/log/messages nebo podobně). Například:
systemd[1]: Starting BIRD routing daemon...
bird[478296]: /etc/bird.conf, line 2: syntax error
systemd[1]: bird.service: Control process exited, code=exited status=1
systemd[1]: Failed to start BIRD routing daemon.
(systemd a upstart také zaznamenávají stdout/stderr služeb; mnoho dalších init systémů je pouze přesměruje do konzole nebo nikam.)
Jedním z návrhů je nechat jiný notebook nafilmovat spouštěcí obrazovku s vysokým rozlišením a snímkovou frekvencí a výsledné přehrávání zpomalit (MOV – MP4 – AVI ) - možná to není nejlepší řešení, ale jednoduše nasadit a stejně je to pro ladění, ne? Jen nápad ...