web-dev-qa-db-ja.com

フレームバッファコンソールを機能させるにはどうすればよいですか?

私が構築したApple MacBookはLinux From Scratchシステムを実行しています。これは最小限のシステムであり、X Window Systemがインストールされていないbashプロンプトで起動するだけです。グラフィックチップは、i915ドライバーを使用するIntel GMA 950です。以前は、フレームバッファーコンソールで起動していましたが、先日、カーネル構成設定の一部を調整したところ、フレームバッファーコンソールがロードされていないようです。 more(ただし、画面が真っ暗になり、起動中にリセットされます)。

愚かなことに、作業中のセットアップのカーネル構成ファイルを保存しませんでしたが、そのセットアップのlsmodコマンドのプリントアウトがあり、ロードされたカーネルモジュールが示されています。

_Module                  Size  Used by
ccm                    20480  6
hid_generic            16384  0
isight_firmware        16384  0
usbhid                 32768  0
i915                 1343488  1
i2c_algo_bit           16384  1 i915
arc4                   16384  2
fbcon                  49152  70
bitblit                16384  1 fbcon
fbcon_rotate           16384  1 bitblit
fbcon_ccw              16384  1 fbcon_rotate
fbcon_ud               20480  1 fbcon_rotate
fbcon_cw               16384  1 fbcon_rotate
softcursor             16384  4 fbcon_ud,fbcon_cw,fbcon_ccw,bitblit
drm_kms_helper        114688  1 i915
ath9k                  81920  0
cfbfillrect            16384  1 drm_kms_helper
ath9k_common           16384  1 ath9k
syscopyarea            16384  1 drm_kms_helper
cfbimgblt              16384  1 drm_kms_helper
ath9k_hw              389120  2 ath9k,ath9k_common
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
mac80211              405504  1 ath9k
fb_sys_fops            16384  1 drm_kms_helper
cfbcopyarea            16384  1 drm_kms_helper
drm                   282624  3 i915,drm_kms_helper
ath                    28672  3 ath9k_hw,ath9k,ath9k_common
pata_acpi              16384  0
intel_agp              16384  0
coretemp               16384  0
video                  36864  1 i915
uhci_hcd               40960  0
pcspkr                 16384  0
backlight              16384  2 video,i915
ehci_pci               16384  0
ehci_hcd               73728  1 ehci_pci
ata_piix               36864  0
rng_core               16384  0
intel_gtt              20480  2 intel_agp,i915
fb                     65536  8 fbcon_ud,fbcon_cw,fbcon_ccw,bitblit,softcursor,i915,fbcon,drm_kms_helper
agpgart                32768  3 intel_agp,intel_gtt,drm
evdev                  24576  0
fbdev                  16384  2 fb,fbcon
mac_hid                16384  0
_

fbcon(フレームバッファーコンソールのドライバー)が読み込まれたことがわかります。

ただし、新しいカーネルビルド(コンソールが読み込まれていない場合)のlsmodの出力は次のとおりです。

_Module                  Size  Used by
hid_generic            12288  0
arc4                   12288  2
i915                 1314816  0
usbhid                 28672  0
prime_numbers          12288  1 i915
i2c_algo_bit           12288  1 i915
drm_kms_helper         98304  1 i915
cfbfillrect            12288  1 drm_kms_helper
syscopyarea            12288  1 drm_kms_helper
cfbimgblt              12288  1 drm_kms_helper
pata_acpi              12288  0
sysfillrect            12288  1 drm_kms_helper
ath9k                  73728  0
ath9k_common           12288  1 ath9k
ath9k_hw              368640  2 ath9k,ath9k_common
sysimgblt              12288  1 drm_kms_helper
fb_sys_fops            12288  1 drm_kms_helper
cfbcopyarea            12288  1 drm_kms_helper
mac80211              356352  1 ath9k
coretemp               12288  0
ata_piix               32768  0
ath                    24576  3 ath9k_hw,ath9k,ath9k_common
drm                   241664  3 i915,drm_kms_helper
uhci_hcd               36864  0
video                  32768  1 i915
intel_agp              12288  0
pcspkr                 12288  0
intel_gtt              16384  2 intel_agp,i915
fb                     57344  2 i915,drm_kms_helper
ehci_pci               12288  0
ehci_hcd               65536  1 ehci_pci
agpgart                28672  3 intel_agp,intel_gtt,drm
rng_core               12288  0
fbdev                  12288  1 fb
backlight              12288  2 video,i915
evdev                  20480  0
mac_hid                12288  0
_

fbfbdevi915 drmintel_agpはすべてありますが、fbconはそうではありません。

fbconがロードされない可能性のある理由を誰かが知っていますか?

編集:(コメントの質問に回答するため)

_grep CONFIG_FRAMEBUFFER_CONSOLE .config_の出力は次のとおりです。

_$ grep CONFIG_FRAMEBUFFER_CONSOLE .config
CONFIG_FRAMEBUFFER_CONSOLE=m
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
_

fbconはモジュールとして構成されています(以前のセットアップのように見えたため)。 2行目は、デフォルトでfbconをプライマリディスプレイデバイスに設定する必要があることを意味していると思います。

更新:

_modprobe fbcon_を使用してモジュールを手動でロードしましたが、機能しました。すべてのテキストが画面に表示されました。それでも、起動時にロードされなかった理由と、それをどのように実行できるかを理解する必要があります。

また、cat $(readlink -f /sys/class/graphics/fb0/name)を実行すると、inteldrmfbが出力されました。そのため、i915 Intelドライバーに組み込まれているフレームバッファーを使用しているようです。

1
Time4Tea

私自身の質問への回答を投稿するには:

これが機能しなかった理由は、ビルドおよびインストールされていても、ブート中にfbconモジュールがロードされなかったためです。 modprobe fbconを実行してモジュールをロードすると、すぐにコンソールが画面に表示されます。 fbcon/etc/sysconfig/modulesに追加しましたが、起動時に正しく初期化されています。

少し奇妙なことに、私が何もしなくても、モジュールが以前に自動的にロードされていました。

0
Time4Tea