システム環境ジェネレータからログに印刷するには?

システム環境ジェネレータからログに印刷するには?

組み込みシステムを開発中です。 Bashに環境ジェネレータを書いていましたが、うまく動作しているようです。ところで、日誌でいくつかのエラーを見つけました。

May 28 02:03:14 imx6ull14x14evk systemd[121]: /etc/systemd/system-environment-generators/overlayroot-ubifs.sh failed with exit status 32.       
May 28 02:03:14 imx6ull14x14evk systemd[121]: Invalid variable assignment "overlay /mnt/user/overlay overlay rw,noatime,lowerdir=...", ignoring.
May 28 02:03:14 imx6ull14x14evk systemd[121]: Invalid variable assignment "overlay / overlay rw,relatime,lowerdir=...", ignoring.      
May 28 02:03:14 imx6ull14x14evk systemd[121]: Invalid variable assignment "devtmpfs /orig/dev devtmpfs rw,relatime,size=...", ignoring.
May 28 02:03:14 imx6ull14x14evk systemd[121]: Invalid variable assignment "tmpfs /orig/run tmpfs rw,nosuid,nodev,mode=...", ignoring.         

stdoutとstderrの両方が抑制されているようです。 記録計動作しません。おそらくなぜならsystemd-journald.serviceまだ始まっていませんか?それとも、たぶんそのためかもしれません。記録計~から忙しい箱そして互換性がありませんか?私は気づいたナロー/ヨクトデフォルトは書き込みです。システムログ~から記録計、システムログの代わりに。

systemd.log_level = debugをカーネルブートパラメータに設定すると、エラーは(不安に)消えます。私が知る限り、私の間違いは何の害もありませんでしたが、それを整理したいと思います。環境systemd.log_level=デバッグ他のジェネレーターが記録されるようにします。

May 28 02:14:43 imx6ull14x14evk kernel: UBIFS (ubi0:1): FS size: 424099840 bytes (404 MiB, 1670 LEBs), journal size 21331968 bytes (20 MiB, 84 LEBs)     mber 2 using ci_hdrck_data_crc mtdparts=gpmi-nand:4m(nandboot),-(nandubi)
              3 imx6ull14x14evk kernel: UBIFS (ubi0:1): reserved for root: 4952683 bytes (4836 KiB)                               
May 28 02:14:43 imx6ull14x14evk kernel: UBIFS (ubi0:1): media format: w5/r0 (latest is w5/r0), UUID 29F89BD4-13AA-4118-B7B7-2B15D8F97EDB, small LPT model
May 28 02:14:43 imx6ull14x14evk systemd-rc-local-generator[196]: /etc/rc.local does not exist, skipping.                                          
May 28 02:14:43 imx6ull14x14evk systemd-hibernate-resume-generator[195]: Not running in an initrd, quitting.                                                                                      
May 28 02:14:43 imx6ull14x14evk systemd-getty-generator[193]: Automatically adding serial getty for /dev/ttymxc0.                                       
May 28 02:14:43 imx6ull14x14evk systemd-gpt-auto-generator[194]: Neither root nor /usr file system are on a (single) block device.                         vice= 3.18
le entries: 513 imx6ull14x14evk systemd-fstab-generator[192]: Parsing /etc/fstab...                                               

それではどうでしょうか?systemd-rc - ローカルジェネレータメッセージの作成

/etc/rc.localが存在しません。スキップしてください。

日記帳に?メッセージを印刷するには(必要に応じて)、環境ジェネレータをCで書く必要がありますか?設定せずにメッセージを受信できますか?systemd.log_level=デバッグ

ベストアンサー1

現在ログが実行されていないため、ログにログインできません。実際、すべてのシステムジェネレータは新しいユニットファイルを生成できるはずです。文字通り何かsystemd デバイスが起動しました。

ただし、ログインは可能ですカーネルログバッファ(つまり、dmesgバッファ)メッセージは、他のすべてのカーネルメッセージとともにログを介して取得されます。

これを行うには、オプション/dev/kmsgでカーネルスタイルの重大度プレフィックスを使用してメッセージを作成します。

echo "foobar-generator[$$]: Something's going on" > /dev/kmsg
echo "<4>foobar-generator[$$]: Warning, an error is about to occur" > /dev/kmsg
echo "<3>foobar-generator[$$]: An error just occured" > /dev/kmsg

<n>重大度は、syslogと同様に ""プレフィックスを使用して指定できます。 (たとえば、3はLOG_ERR、4はLOG_WARN、7はLOG_DEBUGです。)はい、syslogスタイルの「process [pid]:」タグを直接追加する必要があります。

おすすめ記事