systemdシステムのシリアルコンソールからカーネルメッセージを取得するには?

systemdシステムのシリアルコンソールからカーネルメッセージを取得するには?

A20-OLinuXino-LIME2ヘッドレスファイルサーバーとしてDebian 8 ミラー~からイゴール・ペチョヴニクの作品

システムの起動中にカーネルメッセージをシリアルコンソール(ttyS0)に出力し、最終的にttyS0にログインプロンプトを表示したいと思います。

デフォルトでは、イメージは次のカーネルコマンドラインを使用します。

console=tty1 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 enforcing=0 loglevel=1

...もちろん、ttyS0にカーネルメッセージは出力されません。Uncompressing Linux... done, booting the kernel.U-Bootの ""とログインプロンプトを生成するsystemdの間には出力はありません。

console=tty1私はちょうどに変更すると思いましたが、console=ttyS0,115200n8systemdはシリアルコンソールをキャッチしてカーネルを抑制するので、ブートローダメッセージを受け取り、systemdのスタイルメッセージを受け取り、[ OK ] Started foo.最後にログインプロンプトを受け取ります。

[ 0.000000] foottyS0でカーネルメッセージ( "")とsystemdの両方の出力を取得する方法はありますか?
それとも、ブート失敗をデバッグする必要がある場合は、カーネルメッセージを表示できるように少なくともsystemdをサイレントする方法はありますか?


カーネルが確実にttyS0のロギングをサポートしていることを追加する必要があります。カーネル全体のコマンドラインをconsole=ttyS0,115200n8次に置き換えるとき[ 0.000000] foo

答え1

systemdはシリアルコンソールをインポートしてカーネルを抑制するので、ブートローダメッセージのみを受け取ります。

できる?しかし、実際にはそうではありません。loglevel=1カーネルコマンドラインは、カーネルにロギングを停止するように指示する役割を果たします。その文を削除するか、明示的に設定してくださいloglevel=7

止めるシステム自分のステータスメッセージの履歴に次のものを使用してくださいsystemd.show_status=no(参照:システム(1))。


PS:あなたは、任意のソフトウェアのバグとsystemdの誤った設定を非難しないでください。

関連情報