Wie kann ich die dmesg-AKA-Kernel-Protokolle beim Kernel-Boot in eine einzelne TXT-Datei sichern?

Wie kann ich die dmesg-AKA-Kernel-Protokolle beim Kernel-Boot in eine einzelne TXT-Datei sichern?

Ich versuche, die SATA-Host-Gerätekommunikation zu verstehen und habe dazu viele Debugmeldungen in den Kerneltreibercode eingefügt. Jetzt gibt es so viele Meldungen, dass ich die ersten Meldungen der Geräteaufzählung nicht im dmesg-Protokoll sehen kann. Aus diesem Grund habe ich die Konfigurationsvariable CONFIG_LOG_BUF_SHIFT(=21) geändert, um die Ringpuffergröße zu erhöhen, aus der dmesg die Meldungen bezieht, aber ich habe immer noch dasselbe Problem.

Gibt es also eine Methode, mit der ich alle dmesg vom Kernel-Boot in eine bestimmte Datei protokollieren kann?

Vielen Dank im Voraus für die Hilfe.

Antwort1

Sie können verwenden:

cat /var/log/dmesg > file.txt

und verwenden Sie:

head /var/log/dmesg

wenn Sie die ersten Zeilen von dmesg sehen möchten.

Weitere Spezifikationen finden Sie auch unter „man head“. Das Symbol „>“ leitet die Ausgabe von „cat“ in die Datei „file.txt“ um.

Antwort2

Es gibt einen Befehl, dmesgder die Protokolle auf stdout druckt. Sie können stdout einfach in eine Textdatei umleiten.

dmesg > /path/to/dmesg.txt

Sie könnten dies erweitern. Eine wirklich nützliche Option wäre, Ihrer ~/.profileDatei (in Ihrem Home-Verzeichnis) eine Zeile hinzuzufügen, die die Ausgabe von dmesg beim Anmelden anhängt. Fügen Sie einfach eine Zeile hinzu, die besagt:

dmesg >> /path/to/dmesg.txt

Wenn Sie nur die ersten paar Zeilen (0,000000 Nachrichten) möchten, können Sie sie headwie folgt weiterleiten.

Mit stdout:

dmesg | head

oder mit headeiner bereits gespeicherten .txt-Datei.

head /path/to/dmesg.txt

Das ist so ziemlich alles, ich hoffe, das hilft!

BEARBEITEN:Übrigens, dies enthält die 0.000000 Nachrichten

verwandte Informationen