Linux に CD-ROM ドライブを接続するためには、次に示す作業が必要です。
附属の説明書の通りに CD-ROM ドライブを接続してください。ドライブが内蔵 型か外付けか、またインターフェイスの種類などによって、接続方法は異なり ます。ハードウェアの接続に関しては、特に Linux ゆえに注意しなくてはな らない事はありません。ドライブとインターフェイスカードのジャンパスイッ チを設定する必要がある場合があります。そのドライブに適切なドライバに含 まれる README ファイルを読むと参考になるでしょう。
例えば README.ide に書いてあるように、IDE デバイスが1台だけの時には ATAPI CD-ROM のジャンパースイッチは slave ではなく single または master に設定しなくてはなりません。
Linux を最初に CD-ROM からインストールするためには、附属してくる起動ディ スクを使わなくてはなりません。可能ならば、CD-ROM の種類に合わせたドラ イバが含まれたディスクを選ぶ必要があります。もしも適切な起動ディスクが 見つからなければ、他の方法があります。
Linux Installation HOWTO http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Installation-HOWTO.html にはイ ンストールに関するさらに詳しい情報が載っています。Linux の入った CD-ROM を買った場合には、小冊子やテキストファイルの形でインストール方 法の解説がついていると思いますので、それを参考にしましょう。
Linux を一度インストールしてしまえば、大抵はカーネルを自分の環境に合わ せてコンパイルし直した方がいいでしょう。その理由は、
Linux Kernel HOWTO http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Kernel-HOWTO.html にはこのカー ネルの再構築について詳しく述べてあるはずです。ここでは CD-ROM に関係し たことだけを説明します。
もちろん、CD-ROM を使うためには make config をした後、コンパイルし直さ なくてはなりません。
ATAPI CD-ROM ドライブを持っている場合、次の質問に yes と答えなくてはな りません。
"Normal (MFM/RLL) disk and IDE disk/cdrom support?" "Include support for IDE/ATAPI CDROMs?"
SCSI の CD-ROM ドライブの場合は、次の質問に yes と答えます。
SCSI support? SCSI CDROM support?
また SCSI カードに合わせて次のような質問に正しく答えなくてはなりませ ん。たとえば AHA-1542 を持っていれば、
Adaptec AHA1542 support?
に yes と答えます。
独自インターフェイスを持つドライブの場合、適切なドライバを使うようにし てください。前に示した表を参考にどのドライバを使うかを見つけてください。
また全ての CD-ROM は ISO-9660 ファイルシステムを使うはずです。そこで
ISO9660 cdrom filesystem support?
に yes と答えます。
CD-ROM には関係ありませんが、ついでに(持っているならば)サウンドカー ドの設定をしておいた方がいいでしょう。 Sound-HOWTO が助けに なるでしょう。
設定が終ったら、手順にしたがってカーネルをコンパイルして、インストール してください。デバイスファイルや起動時のパラメータを設定するまでは、あ わてて再起動してはいけません。
CD-ROM のドライバにはカーネル・モジュールとして組み込めるものもたくさ んあります。これは Kernel HOWTO を参考に組み込んでください。
もしもあなたの持っているドライブがカーネルでサポートされていなかったら、 もっと新しいカーネルを使ってみる必要があるでしょう。(1.3.x でしかサポー トされていないドライバもあります。)
また、ドライバがカーネルとは別に配布されている場合もあります。これはカー ネルのソースコードににパッチを当てて使用します。これもやはり Kernel HOWTO を参考にしてください。
カーネルはどのデバイスドライバを使うかを判断するために、 デバイスファ
イルを使用します。通常の Linux のパッケージ(Slackware, Debian など)
を使っている場合には、インストール時に必要なデバイスファイルが作成され
ているはずです。例えば Slackware の場合、メニュー形式の設定ツールがつ
いています。またほとんどのシステムでは /dev/MAKEDEV
というス
クリプトがついているはずです。この節に書いてあることを手動で実行するこ
ともできます。どの方法を使うにしても、この節に書いてあること参考に、デ
バイスファイルを確認しておくことをお奨めします。
デバイスファイルを作るには、ドライブの種類に合わせてシェルコマンドを使 います。この作業をするには、おそらく root になる必要があるでしょう。 Linux のパッケージによってはここに示したのとは異なる名前の CD-ROM のデ バイスファイルを使っていることがありますので、注意してください。
CD-ROM のデバイス名には、覚えやすい名前のシンボリック・リンクを張る ことをお奨めします。例えばパナソニックの CD-ROM に次のようにしてリン クを張ります。
% ln -s /dev/sbpcd /dev/cdrom
音楽用 CD を使いたい場合は一般のユーザーがデバイスファイルに対して読 み書きができるように設定する必要があります。例えば次のようにします。
% chmod 666 /dev/sbpcd % ls -l /dev/sbpcd brw-rw-rw- 1 root disk 25, 0 Jul 18 1994 /dev/sbpcd
Linux 起動時に、デバイスドライバは適切なデバイスが存在するかを(普通は 特定のメモリのアドレスを見ることで)確認しようとします。多くのドライバ は複数のアドレスを探しますが、設定の違いによって、デバイス同士が同じア ドレスを使おうとして衝突したり、ハードウェアの制限などの問題から、デバ イスが使用するメモリアドレスを指定することが必要な場合があります。メモ リアドレスだけでなく、ほかのパラメーターなども含めて、ほとんどのドライ バでは起動時にブートローダーによってこの指定をすることができます。LILO の場合、 /etc/lilo.conf ファイルに
append = "sbpcd=0x230,SoundBlaster"
を書き加えます。LXboot の場合には /.LXbootrc に
/zImage -f ro spbcd=0x230,SoundBlaster ro
などとします。詳しくはそれぞれのブートローダーの説明書を見てください。
次節ではそれぞれのデバイスドライバについて特に注意しなくてはならないこ と、例えばデバイスファイルや起動時のパラメータやドライバの違いなどを述 べます。この節は、自分が持っているドライブの項目のみ読めば充分です。
(訳注:この節で、ドライバの説明として出てくる表の項目の、わかりにくい ものを簡単に説明します。「複数のドライブ接続」は、1枚のカードに複数台 のドライブを接続できるかどうかを示します。「音楽データ読み出し」はデー タの読み出しの可・不可であり、音楽CDが演奏できるかどうかではありませ ん。「カーネル設定オプション」はカーネルの make config の時に出てくる メッセージのことです。)
原作者: Eberhard Moenkeberg (emoenke@gwdg.de) マルチセッション: 可 (CD-52x ドライブ以外) 複数のドライブ接続: 可 ドライバのモジュール化: 可 音楽データ読みとり: 可 (CR-562 と CR-563 のみ) ドライブの自動認識: 可 デバイスファイル: /dev/sbpcd, メジャー番号 25 設定ファイル: sbpcd.h カーネル設定オプション: Matsushita/Panasonic CDROM support? README ファイル: README.sbpcd
このドライバは次のようなカーネルコマンドラインを受けとります。
sbpcd=<I/O アドレス>,<インターフェイスの種類>
最初のパラメータはデバイスのベースアドレス(たとえば 0x230)で、<イ ンターフェイスの種類> は "SoundBlaster", "LaserMate", "SPEA" のいず れかです。どのインターフェイスを使っているかのヒントは、 sbpcd.h を見 ると参考になるでしょう。sbpcd=0 を設定すると、自動認識をやめてドライバ を使わいようにします。
デバイスファイルはメジャー番号 25、マイナー番号0で、
% mknod /dev/sbpcd b 25 0
のように作成します。
1つのインターフェイスカードに4台までのドライブが接続できます。2台目 からのドライブはマイナー番号が1から3までのデバイスを使用します。複数 のインターフェイスカードを使うこともできます。この時はメジャー番号が 25 のものに加えて 26, 27, 28 のデバイスを作れます。(つまり最大4枚の カードを使って 16台の CD-ROM ドライブが接続できるのです。これ以上つな ぎたいという人がいないことを祈ります :-)
更に詳しいことは README.spbcd を見てください。
原作者: Ken Pizzini (ken@halcyon.com) マルチセッション: 不可 複数のドライブの接続: 不可 ドライバのモジュール化: 可 音楽データの読みだし: 不可 自動認識: 不可 デバイスファイル: /dev/sonycd535, メジャー番号 24 設定ファイル: sonycd535.h カーネル設定オプション: Sony CDU535 CDROM support? README ファイル: README.sonycd535
このドライバはカーネルコマンドラインのオプションとして
sonycd535=<I/O アドレス>
を受け付けます。 <I/O アドレス> はインターフェイスカードのベースアドレス(0x320 など)です。コンパイル前に sonycd535.h を書き換えることでも変更可能で す。
デバイスファイルは次のようにして作ることができます。
% mknod /dev/sonycd535 b 24 0
Linux のパッケージによってはこのドライブのための /dev/sonycd
というデバイスを持っているものもあります。このドライバの古いものはメジャー
番号が 21 になっているものがあります。あなたのデバイスファイルに正しい
番号 (24) が設定されているか確かめてください。
このドライバはかつてはパッチとして配布されていましたが、今では正式にカー ネルに含まれています。README.sonycd535 ファイルにはもっと詳しい情報が 書かれています。
原作者: Corey Minyard (minyard@wf-rch.cirr.com) マルチセッション: 可 複数ドライブの接続: 不可 ドライバのモジュール化: 可 音楽データの読みだし: 可 自動認識: 不可 デバイスファイル: /dev/cdu31a, メジャー番号 15 設定ファイル: cdu31a.h カーネル設定オプション: Sony CDU31A/CDU33A CDROM support? README ファイル: README.cdu31a
このドライバは次のカーネル・コマンドラインを受け付けます。
cdu31a=<I/O アドレス>,<割り込み>,PAS
最初はカードの I/O アドレスです(0x340 など)。2つめは割り込み番号で す。(0は Polled I/O を使うことを示します。)3つ目の(なくても構わな い)パラメータは、Pro-Audio Spectrum をつないでいる時には "PAS" を指定 し、なければ何も書きません。
デバイスファイルは次のようにして作ります。
% mknod /dev/cdu31a b 15 0
README.cdu31a には更に詳しい情報が書いてあります。
Jeffrey Oxenreider (zureal@infinet.com) さんの Web ページにはこのドラ イバを使う時に起こりそうな問題に触れてあります。 そのページは http://www.infinet.com/~zureal/cdu31a.html に あります。
原作者: Werner Zimmermann (zimmerma@rz.fht-esslingen.de) マルチセッション: 可 複数ドライブの接続: 不可 ドライバのモジュール化: 可 音楽データの読み出し: 不可 自動認識: 不可 デバイスファイル: /dev/aztcd0, major 29 設定ファイル: aztcd.h カーネル設定オプション: Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support? README ファイル: README.aztcd
このドライバは次のカーネルコマンドラインを受け付けます。
cdu31a=<I/O アドレス>パラメータはカードの I/O ベースアドレス(0x340 など)です。
デバイスファイルは次のようにして作成できます。
% mknod /dev/aztcd0 b 29 0
README.aztcd には更に詳しい情報が書いてあります。
原作者: Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de) マルチセッション: 不可 複数ドライブの接続: 不可 ドライバのモジュール化: 可 音楽データの読みだし: 不可 自動認識: 不可 デバイスファイル: /dev/gscd0, major 16 設定ファイル: gscd.h カーネル設定オプション: Goldstar R420 CDROM support? README ファイル: README.gscd
このドライバは次のカーネルコマンドラインを受け付けます。
gscd=<I/O アドレス>
<I/O アドレス> は、カードのベースアドレス(0x340 など)です。
デバイスファイルは
% mknod /dev/gscd0 b 16 0のようにして作成します。
このドライバについての更に詳しい情報は README.gscd ファイルや WWW サイ トの http://linux.rz.fh-hannover.de/~raupach を見てくださ い。
原作者: Martin Harriss (martin@bdsi.com) マルチセッション: 不可 複数ドライブの接続: 不可 カーネルのモジュール化: 可 音楽データの読みだし: 不可 自動認識: 不可 デバイスファイル: /dev/mcd, major 23 設定ファイル: mcd.h カーネル設定オプション: Standard Mitsumi CDROM support? README ファイル: README.mcd
これは Mitsumi のドライブ用の古い方のドライバです。まだ安定していませ んが、新しい機能を持った mcdx ドライバもあります。
mcd=<I/O アドレス>,<IRQ>
のようにしてカーネルコマンドラインで I/O ベースアドレス(0x340 など) と IRQ 番号を指定できます。
デバイスファイルは次のようにして作ります。
% mknod /dev/mcd b 23 0
README.mcd に、さらに詳しい情報が載っているでしょう。
原作者: Heiko Schlittermann マルチセッション: 可 複数ドライブの接続: 可 ドライバのモジュール化: 可 音楽データの読み出し: 不可 自動認識: 不可 デバイスファイル: /dev/mcdx0, メジャー番号 20 設定ファイル: mcdc.h カーネル設定オプション: Experimental Mitsumi support? README ファイル: README.mcdx
このドライバは新しく、まだ実験段階のドライバです。古い mcd ドライバの 方がたぶん安定しており、こちらもまだ使用可能です。
このドライバは次のカーネルコマンドラインによって
mcdx=<I/O アドレス>,<IRQ>
I/O ベースアドレス(0x340 など)と、IRQ 番号を設定できます。
デバイスファイルは次のようにして作成します。
% mknod /dev/mcdx0 b 20 0
さらに詳しいことは README.mcdx を御覧ください。
原作者: David A. van Leeuwen (david@tm.tno.nl) マルチセッション: 可 複数ドライブの接続: 不可 ドライバのモジュール化: 可 音楽データの読み出し: 不可 自動認識: 可 デバイスファイル: /dev/cm206cd, メジャー番号 32 設定ファイル: cm206.h カーネル設定オプション: Philips/LMS CM206 CDROM support? README ファイル: README.cm206
このドライブは、次のカーネルコマンドラインによって、
cm206=<I/O アドレス>,<割り込み>
I/O ベースアドレス(0x340 など)と、割り込みチャネルを設定することがで きます。
デバイスファイルは以下のようにして作成します。
% mknod /dev/cm206cd b 32 0
さらに詳しいことは、README.cm206 を御覧ください。
原作者: Leo Spiekman (spiekman@dutette.et.tudelft.nl) マルチセッション: 不可 複数ドライブの接続: 不可 ドライバのモジュール化: 可 音楽データの読み出し: 不可 自動認識: 不可 デバイスファイル: /dev/optcd0, メジャー番号 17 設定ファイル: optcd.h カーネル設定オプション: Experimental Optics Storage ... CDROM support? README ファイル: README.optcd
次のカーネルコマンドラインで
optcd=<I/O アドレス>カードの I/O ベースアドレス(0x340 など)を設定できます。
デバイスファイルは次のようにして作成します。
% mknod /dev/optcd0 b 17 0
さらに詳しい情報は、README.optcd を御覧ください。
原作者: Vadim V. Model (vadim@rbrf.msk.su) マルチセッション: 不可 複数ドライブの接続: 不可 ドライバのモジュール化: 不可 音楽データの読み出し: 不可 自動認識: 不可 デバイスファイル: /dev/sjcd, メジャー番号 18 設定ファイル: sjcd.h カーネル設定オプション: Experimental Sanyo H94A CDROM support? README ファイル: README.sjcd
次のカーネルコマンドラインで
sjcd=<I/O アドレス>,<割り込み>,<DMA>カードの I/O ベースアドレス(0x340 など)、割り込み、DMA チャネルを設 定できます。(例 sjcd=0x340,10,5)
デバイスファイルは次のようにして作成します。
% mknod /dev/sjcd b 18 0
さらに詳しいことは、 README.sjcd を御覧ください。
原作者: David Giller マルチセッション: 可 (ドライブによっては不可) 複数ドライブの接続: 可 ドライバのモジュール化: 可 音楽データの読み出し: 可 (ドライブによっては不可) 自動認識: 可 デバイスファイル: /dev/scd0, メジャー番号 11 設定ファイル: cdrom.h カーネル設定オプション: SCSI CDROM support? README ファイル: なし
SCSI カードそれぞれに特有のカーネルコマンドラインに指定するオプション があります。詳しくは SCSI HOWTO を参照してください。
(最大 SCSI バスの数だけの) 複数のドライブを接続することができます。 デバイスファイルは、メジャー番号が 11 で、マイナー番号が 0 以上のもの を使用します。次のようにして作成してください。
% mknod /dev/scd0 b 11 0 % mknod /dev/scd1 b 11 1
原作者: Scott Snyder (snyder@fnald0.fnal.gov) マルチセッション: 不可 複数ドライブの接続: 可 ドライバのモジュール化: 不可 音楽データの読み出し: 不可 自動認識: 可 デバイスファイル: /dev/hd{b,c}, メジャー番号 22 設定ファイル: cdrom.h カーネル設定オプション: Include support for IDE/ATAPI CDROMs? README ファイル: README.ide
ATAPI CD-ROM ドライブ用のドライバです。このドライバは次の形式のカーネ ルコマンドラインを認識します。
hdx=cyls,heads,sects,wpcom,irq または hdx=cdrom
hdx は {hda,hdb,hdc,hdd} のいずれかか、または単に hd とすると順に次の ドライブを指示します。最初の3つのパラメータ(cyls,heads,sects)のみが必 須のものです。例えば hdc=1050,32,64 hdd=cdrom などです。
さて、それでは新しいカーネルを起動する準備はできましたか。リブートし たら、次に示すようなデバイスドライバが出すメッセージを確認しましょう。 (このメッセージはドライブのタイプによって異なります。)
SBPCD: Trying to detect a SoundBlaster CD-ROM drive at 0x230. SBPCD: - Drive 0: CR-562-x (0.76) SBPCD: 1 SoundBlaster CD-ROM drive(s) at 0x0230. SBPCD: init done.
この起動メッセージがスクロールしてしまって見えない場合には、
Shift+PageUp でバックスクロールしたり、dmesg コマンドや
tail /var/adm/messages
などのコマンドで確認しましょう。
ドライブが認識されなかったり、エラーが出たりしたときには、「困った時の 対処」の項を見てください。
CD-ROM をマウントする場合、ディスクをドライブに入れた後、ルートの権限 で次のようにマウントコマンドを実行してください。(前記のように CD-ROM ドライブのデバイスファイルに /dev/cdrom というシンボリックリンクを設定 した場合です)
% mount -t iso9660 -r /dev/cdrom /mnt
これで /mnt
の下で CD-ROM にアクセスすることができます。
/mnt
とは一般的には一時的なマウントポイントですから、恒久的に使う
には /cdrom
などという名前の方がよいでしょう。mount
コマ
ンドには他にも有用なオプションがあります。詳しいことはオンラインマニュ
アルの mount(8)
の項を見てください。(訳注:mount(8)
と
はオンラインマニュアルの8章の mount の節という意味です。man
8 mount
で表示されるはずです。)
/etc/fstab
に項目を書き加えることで、Linux の起動時に CD-ROM
を自動的にマウントしたり、マウントする時のパラメータを指定することがで
きます。これもオンラインマニュアルの fstab(5)
を見てください。
音楽用 CD を再生する場合はディスクをマウントしてはいけません。
CD-ROM をアンマウントするためにはルートになって、次のように
umount
コマンドを実行します。
% umount /mnt
ディスクをアンマウントできるのは、そのドライブにアクセスしているプロセ スがない時にかぎります。(またはそのドライブが何かのプロセスのデフォル トのディレクトリになっている時にもアンマウントはできません。)ディスク はアンマウントしてからでないと排出してはいけません。大抵のドライブには Eject ボタンがついていますが、ソフトウェア的にディスクを排出するプログ ラムもあります。
CD-ROM をマウントしている間は、たとえ Eject ボタンを押してディスクを排 出することが可能でも、排出してはいけません。(ドライブによってはマウン トしている間は排出できなくなります) SPBCD ドライバはアンマウントされ ると自動的にディスクを排出し、ディスクが入ると自動的にマウントします。 (この機能はカーネルのコンパイル時や、またはソフトウェア・コマンドを使っ て off にすることもできます。)
この HOWTO に従ったのにもかかわらず、問題が起こったら、以下の項目を確 認してください。この項目は、あとになるほど複雑な問題を扱います。チェッ クして、うまくいかない時には次の項目に移る前にその問題を解決してくださ い。
CD-ROM を扱えるようにコンパイルし直したカーネルを使う時には、その日付 を見て新しくコンパイルしたものが動作しているかを確認できます。 次のように uname コマンドでタイムスタンプを見て確認してください。
% uname -a Linux fizzbin 1.1.31 #1 Wed Jul 20 16:53:35 EDT 1994 i386
または /proc/version
を見ることでも確認できます。
% cat /proc/version Linux version 1.2.13 (root@fizzbin) (gcc version 2.6.3) #9 Sun Aug 6 11:56:47 EDT 1995
この日付がコンパイルした時間と異なる場合には、古いカーネルを走らせてい るのでしょう。本当にリブートしましたか? LILO を使っているなら、インス トールし直しましたか(/etc/lilo/install の実行)フロッピーディスクから の起動の場合、新しい起動ディスクを作成しましたか? 確認しましょう。
/proc/devices
を見れば、どんなドライバが組み込まれているかが
わかります。
% cat /proc/devices Character devices: 1 mem 4 tty 5 cua 6 lp 14 sound 15 Joystick Block devices: 2 fd 3 hd 25 sbpcd
まず CD-ROM デバイスドライバを探しましょう。ブロックデバイスの中にある
はずです。上の例では spbcd
が見つかりました。
また ISO-9660 ファイルシステムがサポートされているかどうかも
/proc/filesystems
を見て確かめてください。
% cat /proc/filesystems ext2 msdos nodev proc iso9660
ドライバが使用している I/O ポートアドレスを確認するためには
/proc/ioports
を見ます。
% cat /proc/ioports ... 0230-0233 : sbpcd ...
コンパイルして組み込んだはずのドライバが表示されない場合には、 カーネルの設定か、構築に何か問題があったのでしょう。もう一度やり直して みてください。
CD-ROM デバイスが起動時に認識されているかを確かめるために、起動時のメッ
セージを見る必要があります。メッセージがスクロールされて見えない時には、
直後なら Shift-PageUp で見ることもできますが、 dmesg
コマンド
で見ることもできます。
% dmesg
または
% tail /var/adm/messages
ドライブが認識されない時には何かがおかしいはずです。電源が入っているか、 ケーブルが正しく接続されているかを確認しましょう。ジャンパスイッチのあ るものは、ハードウェアアドレスなどが正しく設定されているかを確かめましょ う。 IDE デバイスとして ATAPI CD-ROM を1台だけ接続している時には "single" "master" にして "slave" になっていないかを確認しましょう。DOS で正しく動くことを確認できたら、それらのハードウェアの設定はうまくいっ ていると考えてよいでしょう。
多くのドライバは自動検出機能を持っていますが、持っていないものもありま す。また自動認識機能は必ずしも信頼できるとは限りません。ドライバの種類 に合わせたカーネルコマンドラインで、ドライブの存在を明示的に示してやる こともできます。また同時に標準とは異なる I/O アドレスや他のパラメータ を設定することもできます。 LILO や LXboot の場合は起動時に手動で、それ らのパラメータを入力することもできます。
動かない時に考慮すべきもう一つの可能性は、ドライブの種類とは異なる種類 のドライバを組み込んでしまったかもしれないということです。 説明書に IDE と記載してあるにも関わらず、実際には ATAPI ではなく メーカー独自のインターフェイスを持ったドライブである場合があります。
そのドライブ(またはインターフェイスカード)が DOS のドライバによって 初期化しないといけないものかもしれません。この場合には DOS でいったん 起動したあと、Control-Alt-Delete でリスタートして、Linux を起動します。
また、使っているドライブがここに載っていないものの場合、Linux にはその ドライバが用意されていないのかもしれません。この文書の最後に使えるドラ イブのリストをあげておきますので、チェックしてください。
CD-ROM の読み取りをしてみましょう。次に示すコマンドを打つと、ドライブ のアクセスランプが(あれば)点灯するはずです。エラーが出た時は何か問題 が起こっていることを示します。if に指定するデバイスファイルは CD-ROMを 示す適切なものを用いてください。ISO-9660 の CD-ROM (Linux 配布用の CD-ROM など)がドライブに入っていることも確かめてください。終了するに は Ctrl-Cを入力します。
dd if=/dev/cdrom of=/dev/null bs=2048 ^C 124+0 records in 124+0 records out
これがうまくいったら、カーネルはうまくドライブとやりとりができますので、 Step 5 に移ってください。
うまくいかない時にまず考えられるのは、デバイスファイルが間違っているこ
とです。デバイスファイルが本当に /dev
ディレクトリにあって、
正しい(前述の通りの)メジャー番号とマイナー番号がついているか確かめて
ください。メジャー番号は下の例のように ls -l
コマンドで確認で
きます。
~# ls -l /dev/cdrom lrwxrwxrwx 1 root root 8 Jul 2 11:58 /dev/cdrom -> /dev/mcd ~# ls -l /dev/mcd brw-r--r-- 1 root disk 23, 0 Jul 18 1994 /dev/mcd
この場合は Mitsumi CD-ROM で メジャー番号は 23, マイナー番号は 0 です。 また、デバイスファイルの読みだし、書き込み権限が出ているかも確認してく ださい。
これがうまくいかない理由には、ハードウェアの問題もあり得ます。DOS で試 して動作しなければ、ハードウェアの問題でしょう。
Step 4 のように読み出しができるのに、ドライブがマウントできない場合に は、まず次のようにして、カーネルの ISO9660 ファイルシステムの機能が使 えるようになっているかを確かめてください。
% cat /proc/filesystems ext2 msdos nodev proc iso9660
CD-ROM をマウントするときには "-t iso9660"
と "-r"
というオプションを付けるのを忘れないようにしてください。また CD-ROM
(音楽用 CD ではありません)が壊れていないことも(他のマシンで試すなど
して)確かめてください。また普通は root 権限でマウントしなければなりま
せん。
ATAPI CD-ROM の場合、2048 というブロックサイズを与えてやる必要があるか
もしれません。 "0o block=2048"
というオプションを mount コマ
ンドに与えてみてください。
また、マウントポイントが存在するか、またそれが空のディレクトリであるか 確かめてください。
sbpcd ドライバの場合、音楽 CD の停止命令を送ってみてください。例えば、 xcdplayer 附属の xcdstop などを実行した後でマウントできるようになる場 合があります。おそらくバグでしょう。
起動時に CD-ROM を自動的にマウントしようとしているなら、
/etc/fstab
に正しく記述されているか確かめましょう。(訳注: 最
近の Slackware には /etc/fstab によらず起動時に CD-ROM を自動でマウント
する rc ファイルが附属しています。)
syslog デーモンを起動している場合には、カーネルのエラーメッセージが記
録されていることもあります。次のようにして "dmesg"
コマンドを
試してみてください。
% dmesg SBPCD: sbpcd_open: no disk in drive
システムの設定によっては、エラーが /var/adm
のなかのファイル
に記録されている場合もあります。
ここではドライブが CD-ROM を読みとれるのに、音楽用 CD を演奏できないと きのための問題解決法を説明します。
音楽用 CD を演奏するためには、そのためのアプリケーションが必要です。ア プリケーションによっては問題があったり、使っているドライブと合わないも のもあります。動作しない時は他のアプリケーションを試してみるか、コンパ イルし直してみましょう。
また、CD-ROM ドライバによっては音楽 CD の演奏機能がないものがあります。 ドライバの README やソースコードを見て確認しましょう。
ドライブについているヘッドホンジャックから音が出るならば、問題はサウン ドカードにあります。ミキサープログラムを使って入力デバイスとボリューム レベルを調整してみてください。また、CD-ROM ドライブとサウンド・カード をケーブルで接続しないとサウンドカードから音が出ないので、それも確認し ましょう。サウンドカードがきちんと動作しているかは、 Sound HOWTO を見て 確認してください。
まだ問題が解決できない場合、最後の手段をこっそりとお教えしましょう。