私は現在Compulabボードで軽量のDebianディストリビューションを実行しています。毎回シリアルポートを介してシステムにログインする必要があります。システムにグラフィックカードがあり、ドライバがインストールされ、モニタが検出されますが、システムがグラフィックドライバを介して出力するように設定されていないようです。このためにLinuxをどのように設定しますか?
root@cm-debian:~# dmesg|grep hdmi
mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver hdmi
mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0xa:0xa0:0xc1
mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
asoc: mxc-hdmi-soc <-> imx-hdmi-soc-dai.0 mapping ok
#1: imx-hdmi-soc
プラグイン hdmi ケーブル dmesg が次の出力を表示する場合
fbcvt: 1920x1080@50: CVT Name - 2.073M9
猫/etc/inttab
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
# The default runlevel.
id:2:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin
# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop
# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
# <id>:<runlevels>:<action>:<process>
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
T0:23:respawn:/usr/local/bin/getty.sh
# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
答え1
最初にすべきことは、カーネルに実際にモニターに使用できるドライバがあることを確認することです。
インターネット上のLinux関連カードを検索して、ドライバ名が見つかるかどうかを確認してください。利用可能なカーネルソースツリーがある場合は、ここで手がかりを見つけることもできます。
find src/ -name Kconfig -print -exec grep 'some phrase' '{}' \;
「特定のフレーズ」は、製造業者および/またはモデルなどです。このKconfig
ファイルには、カーネルを手動でコンパイルするときに「make menuconfig」が使用する情報が含まれています。
候補があると思われる場合にロードしてみてくださいmodprobe [name]
。
カーネルがこのボード用に特別にコンパイルされている場合、ドライバが組み込まれる可能性があります。しかし、そうであれば問題は発生しません。そうでない場合、カーネルは initramfs.img にドライバを必要とします。それがなければ、ルートファイルシステムがマウントされたらモニターを検出し(で/lib/modules
)ドライバをロードしても何もしないと思います。しばらくこれを試してみませんでした。この時点で、出力を見て、ドライバだとlsmod
思ったモジュールが実際にロードされていることを確認できます。