次のカーネルコンフィギュレーションを有効にすることで起動ログが表示できるようになります。
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
割り当て解除以降は、画像が正しく表示されます。