私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,115200n8
systemdはシリアルコンソールをキャッチしてカーネルを抑制するので、ブートローダメッセージを受け取り、systemdのスタイルメッセージを受け取り、[ OK ] Started foo.
最後にログインプロンプトを受け取ります。
[ 0.000000] foo
ttyS0でカーネルメッセージ( "")とsystemdの両方の出力を取得する方法はありますか?
それとも、ブート失敗をデバッグする必要がある場合は、カーネルメッセージを表示できるように少なくともsystemdをサイレントする方法はありますか?
カーネルが確実にttyS0のロギングをサポートしていることを追加する必要があります。カーネル全体のコマンドラインをconsole=ttyS0,115200n8
次に置き換えるとき[ 0.000000] foo
答え1
systemdはシリアルコンソールをインポートしてカーネルを抑制するので、ブートローダメッセージのみを受け取ります。
できる?しかし、実際にはそうではありません。loglevel=1
カーネルコマンドラインは、カーネルにロギングを停止するように指示する役割を果たします。その文を削除するか、明示的に設定してくださいloglevel=7
。
止めるシステム自分のステータスメッセージの履歴に次のものを使用してくださいsystemd.show_status=no
(参照:システム(1))。
PS:あなたは、任意のソフトウェアのバグとsystemdの誤った設定を非難しないでください。