私は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個のメッセージが含まれています。