カーネルの起動時にdmesg AKAカーネルログを単一の.txtファイルにダンプする方法は?

カーネルの起動時にdmesg AKAカーネルログを単一の.txtファイルにダンプする方法は?

私はSATAホストデバイス通信を理解しようとしていますが、そのためにカーネルドライバコードに多くのデバッグメッセージを入れました。メッセージ数が多すぎるため、dmesg ログにデバイス列挙の初期メッセージを表示できません。同様に、dmesgがメッセージを受信できるようにリングバッファサイズを増やすようにCONFIG_LOG_BUF_SHIFT(= 21)構成変数を変更しましたが、まだ同じ問題に直面しています。

それでは、カーネルブートのすべてのdmesgを特定のファイルに書き込む方法はありますか?

あなたの助けに事前に感謝の言葉を伝えたいと思います。

答え1

あなたはそれを使用することができます:

cat /var/log/dmesg > file.txt

そして、以下を使用してください:

head /var/log/dmesg

dmesgの最初の行を見るには。

詳細な仕様については「ヘッド」を参照してください。 「>」記号は、「cat」の出力を「file.txt」にリダイレクトします。

答え2

dmesgログを標準出力に印刷するコマンドがあります。標準出力をテキストファイルにリダイレクトできます。

dmesg > /path/to/dmesg.txt

これを延長できます。本当に便利なオプションは、~/.profileログイン時にdmesgの出力を追加する行をファイル(ホームディレクトリ)に追加することです。 1行だけ追加してください。

dmesg >> /path/to/dmesg.txt

最初の数行(0.000000個のメッセージ)だけを希望する場合は、head次のようにパイプできます。

標準出力を使用してください。

dmesg | head

または、head保存した.txtファイルを使用してください。

head /path/to/dmesg.txt

以上です。お役に立てば幸いです!

編集する:ちなみに、これには0.000000個のメッセージが含まれています。

関連情報