システムには初期シリアルコンソールがなく、UART用にカーネルモジュールをロードする必要があります。

システムには初期シリアルコンソールがなく、UART用にカーネルモジュールをロードする必要があります。

カーネルにコンパイルされた古いハードウェアの代わりに高速UARTを使用するマザーボードがあります。シリアルデバイスは、カーネルモジュールがロードされた後にのみ検出されますintel_lpss_pci。私はsystemdを使用してすべてを管理するDebian "buster"を使用しています。

これは、出力の有効化とgettyログインが期待どおりに機能しないことを意味します。

  • console=ttyS0,115200n8 console=tty0systemdがgettyログインを開かないようにします。
  • カーネルメッセージも遅れて不完全です。
  • ターゲットを手動で追加すると、systemdはgettyプロンプトを開きます。
  • このターゲットは構造モードでは使用できません。
  • このターゲットは init-ramdisk には影響しません。

一般的なシステムソリューション

gettyを介してログインを有効にするようにsystemdに手動で指示することがわかりました。これにより、最初のカーネルメッセージを表示するためにまだ顕著な遅延が追加されますが、少なくともログインすることはできます。systemctl enable [email protected]

initramfsにモジュールを追加する(役に立たない) intel_lpss_pciモジュールをに追加し、/etc/initramfs-tools/modulesinit-ramfsを再構築した後、モジュールがそこにコピーされたことを確認しました。それは違いはありません

望む行動 シリアルコンソールがRamdiskで直接動作したい(画面がないため)カーネルを再コンパイルする必要はありません。。私が何を見逃しているのか知っている人はいますか?このモジュールを早期にロードするには、init-ramfsにスクリプトを追加する必要がありますか?それでは、initramfs-toolsではどのように機能しますか?

関連情報