ノートPCにLinuxを!

ノートPCでLinuxを使う場合には、ハードウェアの制約をちょっと気にする必要 があります。そんな中でPanasonicのLet's Noteシリーズは比較的簡単にLinuxを インストールして使うことができます。ここでは、その中でも CF-M2Rの設定方 法を紹介します。

注意

以下に書かれている内容は全くの無保証です。この設定は私が所有する Let's note上で行ったものであり、同じ型番の製品でも部品が異なるかも知れま せん。従って、この手順に従って設定されたとしても、同じように動作するかは わかりません。また、設定したことによって何らかの損害が生じても、私は一切 責任を負いません。全て御自身の責任において実行してください。


Let's Note M2Rの設定

Vine-2.1

最初にインストールしたのはVine 2.1でした。 2.1のときのメモはここを参照 してください。また、Vine Linux 2.1のインストールに関しては この本を参考にしましょう。

Vine-2.5

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

○ SCSIデバイスとして設定する

内蔵の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.iso
        
xcdroastではSetupのところで以下のようにします。
        CD-Writer-Mode : Autodetect
        CD-Writer Speed : 4x
        Audio-Read-Mode : ATAPI
        Audio-Read Speed : 6x

■ USB

○ USB全般の設定

USBポートを使用することができます。USB関連のドラ イバはUSBマネージャ usbmgr(カーネル2.2系の場合)で管理されます。カーネル 2.4系は特に設定しなくてもできるようです。USBマネージャはポートに機器を挿す と、自動的に必要なモジュールを組み込んでくれます。また、機器を外すと自動的 に不要なモジュールを除いてくれます。

○ USB FDDの設定 (カーネル2.2系)

・usbmgrの設定

[注]. 新しいバージョンでは、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
でマウントすることができます。

・MS-DOS形式のフロッピー

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マウスの設定 (カーネル2.2系)

・usbmgrの設定

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カード

○ 環境

使用した無線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-eth1
ifcfg-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行はシェルスクリプトにしてお くと便利ですね。

シェルスクリプトに関してはこの本 を参考にしましょう。

○ 環境2

PLANEXのGW-CF11H Wireless CF Cardもあったので、試してみました。

○ ネットワークの設定2

カードが認識されなかったので、/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の設定はメルコのカー ドと同じでできました。

■ デジタルカメラ USB接続

○ ドライバの変更

Vine LInux 2.5の標準では uhciが自動的にロードされてしまいます。これを usb-uhciになるように変更します。

・/etc/modules.confに追加

/etc/modules.confに以下の行を追加してください。この行は次の /etc/rc.d/rc.sysinitの修正を行わないと有効になりません。

       alias usb-controller usb-uhci

・/etc/rc.d/rc.sysinitの修正

/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

・murasakiの設定

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/にある)をインストールします。あくまでもテストカー ネルですから慎重に!うちのは動いています。


Masaki Kawamura
Last modified: Sun Feb 1 15:32:14 JST 2004