VAIO C1VJへのLinuxインストール


  1. 準備
  2. インストール
  3. PCMCIA
  4. XFree86
  5. Kernel
  6. USB
  7. Sound
  8. LongRun for Linux
  9. Motion Eye
  10. ETC
  11. Links

1. 準備

1.1 前置き

このページは Sony VAIO PCG-C1VJ Vine Linux をインストールした際のメモをもとにまとめたものです。 記述してあることに間違いがあるかもしれませんので参考程度にしてください。 もし間違いを見つけたら、連絡していただけるとうれしいです。

1.2 準備

必要なものを準備します。今回は下記のものを用意しました。

本体Sony VAIO PCG-C1VJ
DVD-ROMドライブSony PCGA-DVD51/A
USB機器Logitech Wheel Mouse(M-BD58), Sony PCGA-JR1
EthernetカードCorega EtherII PCC-T, IO-DATA WN-B11/PCM

@ Linuxディストリビューション

インストールするLinuxディストリビューションは何にしても問題はないと思います。 今回インストールしたのは Vine Linux 2.1.5 です。 日本語環境が整っていて安定している感があるからです。 インストールしたことのあるディストリビューションがあればそれをインストールするのが良いでしょう。

@ X Window System

X Window Systemを使うにはXFree86 Ver4.0.2以降を使う必要があります。 それ以前のバージョンではパッチを当てないと、 画面下部に数ドット白い帯のようなものが出るという不都合があります。XFree86.org などから最新バージョンを落としておきましょう。 もしくはXFree86 Ver4.0.2以降を採用しているLinux ディストリビューションを選ぶのも手かもしれません。

1.3 既存環境のバックアップとパーティションの切り直し

既存の環境(プレインストールされていたWindowsMeなど)をバックアップしてから、 パーティションを切り直し、Linuxをインストールするための領域を空けます。

@ 8GBの壁

パーティションをどう切るかを考えます。 選んだディストリビューションにもよりますが、「8GB(1024シリンダ)の壁」 問題が生じてきます。(詳しくは、JFの 文書 を参照ください。) 簡単に言いますと、古いliloなどのブートローダでは、 8GB(1024シリンダ)より後ろの方にカーネルがあるとそれをロードできないという問題があります。 新しいlilo(LILO version 21.4-4) やこの問題に対応できているブートローダであれば問題ありません。 しかし、Vine Linux 2.1(2.1.5も?)や Kondra Linux 2000では この問題を解決するためのオプション "lba32" を /etc/lilo.conf に記載してインストールしないためか、 8GBより後ろにカーネルを配置する場合は工夫が必要になります。 今回はlinuxパーティションが前になるように切りなおしました。 参考にfdiskの結果を載せておきます。

[root@grace /root]# /sbin/fdisk /dev/hda

The number of cylinders for this disk is set to 1467.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): p

ディスク /dev/hda: ヘッド 255, セクタ 63, シリンダ 1467
ユニット = シリンダ数 of 16065 * 512 バイト

 デバイス ブート   始点      終点  ブロック   ID  システム
/dev/hda1             1        16    128488+  82  Linux スワップ
/dev/hda2            17       527   4104607+  83  Linux
/dev/hda4   *       528      1467   7550550    7  HPFS/NTFS

コマンド (m でヘルプ): q

@ Windowsの再インストール

パーティションの切り方が決まったら、次にWindowsMeをバックアップして再インストールします。 全部Linuxでもかまわないと思いますが、Windowsも残して置いた方が何かと便利でしょう。 Sonyが正式対応したため、今回はWindows2000をインストールしました。 Windows2000のインストールやWindowsMeの再インストールについては他のWebを参照ください。

2. インストール

2.1 ブート

インストールの方法はいろいろありますが、今回はBootable CDによるインストールにします。

DVD-ROMドライブを本体にさして起動させます。このとき、DVD-ROMのACアダプタは はずしておきます。 無事CDが起動したら、liloにパラメータを渡してDVD-ROMドライブを認識させます。 (2つ目のIDEコントローラのIOポートを教えてる?)

Boot: linux ide2=0x180,0x386

Xサーバがそのままではうまく起動できないため、インストール時はGUIベースでなくテキストベースで行っていきます。

2.2 インストール

デスクトップなどでLinuxをインストールした経験があれば特に問題はないと思います。 参考にインストールの際選んだもののメモを載せておきます。

  1. DVD-ROMにACをささないでBootさせる。
  2. "boot: text ide2=0x180,0x386"
  3. "キーボード"は"jp106"
  4. "OK"
  5. "インストールの種類"は"カスタムインストール"
  6. "ディスクのセットアップ"は"fdisk"
  7. "現在のディスクパーティション"でマウントポイントを決める。 とりあえず/のみ
  8. "フォーマットするパーティションの選択"で "/dev/hda1"を指定する。
  9. "LILOの設定"は特にないので空白にしておく。
  10. v
  11. "LILOの設定"はMBRにLILOをインストール。
  12. ブートラベルは特に変更しない。
  13. ホスト名を入れる。
  14. "マウスの選択"。コンソールでは使わないし、Xのやつは後で設定するので適当に選ぶ。
  15. "タイムゾーンの選択"、特に変更しない。
  16. "Rootパスワード"を入れる。
  17. "ユーザの追加"で一般ユーザを追加しておく。
  18. "ユーザアカウントの設定"、特に変更しない。
  19. "認証の設定"、特に変更しない。
  20. "パッケージグループの選択"では"Everything"と"個々のパッケージを選択する"を選ぶ。
  21. 細かいパッケージについては適度に選ぶ。
  22. "パッケージの依存"、特に変更しない。
  23. "X設定の検出の結果"、特に変更しない。 Mach64と認識された。
  24. "インストールの開始"、特に変更しない。
  25. HDDのフォーマットをしてインストールが開始される。
  26. 待つ…。
  27. "ブートディスク"は作らない。
  28. "モニタセットアップ"は適当に答える。そして"Xの起動テスト"は"スキップ"にする。
  29. インストール完了。

@ LILO

インストールしたままだとWindowsとのデュアルブートできるような状態になっていないので、/etc/lilo.conf

In /etc/lilo.conf

other=/dev/hda3
label=win

を最後の方に追加し、

# /sbin/lilo

を実行させます。これで、ブート時のメニューでwinを選択することができます。

@ X Window System

Vine Linux 2.1.5のXはVer3.3.6です。 このバージョンでは、いろいろ苦労したり、patchをあてたりすれば起動はできますが、下の方に白い帯のように描画されない部分ができてしまいます。 最新版であるXFree4.0.2では問題なく描画できる上に、3.3.6よりも高速ということなので、今回はX4.0.2をインストールすることにしました。 そこで、インストーラではXの設定をスキップさせ、あとでインストールします。

3. PCMCIA

3.1 Ethernet

@ Corega EtherII PCC-T

以前は、カードを挿すと間違ったドライバがロードされてしまいましたが、Vine Linux 2.1.5では正しいドライバがロードされ、正常に動作します。

In /etc/pcmcia/config

card "Corega PCC-T Ethernet"
  version "corega K.K.", "corega EtherII PCC-T"
  bind "pcnet_cs"

@ IO-DATA WN-B11/PCM

このカードは新しいのでカードを挿してもドライバがロードされません。 なのでこのままでは正常には動作しません。そこで、

[root@grace /root]# /sbin/cardctl ident
Socket 0:
  product info: "IO DATA", "WNB11PCM", "Version 01.02", ""
  manfid: 0x028a, 0x0002
  function: 6 (network)

と、カードに関する情報を得ます。そしてこの情報を/etc/pcmcia/configへ書き込みます。

In /etc/pcmcia/config

card "IO DATA WNB11PCM Version 01.02"
  manfid 0x028a,0x0002
  bind "wvlan_cs"

これで、挿すだけでドライバがロードされ正常に使用できます。 (*このカードについては、prism2のドライバをロードするのが正しいらしいのですが、うまくロードさせることができていません。そのうち調べていきます。2001.05.12)

どのドライバを入れればいいかわからないときは、ネットで調べましょう。 それでもよくわからないときは、手当たり次第にドライバをロードさせるのも手です。 そのときはログ(/var/log/messageなど)の結果が大いに参考になりますので、忘れずにチェックしましょう。

@ 設定

カードが認識されたらネットワークの設定をします。 この辺はデスクトップの場合と同じです。

In /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.5
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
NAME=ethernet0

3.2 DVD-ROM Drive

@ Sony PCGA-DVD51/A

ACコードを挿さない場合は、PCカードを挿すだけで正常に動作します。

In /etc/pcmcia/config

card "Ninja ATA"
  version " ", "NinjaATA-"
  bind "ide_cs"
[root@grace pcmcia]# /sbin/cardctl ident
Socket 0:
  product info: " ", "NinjaATA-", "V1.0", "AP00 "

ACコードを挿した場合(CardBus?)は正常に動作していません。 (今度調べてみます。2001.05.12)

[root@grace pcmcia]# /sbin/cardctl ident
Socket 0:
  no product info available

4. XFree86 Ver.4.0.x

4.1 Download

XFree86をインストールします。先に述べた通りVine Linux 2.1.5でのXのバージョンは3.3.6なので、XFree.org からVer4.0.xをダウンロードしてきます。 今回はVer 4.0.2のバイナリをインストールすることにします。

XFree.org から XFree4.0.2(linux-ix86-glibc2.1) をダウンロードします。 (インストールしたディストリビューションによってダウンロードすべき物が変わるかもしれません。) または、雑誌のCD等から入手するという手段もあります。

4.2 Install

Installを参考にインストールをしていきます。

@ バックアップ

まず、

$ cp -r /usr/X11R6 /usr/X11R6.336
$ cp -r /etc/X11 /etc/X11.336

などして以前の物をバックアップします。後戻りする気がなければ、しなくても良いでしょう。

@ インストール

つぎに、適当な場所に置いたX4.0.2のディレクトリィの中で、

# sh Xinstall.sh

を実行します。いろいろと聞かれるので適切に答えていきます。 参考にインストールした際のメモを載せておきます。

# sh Xinstall.sh

Do you wish to continue? y 
Do you wish to continue? y 
Do you want to move them to /etc/X11 and create the necessary links? y
Do you want to overwrite the app-defaults config files? n
Do you want to overwrite the fs config files? n
Do you want to overwrite the lbxproxy config files? n
Do you want to overwrite the proxymngr config files? n
Do you want to overwrite the rstart config files? n
Do you want to overwrite the twm config files? n
Do you want to overwrite the xdm config files? n
Do you want to overwrite the xinit config files? n
Do you want to overwrite the xsm config files? n
Do you want to overwrite the xserver config files? n
Do you want to install Xfsrv.tgz (font server)? y
Do you want to install Xnest.tgz (Nested X server)? y
Do you want to install Xprog.tgz (programmer support)? y
Do you want to install Xprt.tgz (X print server)? n
Do you want to install Xvfb.tgz (Virtual framebuffer X server)? y
Do you want to install Xf100.tgz (100dpi fonts)? y
Do you want to install Xfcyr.tgz (Cyrillic fonts)? y
Do you want to install Xflat2.tgz (Lattin-2 fonts)? y
Do you want to install Xfnon.tgz (Some large fonts)? y
Do you want to install Xfscl.tgz (Scaled fonts (Speedo and Type1))? y
Do you want to install Xhtml.tgz (Docs in HTML)? y
Do you want to install Xjdoc.tgz (Docs in Japanese)? y
Do you want to install Xps.tgz (Docs in Postscript)? n
Do you wish to have the (new) links installed? n
Do you wish to have this link installed? n
Do you want them moved to /usr/X11R6/lib/modules/old? y

Installation complete.

@ XF86Config

インストールが完了したらXF86Configを編集します。 xf86configなどで雛形を作り、自分の好みで修正してください。

そのとき必要になるModelineは、

       Modeline "1024x480" 65 1024 1032 1176 1344 480 488 494 560

です。(from HANZUBONIZM )

自分が使用しているXF86Configを置いておきますので参考にしてください。

5. Kernel 2.4.x

longrunがカーネルの2.4.xを要求しますのでインストールします。特に変わったことはなく、他のマシンで再構築を経験したことがあれば、何も問題はありません。また、やったことがなくても他のサイトのカーネル再構築の説明が参考になるかと思います。

参考に私が再構築したカーネルの.Configを置いておきますので参考にしてください。(kernel2.4.4用)

6. USB

Vine Linux 2.1.5のカーネルは2.2.18ですが、2.4からのUSB関係のコードをバックポートしていますので、このままでも様々なUSB機器に対応しているようです。 しかし今回はカーネル2.4.xをインストールすることにします。

カーネルに必要なコンフィギュレーションは、

などです。これらはカーネルに組み込んでください。今回はusbmgrを使いますので各デバイスで必要となるドライバはモジュールにしてしまった方がいいでしょう。

各USBドライバ以外にも必要となるコンフィギュレーションがある場合もあるので、自分の使うデバイスをよく確認しましょう。(USB AudioならAudio supportが必要など。)

カーネルを再コンパイルしたら、USB機器のコンフィギュレーション情報を/etc/usbmgr/usbmgr.confに追加します。

コンフィギュレーション情報を得るためには、USB機器を挿してから、

# /sbin/dump_usbdev
とします。すると、
vendor 0x46d product 0xc00c module <module_name>
というような情報が得られます。これを /etc/usbmgr/usbmgr.confに追加します。 <module_name>には組み込むモジュールの名前を書きます

忘れていましたが、機器の設定の前に、

In /etc/usbmgr/usbmgr.conf

host uhci

を追加しておきます。usb-uhciでもいいのですが、メモリスティックがなぜかuhciの方でないと動かないのでこうしています。

また、起動時ぴっぴっとうるさいと感じましたら、

beep off
を追加しておくと良いでしょう。さらに、/etc/sysconfig/usbというファイルを作り、なかにusb=uhciと書いておくと起動時にohciの項目がなくなり、failの文字が見なくてすみます。

# echo "usb=uhci" > /etc/sysconfig/usb

参考に私がいくつか書き加えたusbmgr.confを置いておきますので参考にしてください。

6.1 USB Mouse(Logitech Wheel Mouse)

@ コンフィグ

In /etc/usbmgr/usbmgr.conf

# Optical Wheel Mouse [Logitech]
vendor 0x46d product 0xc00c module hid , mousedev

@ XF86Config

Xでのポインティングデバイスの設定とUSB Mouseの設定を行います。ポインティングデバイスの方はふつうのPS/2Mouseと同じです。

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "PS/2"
        Option      "Device"   "/dev/mouse"
        Option      "AlwaysCore"
EndSection

そして、USB Mouseの方の設定は

Section "InputDevice"
        Identifier  "Mouse1"
        Driver      "mouse"
        Option      "Protocol" "IMPS/2"
        Option      "Device"   "/dev/usbmouse"
        Option      "ZAxisMapping" "4 5"
EndSection

となります。

この時、/dev/usbmouseが必要となりますのでない場合は作ってください。作り方はカーネルのDocumentation にありますので、参照ください。

From /usr/src/linux/Documentation/usb/input.txt

        cd /dev
        mkdir input
        mknod input/mice c 13 63

しかし、Vine Linux などではあらかじめ作ってあるようです。

[multi_7@grace multi_7]$ ls -lF /dev/usb*
crw-rw-rw-    1 root     root     180,  48 Oct  9  2000 /dev/usbhpscanner
crw-r--r--    1 root     root     180,   0 Oct  9  2000 /dev/usblp0
lrwxrwxrwx    1 root     root           10 Apr 22 02:30 /dev/usbmouse -> input/mice
crw-r--r--    1 root     root     180,  16 Oct  9  2000 /dev/usbmouse0

/dev/usb:
合計 0
crw-r--r--    1 root     root     180,   0 Oct  9  2000 lp0
crw-r--r--    1 root     root     180,   1 Oct  9  2000 lp1
crw-r--r--    1 root     root     180,   2 Oct  9  2000 lp2
crw-r--r--    1 root     root     180,   3 Oct  9  2000 lp3
crw-r--r--    1 root     root     180,   4 Oct  9  2000 lp4
crw-r--r--    1 root     root     180,   5 Oct  9  2000 lp5
crw-r--r--    1 root     root     180,   6 Oct  9  2000 lp6
crw-r--r--    1 root     root     180,   7 Oct  9  2000 lp7

また、ポインティングデバイスとUSB Mouseを共有するために

        Option      "AlwaysCore"

をつけておきます。(ポインティングデバイスの方に付けまし た。)そのあと、ServerLayoutに

Section "ServerLayout"
        InputDevice     "Mouse1" "CorePointer"
        InputDevice     "Mouse0" "CoreXinput"
EndSection

を追加しました。これでUSB Mouseとポインティングデバイスの両方が使えて便利です。

6.1 USB Audio(Jog Remote Controler)

Jog Remote ControlerはUSB Audio,Serial,Hubと3つのUSBがあるようです。 HubはAudioとSerial(Jogダイヤルや液晶部分用?)をつなぐためのものだと思います。 Jogダイヤルや液晶部分は独自のプロトコルでPCとやりとりしていると思われるので、解析しないと利用できないと思います。というわけで、使えるのはUSB Audioの部分だけです。これも特に難しいところはなく、audioドライバを組み込むだけです。

@ コンフィグ

In /etc/usbmgr/usbmgr.conf

# Sony PCGA-JR1 (Jog Remote Contorler)
#vendor 0x451 product 0x2036 module ?
vendor 0x471 product 0x104 module soundcore, audio
#vendor 0x53c product 0x44 module ?

@ XMMS

[オプション]→[設定]→[オーディオ入出力プラグイン]→[(OSS Driver 1.2.2)設定]→[代わりのデバイスを使う]を見てください。たぶん、

/dev/dsp
となっていると思います。ここにUSBオーディオのデバイスファイルを書けば音が聞こえてきます。私の場合は
/dev/dsp1
でしたので、書き換えました。

6.1 USB Mass Storage(Memory Stick)

USB関係以外では、

あたりが必要となりますので、カーネルに組み込んでください。

@ コンフィグ

In /etc/usbmgr/usbmgr.conf

# Sony Memory Stick Slot(VAIO PCC-C1VJ)
vendor 0x54c product 0x32 module scsi_mod, sr_mod, usb-storage

@ マウント

認識できれば後はふつうのディスクの場合と一緒です。

# mount -t vfat /dev/sda1 /mnt/floppy/

7. Sound

カーネル(OSS)で設定する方法とALSAで設定する方法があります。今回はカーネルで設定します。

7.1 OSS

カーネルを再コンパイルします。

このあたりをyにします。

再起動させて認識させることができたら、gmix, xmmsなどでちゃんと音がでるか確認してください。 もし音が割れて聞けないような状態であれば、BIOSのPlug and Playをoffにすると解消するようです。

8. LongRun for Linux

8.1 ダウンロード

ネット からLongRun for Linux をダウンロードします。

8.2 コンパイル

/dev/cpu/*/cpuid/dev/cpu/*/msrが必要となるため、カーネルを再コンパイルします。

あたりをyにします。その後、longrun for linuxをコンパイルします。

$ tar xvfz longrun-0.9.tar.bz2
$ cd longrun/
$ make
# ./MAKEDEV-cpuid-msr
# ./longrun -p

できたバイナリをpathの通った適当な場所にコピーしてください。使い方はREADME等を見ればわかると思います。

[root@grace longrun]# ./longrun 
longrun 0.9 (2001-02-14)
usage: longrun [-c device] [-m device] [-hlpv] [-f flag] [-s low high]
 -c device     set CPUID device
 -m device     set MSR device
 -h            print this help
 -l            list LongRun information about available performance levels
 -p            print current LongRun settings and status
 -v            be more verbose
 -f [flag]     set a LongRun mode flag
 -s low high   set current LongRun performance window (0 to 100)

supported flags:
 economy       set economy mode (turn off performance mode)
 performance   set performance mode (turn off economy mode)
[root@grace /root]# /sbin/longrun -p
LongRun: enabled
LongRun Thermal Extensions (LTX): inactive
Current performance window: 0 to 100
Current performance level: 0
LongRun flags: performance

9. Motion Eye

9.1 ダウンロード

Sony PCG-V1XS Picturebook Camera Capture Programからcapture.tgzを取っ てきます。

9.2 コンパイル

make一発です。もし`imlib-config --libs`でエラーがでたら、画像関係のライブラリが足りないということです。 適当に足りないものを補充しましょう。

コンパイルが通ったら、できあがったバイナリcapture, avitompgをpathの通った適当な場所にコピーしましょう。

使い方はhelpを見ればわかると思います。

[root@grace picturebook]# ./capture --help 

VAIO PCG-C1XS capture program
Copyright 2000 tridge@linuxcare.com
For the latest version see http://samba.org/picturebook/

capture 
  -o outfile       set output filename
  -q quality       set compressed image quality (1-10  default 8)
  -P               capture as a PPM file
  -V captime       capture an avi video for the specified number of seconds
  -O               turn off camera afterwards
  -4               use 1:4 sub-sampling
  -s               go into "snap" mode
  -r rate          set framerate in frames per second
  -j               display input from jogger/buttons etc
  --brightness=n   set brightness
  --contrast=n     set contrast
  --hue=n          set hue
  --color=n        set color
  --sharpness=n    set sharpness
  --agc=n          set agc
  --picture=n      set picture
  --explode=fname  explode a AVI file into frame.*
  -h               show usage

10. ETC

その他のデバイスです。

10.1 Jog Dial

... about VAIO-C1VJ w/ Linuxから jogutils.tar.gzを取ってきてコンパイルします。

$ tar xvfz ~/jogutils.tar.gz
$ cd jogutils/
$ less README.euc 
$ make
# mknod /dev/spic c 60 0
# /sbin/insmod spicdriver/spicdriver
$ cp jogapp/rcfile ~/.jogapprc
$ jogapp/jogapp
$ jogappm/jogappm

私の環境ではなぜか文字が化けていますが、各種アプリケーションを起動することができました。

10.2 i.LINK

カーネルを再コンパイルします。

あたりをyにすれば認識されるはずです。

IEEE 1394 for Linux などから使用するアプリケーションを取ってきてコンパイルしましょう。 現在は、IP over 1394やDV over 1394などが利用できるようです。

10.3 液晶の輝度調整と電池容量の確認

Sony PCG-V1XS Picturebook Camera Capture Program からcapture.tgzを取ってきます。 この中にsetbrightness.c, vaiobat.c がありますのでこれをコンパイルします。

@ setbrightness

# gcc -O -o setbrightness setbrightness.c

引数に0〜255を与えます。255が最大輝度です。

# ./setbrightness 0
currently fffb
# ./setbrightness 255
currently ff00

@ vaiobat

# gcc -O -o vaiobat vaiobat.c

起動すれば電池の残容量などがわかります。

[root@grace /root]# /sbin/vaiobat 
Battery 1800/1800 100.00% AC BAT1 
[root@grace /root]# /sbin/vaiobat 
Battery 1800/1800 100.00%  BAT1 

10.3 Modem

利用できません。

10.4 ACPI

サスペンドとハイバネーションの利用ができません。

11. Links

このページを作成するのに参考にしたページです。場合によったらこのページを読むより、これらのLinkをたどった方が有意義かもしれません。

11.1 Links

11.2 切れてしまったLinks


変更履歴
2001.02.23 Ver.0.5 とりあえず作る。
2001.03.02 Ver.0.6 参考にしたLinkを列挙。
2001.03.12 Ver.0.7 USBなど一通りの概略を書いた。
2001.05.08 Ver.0.8 CSSでちょっと見栄えをよくした。もう少し詳しく書くため見直しを始めた。
2001.05.09 Ver.0.81 インストールの途中まで書き終えた。
2001.05.10 Ver.0.82 PCMCIAの途中まで書き終えた。
2001.05.12 Ver.0.83 Xの途中まで書き終えた。
2001.05.14 Ver.0.84 USBの途中まで書き終えた。
2001.05.18 Ver.0.85 Captureまで書き終えた。
2001.05.20 Ver.0.9 とりあえず完成ということにした。
2001.05.22 Ver.1.0 完成。たぶんしばらくメンテしません。
Multi_7(multi_7@nifty.com)