このページでは、Debianインストール済みのmini2440ボードにXをインストールします。
また、いくつか必要なパッケージも合わせてインストールします。
念のため、SDカードのバックアップを行い、SDカードが余分にあればコピーを作って、そこで続きをするといいと思います。
mini2440:~# apt-get update もし、なにもアップデートが起こらないときは、/etc/apt/sources.list の中身に deb http://ftp.de.debian.org/debian lenny main があるか確認する。なければ、vi等で追加。 mini2440:~# sudo apt-get install gcc make gdb lv
mini2440でifconfigして得られるアドレスにsshしても、接続は出来てもログインができません。
そこで、sshできるように設定します。
/etc/ssh/sshd_configで一箇所書き換えます。
途中の PermitEmptyPasswords no を PermitEmptyPasswords yes に修正 最終行の UsePAM yes を # UsePAM yes コメントアウトその上で、'/etc/init.d/ssh restart' します。
mini2440でXを使えるようにします。
インストールと、Xおきまりのconfの設定ですが、タッチパネルの設定に特殊な手間がかかります。
まずパッケージを入れます。
mini2440:~# apt-get install xorg かなり大量にパッケージの依存があるので、それらをまとめてインストール次に、/etc/X11/xorg.conf を以下の通りに設定します。
section "ServerLayout" Identifier "XFree86 Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Touchpad0" "CorePointer" Option "OffTime" "10" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "pc105" EndSection Section "InputDevice" Identifier "Touchpad0" Driver "evtouch" Option "CorePointer" "true" Option "SendCoreEvents" "true" Option "Device" "/dev/input/event1" Option "DeviceName" "touchscreen" Option "MoveLimit" "10" Option "MinX" "110" Option "MinY" "104" Option "MaxX" "915" Option "MaxY" "911" Option "Calibrate" "1" # ※調整用、後述 Option "ReportingMode" "Raw" Option "Emulate3Buttons" Option "Emulate3Timeout" "50" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" EndSection Section "Monitor" Identifier "Monitor0" ModelName "Monitor Model" DisplaySize 240 320 # DisplaySize 800 480 # 解像度を設定 EndSection Section "Device" Identifier "Card0" Driver "fbdev" Option "fbdev" "/dev/fb0" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" EndSectionこれで、Xを起動してみます。
mini2440:~# X X.Org X Server 1.4.2 Release Date: 11 June 2008 X Protocol Version 11, Revision 0 Build Operating System: Linux Debian (xorg-server 2:1.4.2-10.lenny2) [Ctrl-C] で終了エラーや警告がでますが、素のXの画面+Xのカーソルが出れば、XのインストールはOKでしょう。
また、'X &'で起動すれば、別のコマンドがいれられるので、'xeyes -display :0.0'ができます。
画面の状態は'xdpyinfo -display :0.0'で確認出来ます。なお、'&'付きで起動したものは、'kill %1'で止めます。
つぎに、タッチパネルを使えるようにします。
まず、パッケージを追加で入れます。
mini2440:~# apt-get install xserver-xorg-input-evtouchX を起動してみると、明らかに対応がおかしいですが、タッチが反応することがわかります。
つぎに、調整します。 USBキーボードをUSBコネクタに接続し Xの止まった状態で、シリアルのターミナルから
mini2440:~# cd /usr/lib/xf86-input-evtouch/ mini2440:/usr/lib/xf86-input-evtouch# cp /usr/share/xf86-input-evtouch/empty_curssor.xbm / mini2440:/usr/lib/xf86-input-evtouch# ./calibrate.shこれで画面に'X'が上下左右中央に9個表示されます(なぜか、empty_cursorを/にコピーしないと動かない仕様)
この状態で
mini2440:/usr/lib/xf86-input-evtouch# cat out.txt Option "MinX" "69" Option "MinY" "182" Option "MaxX" "964" Option "MaxY" "911" Option "x0" "2" Option "y0" "5" Option "x1" "-1" Option "y1" "-2" Option "x2" "-5" Option "y2" "-2" Option "x3" "-3" Option "y3" "8" Option "x4" "1" Option "y4" "15" Option "x5" "1" Option "y5" "15" Option "x6" "4" Option "y6" "20" Option "x7" "5" Option "y7" "20" Option "x8" "-5" Option "y8" "0"(値を見ると何となく、押しムラがある気がしないでもないですが)
Section "InputDevice" Identifier "Touchpad0" Driver "evtouch" Option "CorePointer" "true" Option "SendCoreEvents" "true" Option "Device" "/dev/input/event1" Option "DeviceName" "touchscreen" Option "MoveLimit" "10" # Option "MinX" "110" # 最初に入れていたここらはコメントアウト # Option "MinY" "104" # Option "MaxX" "915" # Option "MaxY" "911" Option "Calibrate" "0" # ※1をゼロにする Option "MinX" "69" # 丸ごとコピペする Option "MinY" "182" Option "MaxX" "964" Option "MaxY" "911" Option "x0" "2" Option "y0" "5" Option "x1" "-1" Option "y1" "-2" Option "x2" "-5" Option "y2" "-2" Option "x3" "-3" Option "y3" "8" Option "x4" "1" Option "y4" "15" Option "x5" "1" Option "y5" "15" Option "x6" "4" Option "y6" "20" Option "x7" "5" Option "y7" "20" Option "x8" "-5" Option "y8" "0" Option "ReportingMode" "Raw" Option "Emulate3Buttons" Option "Emulate3Timeout" "50" EndSection(InputDeviceセクションのみ表記、残りは同一)
再びXを起動すると、それらしく、タッチしたところにカーソルがいくと思います。
ずれている場合はx0〜y8を調整してみるといいでしょう。と、いいますか、結局全部再調整しました。
具体的には、x0y0〜x8y8は
678
345
012
の配列です(タッチ順ではない)。一度、x0-y8をゼロにして、それぞれの付近をタッチして、
タッチよりカーソルが上にずれていたらyを正
タッチよりカーソルが下にずれていたらyを負
のように、タッチの検出値からどれだけ座標をオフセットするか、の値のようです。
ある程度調整できましたが、どうも、タッチパネルそのものがあまり精度のいものではないようで、局所的に歪む場所もありました。
念のため、保護シートを剥がしてみましたが(ガワを止めている4本のネジを外す必要有り)、さほど状況は変わりませんでした。
これで、Xが入ったので、Xに関連するものも含め、追加でパッケージを入れておきます。
# apt-get install tcl tk # apt-get install python-all python-tk python-imaging-tkなお、ここまで来て、df すると
mini2440:/# df -k Filesystem 1K-blocks Used Available Use% Mounted on tmpfs 30416 0 30416 0% /lib/init/rw udev 10240 1612 8628 16% /dev tmpfs 30416 0 30416 0% /dev/shm rootfs 706888 573964 97016 86% /と、かなり多くなっています。ただし、これは /var/cache/apt/archives にあるダウンロードしたパッケージ群による圧迫なので、apt-get cleanでわりと回復します。
mini2440:/# apt-get clean mini2440:/# df -k Filesystem 1K-blocks Used Available Use% Mounted on tmpfs 30416 0 30416 0% /lib/init/rw udev 10240 1612 8628 16% /dev tmpfs 30416 0 30416 0% /dev/shm rootfs 706888 449000 221980 67% /