ノートPCでLinuxを使う場合には、ハードウェアの制約をちょっと気にする必要 があります。そんな中でPanasonicのLet's Noteシリーズは比較的簡単にLinuxを インストールして使うことができます。ここでは、その中でも CF-M2Rの設定方 法を紹介します。
以下に書かれている内容は全くの無保証です。この設定は私が所有する Let's note上で行ったものであり、同じ型番の製品でも部品が異なるかも知れま せん。従って、この手順に従って設定されたとしても、同じように動作するかは わかりません。また、設定したことによって何らかの損害が生じても、私は一切 責任を負いません。全て御自身の責任において実行してください。
最初にインストールしたのはVine 2.1でした。 2.1のときのメモはここを参照 してください。また、Vine Linux 2.1のインストールに関しては この本を参考にしましょう。
M2Rでは CD-RWが内蔵されているので、インストールは問題なくできます。 ここで説明する設定方法はインストール後の設定方法です。また、各設定は Vine Linux 2.5CR上で行ったものですが、他でも同様にできると思います。
Vine Linux 2.5CRではカーネル2.4.18と2.2.20が採用されていました。このバー ジョンではUSBに一部対応しています。M2Rには外付けのFDD(フロッピーディスクド ライブ)がありますが、このFDDを使うことができます。
次の表に、インストール時にそのまま認識されて、使える機能は青色で、ちょっと設定をいじって使える機能は黄色で、現状ではうまく使えない、または試していな い機能は赤色で示します。
LANカード | Intel Ethernet Pro 100 | eepro100と自動認識 |
ビデオ | NeoMagic 256AV | 1024x768, 24bpp 自動認識 |
CD-R/RW | MATSHITA UJDA310 | ATAPI CD-ROM(hdc)として自動認識 |
- | CD-R/RWにするには要設定 | |
USBポート | - | usbmgrが対応しているものに限る |
FDD | USB(外付) | USBの設定を行えば使用可 |
マウス | USB | カーネル2.2.20: BIOSでレガシーUSBを有効にすれば、そのままでPS/2マウスとして使える |
カーネル2.4.18: USBマウスとして設定 | ||
サウンド | NeoMagic 256AV | 要設定 |
内蔵モデム | PCTel | カーネル2.2.14用のバイナリパッケージ有り |
携帯電話用内蔵モデム | - | 不明 |
その他 | - | - |
その他、接続したものの動作
無線LANカード | Buffalo WLI-PCM-L11 | 内蔵のイーサと競合する |
デジタルカメラ | Sony Cyber Shot DSC-F505V | USB接続。標準ではドライバuhciになるが、 usb-uhciを用いる。 |
以下の設定を全て行った後のファイル内容です。
サウンドカードはNeoMagic 256AVで、ドライバも一応対応しているようですが、 そのままでは使えませんでした。/etc/modules.confは以下のようにし ます。
alias sound-slot-0 nm256_audio options nm256_audio force_load=1
上記を記述後に、modprobeコマンドでモジュールを組み込んでみて下さい。
# modprobe nm256_audio # lsmod ... nm256_audio 66684 0 sound 52812 0 [nm256_audio] soundcore 3276 5 [sound] ac97 2888 0 [nm256_audio] ...
モジュールが組み込め、音が出力されたら成功です。 うまく組み込めず、諦める場合は /etc/modules.confの該当部分を削除しておいてください。そうしない と、再起動したときにうまく立ち上がりません。
内蔵のCD-R/RWをCD-ROMとして使うのであれば、何の設定も要りません。しかし、 それではもったいないので、CD-R/RWとして使えるようにしましょう。この場合、 大抵 cdrecordなどのアプリケーションで書き込みを行います。cdrecordでは、 IDEのCD-R/RWを接続する場合はSCSIエミュレーションを使います。従って、内蔵の CD-R/RWをIDEではなくSCSIのCD-R/RWとして設定します。 /etc/lilo.confは以下の行を追加します。
append="hdc=ide-scsi"
再起動して、CD-R/RWにアクセスすると、ドライバが読み込まれるはずです。
こうすると、CD-R/RWはIDEのCD-ROM (/dev/hdc)としては認識されなくなりま すので、CD-ROMをマウントする時には注意が必要です。CD-R/RWはデバイス /dev/scd0として認識されるようです。自動的にリンクが変更されている と思いますが、/dev/cdromが/dev/scd0になっていることを確 認しておきます。
# ls -l /dev/cdrom lrwxrwxrwx 1 root root 9 Apr 27 16:34 /dev/cdrom -> /dev/scd0
/etc/fstabのcdromのエントリは次の様になっているはずです。kudzuが自動的に設定するようです。
/dev/cdrom /mnt/cdrom iso9660 iso9660 noauto,owner,kudzu,ro 0
CD-ROMをマウントするにはこれまでと同様に
$ mount /mnt/cdromでできるはずです。
ここまでの設定ができたら、CD-R/RWがSCSIのデバイスとして認識されている か、確認してみましょう。テストも兼ねて再起動します。うまく設定できれば、 以下のコマンドでCD-R/RWのトレーが飛び出します。
$ eject /mnt/cdrom
cdrecordがインストールされている場合、以下のようにするとデバイスが認 識されているかわかります。
$ cdrecord -scanbus Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jrg Schilling Linux sg driver version: 3.1.22 Using libscg version 'schily-0.5' scsibus0: 0) 'MATSHITA' 'UJDA310 ' '3.53' Removable CD-ROM 1) * 2) * 3) * 4) * 5) * 6) * 7) *
CD-R/RWに書き込むには次のようにします。
$ cdrecord -v -dummy speed=4 dev=0,0 [-audio] file.iso $ cdrecord -v -eject speed=4 dev=0,0 [-audio] file.isoxcdroastではSetupのところで以下のようにします。
CD-Writer-Mode : Autodetect CD-Writer Speed : 4x Audio-Read-Mode : ATAPI Audio-Read Speed : 6x
USBポートを使用することができます。USB関連のドラ イバはUSBマネージャ usbmgr(カーネル2.2系の場合)で管理されます。カーネル 2.4系は特に設定しなくてもできるようです。USBマネージャはポートに機器を挿す と、自動的に必要なモジュールを組み込んでくれます。また、機器を外すと自動的 に不要なモジュールを除いてくれます。
[注]. 新しいバージョンでは、usbmgrの設定を行わなくても良い場合があります。 次の/etc/fstabの設定からやってみてください。
USB FDDの情報を/etc/usbmgr/usbmgr.confに登録しておきます。 USB FDDを接続する前に、dump_usbdevコマンドを実行します。
# dump_usbdev class 0x9 subclass 0x0 protocol 0x0 module <module_name>
USB FDDを接続します。再度dump_usbdevコマンドで情報を取得します。
# dump_usbdev class 0x9 subclass 0x0 protocol 0x0 module <module_name> vendor 0x644 product 0x0 module <module_name>追加された最後のエントリーがUSB FDDの情報です。これを /etc/usbmgr/usbmgr.confに追加しますが、最後の<module_name>は scsi_mod, sd, usb-storageに置き換えます。従って、以下を加えてます。
# Panasonic CF-VFDU03 vendor 0x644 product 0x0 module scsi_mod , sd , usb-storage修正後、update_usbdbコマンドで情報をusbmgrに反映させれば、USB FDDを抜 き差ししても使えるはずです。
# update_usbdb /etc/usbmgr/usbmgr.conf
認識されると以下に情報が書かれますので、確認してください。 表示内容はCD-R/RWの有無で異なります(以下はCD-R/RWを装着時)。
$ cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: MATSHITA Model: UJDA310 Rev: 3.50 Type: CD-ROM ANSI SCSI revision: 02 Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: MATSHITA Model: FDD CF-VFDU03 Rev: 1026 Type: Direct-Access ANSI SCSI revision: 02 $ cat /proc/scsi/usb/1 (または /proc/scsi/usb/0) ) Host scsi1: usb-storage Vendor: MATSHITA Product: CF-VFDU03 Serial Number: None Protocol: Uniform Floppy Interface (UFI) Transport: Control/Bulk/Interrupt GUID: 064400000000000000000000
この時点でUSB FDDは /dev/sdaと認識されます。 もし、認識されない場合は手動で、モジュールはmodprobeで組み込むことができ ます。テストとして以下を実行してみてください。
# modprobe usbcore # modprobe usb-uhci # modprobe usb-storage
FDをマウントするときは、/etc/fstabのfloppyの所を次のように 修正しておきます。ファイルシステムの指定をautoにしているので、ext2フォー マットでもMS-DOSフォーマットでも自動認識します。
#/dev/fd0 /mnt/floppy auto noauto,owner 0 0 /dev/sda /mnt/floppy auto noauto,user 0 0このときは、
# mount /mnt/floppyでマウントすることができます。
mtoolsを用いてMS-DOS形式のFDを使うときは、 /etc/mtools.confのa:の所を次のように修正しておきます。
#drive a: file="/dev/fd0" exclusive 1.44m mformat_only drive a: file="/dev/sda" exclusive 1.44m mformat_only
USBマウスの情報を/etc/usbmgr/usbmgr.confに登録しておきます。 USBマウスを接続する前に、dump_usbdevコマンドを実行します。
# dump_usbdev class 0x9 subclass 0x0 protocol 0x0 module <module_name> vendor 0x644 product 0x0 module <module_name>USBマウスを接続し、再度dump_usbdevコマンドで情報を取得します。
# dump_usbdev class 0x9 subclass 0x0 protocol 0x0 module <module_name> vendor 0x644 product 0x0 module <module_name> vendor 0x627 product 0x2 module <module_name>追加された最後のエントリーがUSBマウスの情報です。数値はマウスのメーカに よって異なります。これを/etc/usbmgr/usbmgr.confに追加しますが、最後の <module_name>はhid, mousedevに置き換えます。従って、以下を加えてます。
# USB Mouse vendor 0x627 product 0x2 module hid, mousedev修正後、update_usbdbコマンドで情報をusbmgrに反映させれば、USBマウスを抜 き差ししても使えるはずです。
# update_usbdb /etc/usbmgr/usbmgr.conf
使用した無線LANカードはメルコ(BUFFALO)のWLI-PCM-L11というカードです。 同社のAir Station WLA-L11に接続しました。Air Stationの設定は付属の CD-ROMでWindows側から行いました。
Vine Linux 2.1.5まではドライバ wvlan_csを使用しましたが、Vine Linux 2.5からはorinoco_csになりました。また、デバイス名も wvlan0からeth1のように 設定できるようになりました。
設定ファイル /etc/sysconfig/network-scripts/ifcfg-eth1を作成します。 ifcfg-eth0のものをコピーして作ればよいでしょう。
# cd /etc/sysconfig/network-scripts/ # cp ifcfg-eth0 ifcfg-eth1ifcfg-eth1を書き換えて、以下のようにします。IPアドレスなどはご自身の環 境に合わせて設定してください。例ではDHCPを使用しています。
DEVICE=eth1 ONBOOT=no BOOTPROTO=dhcp USERCTL=yes
/etc/pcmcia/networkにカードを挿入したときと、取り出したときの 設定を記述しておくと、自動的に設定できるので便利です。例えば、startすると きには以下のようにします。
'start') [ -f /etc/sysconfig/network-scripts/ifcfg-${device} ] && \ /etc/sysconfig/network-scripts/ifup ifcfg-${device} ;;
ここまで設定できたらカードを刺すと、デバイスeth1が作成されるはずです。 この例では、DHCPを使用してIPアドレスが自動取得されています。
# /sbin/ifconfig -a eth0 リンク方法:イーサーネット ハードウェアアドレス 00:X:X:X:X:X inetアドレス:192.168.1.4 ブロードキャスト:192.168.1.255 マスク:255.255.255.0 BROADCAST MULTICAST MTU:1500 Metric:1 RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:100 割り込み:9 ベースアドレス:0xd000 eth1 リンク方法:イーサーネット ハードウェアアドレス 00:X:X:X:X:X inetアドレス:192.168.0.4 ブロードキャスト:192.168.0.255 マスク:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RXパケット:241 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:192 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:100 割り込み:3 ベースアドレス:0x100※ eth0とeth1以外は省略
DHCPを利用する場合は、ルーティング情報が変わるので良いのですが、ifcfg-eth1で静的なIPアドレスを指定している場合は、ルーティングを変更する必要が あります。デフォルトルートは eth0になっているはずなので、これを変更します。 ここでは、eth0は使用しないので、downにしておきます。
# /sbin/ifconfig eth0 down # /sbin/route add default gw 192.168.0.1ゲートウェイアドレス(192.168.0.1)は環境に合わせて設定して下さい。 これで外部にアクセスできるはずです。上記の2行はシェルスクリプトにしてお くと便利ですね。
シェルスクリプトに関してはこの本 を参考にしましょう。
PLANEXのGW-CF11H Wireless CF Cardもあったので、試してみました。
カードが認識されなかったので、/etc/pcmcia/vine.confの最後に以下の内容 を追加しました。これは、/sbin/cardctl identから得られる情報を元に作成し ます。
card "PLANEX GW-CF11H" version "PLANEX COMMUNICATIONS INC.", "PLANEX GW-CF11H Wireless CF Card", "" manfid 0xd601, 0x0005 bind "orinoco_cs"
service pcmcia restartでカードが認識されました。LANの設定はメルコのカー ドと同じでできました。
Vine LInux 2.5の標準では uhciが自動的にロードされてしまいます。これを usb-uhciになるように変更します。
/etc/modules.confに以下の行を追加してください。この行は次の /etc/rc.d/rc.sysinitの修正を行わないと有効になりません。
alias usb-controller usb-uhci
/etc/rc.d/rc.sysinitのusb=0の次の行を以下のように2番目の!を削除します。 これで、起動時に usb-uhciが読み込まれます。
修正前usb=0 if ! grep -iq "nousb" /proc/cmdline 2>/dev/null && ! grep -q "usb" /proc/devices 2>/dev/null ; then修正後
usb=0 if ! grep -iq "nousb" /proc/cmdline 2>/dev/null && grep -q "usb" /proc/devices 2>/dev/null ; then
USBマネージャ(カーネル2.4.X用)murasakiの方も uhciを読み込もうとします ので、usb-uhciを使うように修正します。/etc/murasaki/murasaki.preload を 修正して、uhci→usb-uhciに変更します。
mousedev hid usb-uhci
このファイルはmurasakiが起動されると自動的に書き変わってしまうので、 書き変わらないように、/etc/rc.d/init.d/murasakiの変数OVERWRITEをtrue以外 に修正します。
#OVERWRITE=true OVERWRITE=no
これで再起動すれば、usb-uhciモジュールが使用され、デジタルカメラが USB接続できます。
デジタルカメラの写真ファイルや動画ファイルをPC側にコピーするために マウントします。デジカメのデバイスは /dev/sda1となるので、このデバイスを マウントします。/etc/fstabに以下のように記述すると、mount /mnt/usbでマウ ントすることができます。
/dev/sda1 /mnt/usb auto noauto,owner,ro,user 0 0
/mnt/usb/dcim/100msdcf/以下に写真(jpgファイル)があり、 /mnt/usb/mssony/moml0001/に動画(mpgファイル)があります。
[ 注意 ]マウントするとき、sd_modが (initializing)となったまま固まることがあります。
# lsmod Module Size Used by Tainted: P sd_mod 10020 (initializing)
この様な場合、カーネルを自分で再構築(rebuild)するか、新しいカーネル (FTPサイトのTestPkg/i386/にある)をインストールします。あくまでもテストカー ネルですから慎重に!うちのは動いています。