Busybox-syslogには、起動前の初期起動ログはありません。

Busybox-syslogには、起動前の初期起動ログはありません。

問題:syslogdが起動する前に発生したカーネルログが私のsyslogに追加されません。

システムの説明:起動順序が開始され、約5秒後にsyslogdが起動します。起動シーケンスの約2秒間実行されるスクリプトが/ dev / kmesgに添付されています。 syslogd が起動する前に実行されます。

カーネルログをsyslogに送信するためにklogdを実行していますが、syslogdの起動後に発生したカーネルログのみを送信してください。

スクリプトの実行中にsyslogdが起動しないため、syslogのスクリプトにカーネルログがありません。

システムログから5秒後にすべてのカーネルログを表示できます。起動後5秒後に/ dev / kmsgに追加すると、syslogに移動するログが表示されます。

私の/etc/syslog.confには、次のようにsyslogに入るようにすべてが設定されています。

/パス/to/syslog

klogdが実行された後に/ dev / kmsgに追加される内容だけでなく、kmsgリングバッファの既存の内容もsyslogに書き込むためにklogdが必要です。どうすればいいですか?

答え1

起動したら、klogd2 番目のコピーを実行します。ワンショットモードklogd -o)。カーネルメッセージバッファ内の既存のメッセージを読み取り、処理してから終了します。

最初の長期インスタンスを起動すると、klogdメッセージが失われないことを確認する必要があります。

これを実行できない場合(たとえば、非常に古いバージョンklogdまたはbusybox類似の組み込みシステムツールキットのバージョンがある場合)、次のことができます。

if [ -e /var/log/dmesg.boot ]; then
    mv /var/log/dmesg.boot /var/log/dmesg.prevboot
fi
dmesg > /var/log/dmesg.boot

ルートファイルシステムへの書き込みが可能になったら?

関連情報