Ihre Konsole hat also zwei Arten von Nachrichten:
- vom Kernel generiert (über printk);
- vom Userspace generiert (normalerweise Ihr Init-System).
Kernel-Meldungen werden immer im kmsg-Puffer gespeichert, sichtbar über dmesg
. Sie werden auch oft in Ihr Syslog kopiert. (Dies gilt auch für Userspace-Nachrichten, die an /dev/kmsg
geschrieben werden , aber die sind ziemlich selten.)
In der Zwischenzeit schreibt der Userspace seinen ausgefallenen Boot-Statustext in /dev/console
oder /dev/tty1
, es wird überhaupt nirgendwo gespeichert. Es geht einfach auf den Bildschirm und das war's. Also ich denke so ziemlich irgendwelche Lösung – mit Ausnahme von Rowans Vorschlag für die serielle Konsole – wird am Ende entweder sehr distrospezifisch sein (da jedes Init-System die Protokollierung anders durchführt) oder ein „invasiver Hack“, der Strace- oder Kernel-Hacking oder ähnliches beinhaltet.
Im besten Fall wird Ihr Init-System selbst protokolliert alle wichtigen Ereignisse im 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 stdout/stderr der Dienste; viele andere Init-Systeme leiten sie einfach auf die Konsole oder nirgendwohin um.)
Ein Vorschlag ist, einen anderen Laptop den Startbildschirm mit hoher Auflösung und Bildrate filmen zu lassen und dann das Ergebnis langsam abzuspielen (MOV - MP4 - AVI ) - vielleicht nicht die beste Lösung, aber einfach bereitzustellen und zum Debuggen sowieso, oder? Nur eine Idee ...