Altair☆'s Pageに戻る

Linux on the InterLink XP

2002/12/10更新
by Altair☆

Victor/JVCのInterLink XP (MP-XP3210)に、Linuxをのせてみました。このページでは、忘備録を兼ねて、その過程を紹介します。

内部のハードウェア構成はそう大きく変わらないそうなので、MP-XP7220EXやMP-XP7220、MP-XP5220、MP-XP7210、ASUS S200などでも、ほぼ同じ設定で行けると思います。

なお、このページの最近の修正履歴は、“Altair☆'s Page”の“What's NEW”を参照してください。

もくじ


1. 準備

1.1 BIOSのアップデート

私が入手したInterLink XP (MP-XP3210)は、2002年 6月製造のもので、BIOSの“LCD expansion”をoffに設定できませんでした。

BIOSのアップデートは必要ではありませんが、キャラクタ・コンソールを使いたい時に、LCD expansionが効いていると、かえって画面が読みにくいことがあるので、LCD expansionをoffに設定できるBIOS (Ver. 0109以降)をビクターのサイトからダウンロードして、アップデートしておくと良いでしょう。アップデートの方法やBIOS設定の追加項目等については、下記URLを参照のこと。

1.2 パーティショニング

あまり他の人に役立つ情報ではないのですが、私のMP-XP3210の場合、パーティションは、以下のように切りました。

# fdisk -l /dev/hda

Disk /dev/hda: 255 heads, 63 sectors, 2432 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1       261   2096451   1b  Hidden FAT32 
/dev/hda2           262      1061   6426000    5  Extended
/dev/hda5           262       594   2674791    7  HPFS
/dev/hda6           595       640    369463+  82  Linux swap
/dev/hda7           641       972   2666758+  83  Linux
/dev/hda8   *       973       973      8001    1  FAT12
/dev/hda9           974      1061    706828+   6  FAT16
/dev/hda3          1062      2431  11004525    7  NTFS
/dev/hda4   *      2432      2432      8032+  83  Linux

工場出荷時の状態のまま残しているパーティションは、/dev/hda1のみで、ここには、Windows XPをプリインストール状態にするためのリカバリー情報が収められています。

私の場合、Windows XPを滅多に使うことがないため、HDDの内周側のパーティション/dev/hda3にインストールしなおしました。HDDは内周より外周の方が転送速度が速いので、原則として、頻繁に使うパーティションほど外周に置くと良いでしょう。Windows XPの再インストールについては、InterLinkのマニュアルの“リカバリー手順”を参照して行います。

Linuxが使うパーティションは、

です。私の場合、/bootパーティションを独立させていますが、普通はこのように独立させる必要はないでしょう。
関連項目
§5.1 /proc/bus/usb, /etc/fstab

2. Debian GNU Linuxのインストール

Linuxには、様々なディストリビューションがありますが、私は、Debian GNU Linuxをインストールしました。

インストーラが、GUIではないので、初心者にはとっつきにくい印象がありますが、その反面、XFree86の実績の少ないビデオ・チップセットを使ったマシンへのインストールをさほど悩まずに済むというメリットがあります。

私の手元にあったのは、古いpotateだったので、必要最低限のパッケージをインストールした後、aptを使って、sargeにアップデートしました。手順としては、

  1. パーティション設定 (Debian GNU LinuxをCD-ROMブート)
  2. Windows XPのリカバリと、必要ならNTFSへの移行
  3. Debian GNU Linuxのインストール(必要最低限のパッケージのみ)
  4. Linuxカーネルのビルド
  5. Debian GNU Linuxで、残りの必要なパッケージのインストール

忘備録ですので、一応、apt (sarge用)の設定も添付しておきます。


3. カーネル

この章では、カーネル2.4系列のコンフィギュレーションのうち、InterLink XP (MP-XP3210)のハードウェアに依存した設定項目とその設定例を列挙します。

InterLink XPで、Linuxを快適に使うためには、カーネルに対して、あてた方が良いパッチがあります。下の表にまとめてみました。

Versionacpisisfb設定例
2.4.17config-2.4.17
2.4.19config-2.4.19
2.4.20-config-2.4.20

3.1 acpiパッチ

残念ながら、LinuxのACPIサポートは、まだ完成度が高くありません。

http://sourceforge.net/projects/acpiから最新のパッチを入手しましょう。

これをあてると、Fn+F1/F2で、LCDの輝度の制御ができるようになります。サスペンドやハイバネーションに対しては、ACPIプロジェクトの今後の成果に期待しましょう。

カーネルのビルドとインストールが終わったら、以下のユーティリティ・パッケージもインストールしておくことをお薦めします。

3.2 sisfbパッチ

2.4.19以前のカーネルに対しては、http://www.winischhofer.net/linuxsis630.shtmlに公開されているsisfbのソースコードをカーネルのSISビデオ用モジュールのソースにオーバーライトすると、LCDの1024×600ドット全面を128×37文字のテキスト・コンソールとして使えるようになります。

2.4.20-pr1以降のカーネルでは、sisfbパッチは不要ですが、カーネル2.4.20-pr1を私が試してみたところ、仮想コンソールの切り換え(Alt+F1, Alt+F2, Alt+F3, ...)を多用する場合、表示モードを切り換えた旨のメッセーシが少々うるさいので、いくつかのprintkを削除しました(⇒ chobi-20021116.diff)。

3.3 Loadable module support

“ Kernel module loader (CONFIG_KMOD)”を選択しておきましょう。(関連項目 ⇒ §5.3 Kernel hotplug helper)

[*] Enable loadable module support
[*]   Set version information on all module symbols 
[*]   Kernel module loader

3.4 General setup

“Support for hot-pluggable devices (CONFIG_HOTPLUG)”を選択しておきましょう。(関連項目 ⇒ §5.3 Kernel hotplug helper)

[*] Networking support
[*] PCI support
(Any)   PCI access mode
[ ] ISA bus support
[*] PCI device name database
[ ] EISA support
[ ] MCA support
[*] Support for hot-pluggable devices 

3.5 ATA/IDE/MFM/RLL support

IDE interfaceチップには、SiS5513が使われています。

<*> ATA/IDE/MFM/RLL support
IDE, ATA and ATAPI Block devices  --->

<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
--- Please see Documentation/ide.txt for help/info on IDE drives 
[ ]   Use old disk-only driver on primary interface
<*>   Include IDE/ATA-2 DISK support
[ ]     Use multi-mode by default
[ ]     Auto-Geometry Resizing support
<M>   PCMCIA IDE support
<M>   Include IDE/ATAPI CDROM support
<M>   SCSI emulation support
--- IDE chipset support/bugfixes
[*]   Generic PCI IDE chipset support
[*]     Sharing PCI IDE interrupts support
[*]     Generic PCI bus-master DMA support
[ ]       Force enable legacy 2.0.X HOSTS to use DMA
[*]       Use PCI DMA by default when available
[*]     SiS5513 chipset support

3.6 SCSI support

USBフロッピー・ドライブを利用したい場合、“SCSI support”と“SCSI disk support”もイネーブルにしておきます。(私が試したドライブは、TEAC FD-32USBです。関連項目 ⇒ §5. USB)

<M> SCSI support
--- SCSI support type (disk, tape, CD-ROM)
<M>   SCSI disk support
(40) Maximum number of SCSI disks that can be loaded as modules 
< >   SCSI tape support
< >   SCSI OnStream SC-x0 tape support
<M>   SCSI CD-ROM support
[ ]     Enable vendor-specific extensions (for SCSI CDROM)
:

3.7 IEEE 1394 (FireWire) support

私が使っているのは、IEEE 1394の装備されていないモデルですので、何も設定していません。

上位機種をお使いのかたからの情報をお待ちしております。

3.8 Network device support

InterLink XPのEthernet controllerは、SiS900で、Linuxカーネルでサポートされていますが、受信バッファの管理や、メディアリンクが途切れた時の、10 Mbpsと100 Mbpsの切り換えのドライバ・ルーチンがバギーです。普通の使用環境では問題になることはありませんが、用心して、イザという時に、リブートすることなくドライバのみを入れ直すことができるよう、モジュールにしておきましょう。

また、イサーネット接続を頻繁に断続するような使い方では、このバグは確実に表面化します。このような場合には、実績のあるチップセットを使っているPCMCIAのLANカードも使えるようにしておいた方が良いでしょう。

なお、ここでは、旅先などでダイアルアップ・モデム接続をしたい場合も配慮して、PPPも使えるようにしておきます。

[*] Network device support
Ethernet (10 or 100Mbit)  --->
<M> PPP (point-to-point protocol) support
[ ]   PPP multilink support (EXPERIMENTAL)
[ ]   PPP filtering
<M>   PPP support for async serial ports
< >   PPP support for sync tty ports
<M>   PPP Deflate compression
<M>   PPP BSD-Compress compression
Wireless LAN (non-hamradio)  --->
PCMCIA network device support  --->

Ethernet (10 or 100Mbit)  --->
[*] Ethernet (10 or 100Mbit)
[*]   EISA, VLB, PCI and on board controllers
<M>     SiS 900/7016 PCI Fast Ethernet Adapter support 

3.9 Input core support

InterLink XPは、小さいくせに、USBポートがふたつもついています。マウスやキーボードなどのUSB Human Interface Deviceを、使えるようにしておきましょう。

<*> Input core support
<M>   Keyboard support
<*>   Mouse support
(1024)    Horizontal screen resolution 
(600)    Vertical screen resolution
< >   Joystick support
<M>   Event interface support

3.10 Character devices

LCD画面をキャラクタ・コンソールとしては使わず、XFree86の使用が前提の人は、virtual terminalをonにする必要はないでしょう。

InterLink XPは、レガシーなシリアル・ポートを搭載していませんが、“Standard/generic (8250/16550 and compatible UARTs) serial support”はonにしておきましょう。PPPで、PCMCIAモデムカードやUSBモデム、USBマウスを使いたい場合などに必要です。

XFree86 4.1以降を使う場合には、“/dev/agpgart (AGP Support)”や“Direct Rendering Manager (XFree86 DRI support)”も組み込みます。私は、XFree86を使わないこともあるので、SiS用のDRM 4.1ドライバはモジュールにしています。

[*] Virtual terminal
[*]   Support for console on virtual terminal
<*> Standard/generic (8250/16550 and compatible UARTs) serial support 
[ ]   Support for console on serial port
[ ] Extended dumb serial driver options
[ ] Non-standard serial port support
[*] Unix98 PTY support
(256) Maximum number of Unix98 PTYs in use (0-2048)
I2C support  --->
Mice  --->
Joysticks  --->
<*> /dev/agpgart (AGP Support)
[*]   Generic SiS support
[*] Direct Rendering Manager (XFree86 DRI support)
[ ]   Build drivers for old (XFree 4.0) DRM
--- DRM 4.1 drivers
<M>   SiS
PCMCIA character devices  --->

InterLink XPのトラックポイントは、カーネルからはPS/2マウスとして認識されます。

Mice  --->
< > Bus Mouse Support
<*> Mouse Support (not serial and bus mice)
[*]   PS/2 mouse (aka "auxiliary device") support 

3.11 Console drivers

InterLink XPのVGA compatible controllerは、SiS630 GUI Accelerator+3Dです。2.4.19以前のカーネルでは、パッチが必要です(⇒ §3.2 sisfbパッチ)。

[*] VGA text console
[*] Video mode selection support
< > MDA text console (dual-headed) (EXPERIMENTAL)

Frame-buffer support  --->
[*] Support for frame buffer devices (EXPERIMENTAL)
<*>   SIS acceleration (EXPERIMENTAL)
[*]     SIS 630/540/730 support

3.12 Sound

InterLink XPのMultimedia audio controllerは、SiS PCI Audio Acceleratorですので、そのためのドライバを組み込みます。

<*> Sound card support
<*>   Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core 

3.13 USB support

InterLink XPのUSBは、OHCI (Open Host Controller Interface)に準拠しています。

USB接続で使う可能性のあるデバイスを選択しておきましょう。“Support for USB (CONFIG_USB)”はモジュールにしておくことをお薦めします(⇒ 5.3 Kernel hotplug helper)。

<M> Support for USB
--- Miscellaneous USB options
[*]   Preliminary USB device filesystem
--- USB Host Controller Drivers
< >   EHCI HCD (USB 2.0) support (EXPERIMENTAL)
< >   UHCI (Intel PIIX4, VIA, ...) support
< >   UHCI Alternate Driver (JE) support
<*>   OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support 
--- USB Human Interface Devices (HID)
<M>   USB Human Interface Device (full HID) support
[*]     HID input layer support
[*]     /dev/hiddev raw HID device support
<M>   USB HIDBP Keyboard (basic) support
<M>   USB HIDBP Mouse (basic) support

3.14 カーネルのビルドとインストール

以上で、基本的なコンフィグレーションはおわりです。お使いのディストリビューションによって、それぞれのマナーがあると思います。それに従って、カーネルをビルドしてインストールしてください。

Debian GNU Linuxの場合、

# make-kpkg clean
# make-kpkg --revision
{local_revision} kernel_image
で、kernel imageのdebパッケージを作成します。

もし、Standalone PCMCIA packageも使いたい場合には、この段階で、それもビルドしてしまいましょう。(⇒ §4. Standalone PCMCIA package)。できあがったカーネル・パッケージは、

# dpkg -i ../kernel-image-{krenel_version}_{local_revision}_i386.deb
で、インストールします。

4. Standalone PCMCIA package

別売りオプションのCD-ROMドライブMP-CDX1 (KME KXLC005)を使いたい場合には、standalone PCMCIA packageの3.2.1以降を使う必要があります。Standalone PCMCIA packageを使う場合には、カーネルのPCMCIAサポートは不要ですので、カーネル・コンフィグレーションでは“PCMCIA/CardBus support”を選択しないでください。(⇒ §3.4 General setup)。

4.1 Debian GNU Linux (sid)の場合

pcmcia-sourceパッケージをapt-getして、そこからPCMCIAドライバ・モジュールを作成します。

# apt-get install pcmcia-source
# cd /usr/src
# tar xzvf pcmcia-cs.tar.gz
# cd linux
# make-kpkg --revision
{local_revision} modules_image

{local_revision}には、“§3.14 カーネルのビルドとインストール”で指定したのと同じレビジョン番号を指定します。

カードサービス・パッケージも同じソースからビルドしてしまいましょう。

# cd ../modules/pcmcia-cs
# debian/rules binary-cs

§3.14 カーネルのビルドとインストール”で作成したカーネルをインストールしてリブートした後、ここで作成したpcmcia-modulesとpcmcia-csパッケージをインストールします。

# cd /usr/src
# dpkg -i pcmcia-modules-
{kernel_version}_{pcmcia_version}+{local_revision}.deb
# dpkg -i modules/pcmcia-cs_
{pcmcia_version}_i386.deb

4.2 Debian GNU Linux (sarge以前)の場合

woodyやsargeのPCMCIAパッケージのバージョンは、3.1.33-6 (2002/11/24現在)ですので、残念ながら、別売りオプションのCD-ROMドライブMP-CDX1 (KME KXLC005)が正しく認識されません。sid (unstable)用の“pcmcia-source”パッケージを、http://www.jp.debian.org/distrib/packages.ja.html#search_packagesで探してダウンロードし、それをインストールします。

# dpkg -i pcmcia-source_{pcmcia_version}_all.deb
# cd /usr/src
# tar xzvf pcmcia-cs.tar.gz
# cd linux
# make-kpkg --revision
{local_revision} modules_image

{local_revision}には、“§3.14 カーネルのビルドとインストール”で指定したのと同じレビジョン番号を指定します。

カードサービス・パッケージも同じソースからビルドしてしまいましょう。

# cd ../modules/pcmcia-cs
# debian/rules binary-cs

§3.14 カーネルのビルドとインストール”で作成したカーネルをインストールしてリブートした後、ここで作成したpcmcia-modulesとpcmcia-csパッケージをインストールします。

# cd /usr/src
# dpkg -i pcmcia-modules-
{kernel_version}_{pcmcia_version}+{local_revision}.deb
# dpkg -i modules/pcmcia-cs_
{pcmcia_version}_i386.deb

4.3 Debian GNU Linux以外のディストリビューションの場合

そのディストリビューションで配布されるpcmciaパッケージが3.2.1以降であれば、別売りオプションのCD-ROMドライブMP-CDX1 (KME KXLC005)に対応しています。

Standalone PCMCIA packageの最新版は、http://pcmcia-cs.sourceforge.net/ftp/から入手できます。


5. USB

5.1 /proc/bus/usb, /etc/fstab

カーネルをビルドする際に、“Preliminary USB device filesystem (⇒ §3.13 USB support)”を選択しておくと、/proc/bus/usbを使うことができます。

これを、いちいちroot権限で、mountするのも面倒なので、/etc/fstabに /proc/bus/usbをマウントさせる行を追加しておくと良いでしょう。/etc/fstabの例を示しておきます。

また、USBフロッピー・ドライブは、/dev/fd0ではなく、/dev/sdaです(⇒ §3.6 SCSI support)。マウント・ポイント/floppyに対する行が、もし/dev/fd0になっていたら修正しておきましょう。

# <file system> <mount point>   <type>  <options>                                   <dump> <pass> 
/dev/hda4       /boot           ext2    defaults                                         0      2 
/dev/hda7       /               reiserfs defaults                                        0      1 
/dev/hda6       none            swap    sw                                               0      0 
proc            /proc           proc    defaults                                         0      0 
none            /proc/bus/usb   usbdevfs defaults                                        0      0 
/dev/sda        /floppy         auto    defaults,user,noauto                             0      0 
/dev/cdrom      /cdrom          iso9660 defaults,ro,user,noauto                          0      0 
/dev/hda3       /windows        ntfs    defaults,ro,iocharset=euc-jp,gid=users,umask=002 0      0 
/dev/hda9       /common-fat     vfat    defaults,iocharset=euc-jp,gid=users,umask=002    0      0 
/dev/hda1       /hidden         vfat    defaults,ro,noauto                               0      0 
関連項目
§1.2 パーティショニング

5.2 /dev

devfsを使っていなければ、使いたいUSBデバイスに対応するデバイスファイルをmknodしておかねばなりません。/usr/src/linux/Documentation/devices.txtや、/usr/src/linux/Documentation/usb/ディレクトリの下の各ファイルを参考にしましょう。

5.3 Kernel hotplug helper

稼働中のマシンに周辺機器をhotplugしたいなら、コンフィグレーションで、CONFIG_KMODCONFIG_HOTPLUGを選択(⇒ §3.33.4)してビルドしたカーネルを用い、さらに、http://linux-hotplug.sourceforge.net/にあるエージェントソフトウェアをインストールしてください。Debian GNU Linuxの場合は、“hotplug”パッケージをdselectやaptを使ってインストールします。

PCMCIAやUSB接続などの機器を接続するだけで、即座に使えるようになります。

詳しくは、http://linux-hotplug.sourceforge.net/や、/usr/src/linux/Documentation/usb/hotplug.txtを参照してください。

Hotplugデバイスを接続した状態で、Linuxをブートするような使い方(coldplug)をする可能性がある場合には、カーネル・コンフィグレーションの際、usbcore (CONFIG_USB; ⇒ §3.13)をモジュールにしておくことをお薦めします。


6. キャラクタ・コンソール

6.1 画面モードを1024×600ドットでLinuxを起動させる

LCDの1024×600ドットすべてを使って、128×37文字のテキスト・コンソールとして起動させるには、sisfbドライバ(⇒ §3.2)のパラメタとして“mode=1024x600x8”を渡します。具体的には、

6.2 gpmで、トラックポイントだけでなく、外付けマウスも使う

gpmの起動オプション -Mを利用します。

# gpm -tps2 -m/dev/psaux -M -m/dev/input/mice -timps2

このように、gpmを起動することで、トラックポイントも外付けマウスのどちらも利用できるようになります。

gpmの起動時に、外付けマウスがUSBにつながっている必要はなく、あとから接続してもokです。しかし、もし、mousedevやhidを、モジュールでコンパイルしている場合には、それらのモジュールがカーネルにロードされている必要があります。/etc/modulesに、これらのモジュールを明記しておくか、モジュールとしてではなく、ドライバをカーネルの一部としてビルドしてしまうことをお薦めします。

さて、Debian GNU Linuxの場合、gpmの起動用スクリプトが/etc/init.dにあり、gpmの設定は、/etc/gpm.confで行うようになっていますが、残念ながら、複数のマウスを同時に設定できるような構成にはなっていませんので、gpmを起動するスクリプト/ete/init.d/gpmを書替えてしまいましょう。

6.3 jfbterm

jfbtermは、カーネルのframe buffer (⇒ §3.11)を利用して、テキスト・コンソールでも日本語を表示できるようにするソフトウェアです。

しかし、jfbtermを起動した直後に、画面モードの初期化がうまく機能しませんでした。カーネルのsisfbドライバや、jfbtermのソースコードを読んで、どちらに原因があるかを把握した後、きちんとした対策を…とりたいのですが、それまでの暫定的な処置として、jfbterm起動直後のシェル・スクリプトで、画面モードの設定を行う“fbset”を呼び出すことで、問題を解決してみました。

具体的には、jfbtermを使いたいユーザ・アカウントの ~/.cshrcに、例えば以下のようなステートメントを追加します。(私の場合、login shellとしてtcshを選択しています。他のシェルをお使いの場合など、そのままは利用できませんが、必要に応じて応用してみてください)。

               :
if ! $?REMOTEHOST then
  switch ( "$TERM" )
    case "jfbterm":
      setenv LANG ja_JP.eucJP
    case "linux"
      /usr/sbin/fbset -match   
  endsw
endif
               :

# リモート・ログインでなければ、
# 環境変数TERMを調べ、
# jfbtermだったなら、
# 環境変数LANGを設定し、fbsetを実行
# linuxだったなら、
# fbsetのみを実行

fbsetは、/dev/fb0を読み出そうとしますが、

# ls -l /dev/fb0
crw--w--w-    1 root     tty       29,   0 Jul  6  2000 fb0    
と、フレームバッファが、一般ユーザには読み出しを許可されていませんので、fbsetにsuidを設定して、fbsetが常に、その所有者、すなわちroot権限で動くようにしておきます。
# chmod u+s fbset
# ls -lh fbset
-rwsr-xr-x    1 root     root          26K Jul 27  2001 fbest* 

これで、さきほどの ~/.cshrcスクリプトを設定したユーザからjfbtermを起動すると、日本語表示可能なコンソールが現われるようになります。


7. XFree86 4.2.1

7.1 カーネルのコンフィグレーション

InterLink XPの液晶で、X serverに1024×600ドット表示させるには、Direct Rendering Managerをカーネルにサポートさせます(⇒ §3.10)

7.2 sis X driver

aptかdselectで、xlibmesa3やxserver-xfree86をインストールした後に、SiS VGA chipsets and Linux - The Projectに公開されているsis_drv.oとsis_dri.soやXF86Config-4の例などをダウンロードします。

Debian GNU Linuxの場合、aptやdseelctなど、インストールしたパッケージの新たなバージョンが出ると、それらが自動的に更新されてしまいます。ダウンロードしてきたsis X driverを、Debianパッケージで配布されたものと置き換える前に、dpkg-divertスクリプトを使って、それらが自動更新されてしまわないように指示します。

# cd /usr/X11R6/lib/modules/drivers
# mv sis_drv.o sis_drv.o.debian
# dpkg-divert --divert /usr/X11R6/lib/modules/drivers/sis_drv.o.debian /usr/X11R6/lib/modules/drivers/sis_drv.o 
# cd ../dri
# mv sis_dri.so sis_dri.so.debian
# dpkg-divert --divert /usr/X11R6/lib/modules/dri/sis_dri.so.debian /usr/X11R6/lib/modules/dri/sis_dri.so
:
(ダウンロードしたsis_drv.oとsis_dri.soをそれぞれのディレクトリにコピー)

XF86Config-4の液晶モニタまわりの設定例を以下に示します。

Section "Device"
        Identifier      "Generic Video Card"
        Driver          "sis"
        VendorName      "SiS"
        BoardName       "630"
        Option          "HWcursor"
        Option          "MaxXFBMem" "12288"
EndSection

Section "Monitor"
        Identifier      "Generic Monitor"
        HorizSync       45-80
        VertRefresh     56-100
        Option          "DPMS"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Device          "Generic Video Card"
        Monitor         "Generic Monitor"
        DefaultDepth    16
        SubSection "Display"
                Depth           8
                Modes           "1024x600" "800x600"
        EndSubSection
        SubSection "Display"
                Depth           16
                Modes           "1024x600" "800x600"
        EndSubSection
        SubSection "Display"
                Depth           24
                Modes           "1024x600" "800x600" 
        EndSubSection
EndSection

7.3 ふたつのマウス
(gpmがインストールされている場合)

gpmをインストールしてある場合とそうでない場合で、設定が異なります。

最初に、gpmがインストールされている場合について記します。§6.2に例示したような設定がなされていれば、gpmがふたつのマウスを監視しています。マウス入力はgpmを経由して、XFree86に入れると良いでしょう。

実際につながっているマウスたちがしゃべっているプロトコルの如何にかかわらず、gpmは、/dev/gpmdataにMouseSystemsプロトコルで監視下のふたつのマウスの動きを渡します。XF86Config-4の該当部分の抜粋を例示します。

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/gpmdata" 
        Option          "Protocol"              "MouseSystems"
#       Option          "Emulate3Buttons"       "true"
#       Option          "ZAxisMapping"          "4 5"
EndSection

2ボタンマウスに3ボタンをエミュレートさせるEmulate3Buttonsや、マウスホイールをサポートするためのZAxisMappingなど、man 5x XF86Config-4を参照しながら、ご自分の環境に合わせて設定してみてください。

7.4 ふたつのマウス
(gpmがインストールされていない場合)

gpmを使っていない場合には、トラックポイント /dev/psauxと、外付けのUSBマウス /dev/input/miceそれぞれのInputDeviceセクションを下に例示するような形で、XF86Config-4に記述します。

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "PS/2"
#       Option          "Emulate3Buttons"       "true"
#       Option          "ZAxisMapping"          "4 5"
EndSection

Section "InputDevice"
        Identifier      "Generic Mouse"
        Driver          "mouse"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/input/mice" 
        Option          "Protocol"              "usb"
#       Option          "Emulate3Buttons"       "true"
        Option          "ZAxisMapping"          "4 5"
EndSection      :
              (中略)
                :
Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
        InputDevice     "Generic Mouse"
EndSection

2ボタンマウスに3ボタンをエミュレートさせるEmulate3Buttonsや、マウスホイールをサポートするためのZAxisMappingなど、man 5x XF86Config-4を参照しながら、ご自分の環境に合わせて設定してみてください。


8. SD/MMC bus

InterLink XPに使われているSD/MMC busと同じ物がLinuxで扱われているものとして、Sharp ZaurusのSAシリーズがあります。Zaurusカーネルのソースから移植すれば、何んの苦労もなく使えるだろうと思っていたのですが、権利関係の問題で、SD/MMC busのドライバ・モジュールだけは、ソースが公開されていないようでした。SDは著作権保護機構を持った規格であるため、その辺の守秘項目がありソースは出せないのだという噂を耳にしました。


9. その他の情報源


Altair☆'s Pageに戻る Copyright (c) 2002, Altair☆
<NBG01720@nifty.ne.jp>