Ihre Konsole verfügt also über zwei Arten von Nachrichten:
- vom Kernel generiert (via printk);
- generiert durch den Userspace (normalerweise Ihr Init-System).
Kernel-Nachrichten werden immer im kmsg-Puffer abgelegt, sichtbar über dmesg
. Sie werden häufig auch in Ihr Syslog kopiert. (Dies gilt auch für Benutzermeldungen, in die geschrieben /dev/kmsg
wird, diese sind jedoch eher selten.)
In der Zwischenzeit schreibt Userspace seinen fantastischen Boot-Status-Text in /dev/console
oder oder /dev/tty1
wird überhaupt nicht gespeichert. Es geht einfach auf den Bildschirm und das war's. Ich denke also, dass praktisch jede Lösung - außer für Rowans seriellen Konsolenvorschlag - entweder sehr distrusspezifisch sein wird (da jedes init-System die Protokollierung anders ausführt) oder ein "invasiver Hack", der Strace- oder Kernel-Hacking oder ähnliches beinhaltet.
Im besten Fall, Ihr Init - System wird sich alle wichtigen Ereignisse protokollieren zum syslog (/ var / log / messages oder so). Zum Beispiel:
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 und upstart protokollieren auch die Dienste stdout / stderr der Dienste; viele andere init-Systeme leiten sie einfach an die Konsole oder nirgendwo weiter.)