FAQ : 液晶画面(LCD)、またはHDMIモニターに起動ログを表示するには?

対象製品: Armadillo-840Armadillo-460Armadillo-440Armadillo-410

次のカーネルコンフィギュレーションを有効にすることで起動ログが表示できるようになります。

Device Drivers --->
  Graphics support --->
    Console display driver support --->
      <*> Framebuffer Console support
      [*]   Map the console to the primary display device

Armadilloに上記カーネルコンフィギュレーションを行ないビルドしたイメージを書き込み、カーネルの起動オプションにconsole=tty1を指定して起動させます。
Armadillo-400シリーズではLCDに、Armadillo-840ではHDMIに起動ログが表示されます。

起動例) Armadillo-400シリーズの場合

hermit> setenv console=tty1
hermit> boot

起動例) Armadillo-840 の場合

hermit> setenv mem=384M console=tty1
hermit> boot

Armadillo-840でLCDに起動ログを表示したい場合

出力先 LCDコントローラー デフォルト時の Primary framebuffer
液晶画面 LCDC0  
HDMI LCDC1

Armadillo-840は、液晶画面の表示に LCDC0を、HDMIモニターへの出力に LCDC1を利用しています。 デフォルトの状態では、LCDC1 つまり HDMI が Primary framebufferと呼ばれるメインのフレームバッファーと紐付けられています。

Primary framebufferをLCDC1からLCDC0に変更することで、液晶画面に起動ログが表示されるようになります。

次のようにカーネルコンフィギュレーションを変更してください。

 -> System Type
   -> Armadillo-840 System Configuration
     -> Primary framebuffer (<choice> [=y])
       (X) LCDC0                             <---- 選択する
       ( ) LCDC1

起動ログを表示した後に`fb0`に画像を出力したい場合

冒頭のカーネルコンフィギュレーションにより、tty1の出力が`fb0`に書き込まれるようになっています。 そのため、GStreamerなどのアプリケーションで`fb0`に画像を書き込むと、起動ログを出力するtty1と競合してしまい、画像が正しく表示されません。

本問題は起動後に`fb0`とtty1の割り当てを解除することで回避する事ができます。

次のカーネルコンフィギュレーションを有効にしてください。

 -> Device Drivers
   -> Character devices
     -> Virtual terminal (VT [=y])
       [*] Support for binding and unbinding console drivers

以下のコマンドで`fb0`とtty1の割り当てを解除できるようになります。

[Armadillo ~]# echo 0 > /sys/class/vtconsole/vtcon1/bind

割り当て解除以降は、画像が正しく表示されます。