<!doctype linuxdoc system>
<article>

<title> Linux CD-ROM HOWTO 日本語版
<author> Jeff Tranter, Jeff_Tranter@Mitel.COM
<date> v1.5, 18 August 1995
<trans> 箕浦 逸史 (minoura@uni.zool.s.u-tokyo.ac.jp)

<abstract>
この文書は Linux システムに CD-ROM を導入して動かすための方法を説明し
たものです。サポートされているハードウェアのリストや、多くの人から寄せ
られた疑問に対する解答なども含んでいます。これから CD-ROM を使おうとい
う人に速やかに情報を提供し、ネットワークでの質問を減らすことを目的とし
ています。
</abstract>

<toc>

<sect> はじめに <p>

これは Linux CD-ROM HOWTO です。CD-ROM を導入する上で必要となる情報を、
読者が速やかに得られることを目的としています。CD-ROM に関連したFAQ (よ
くある質問への解答) や CD-ROM のアプリケーションや技術関連書籍などの情
報も載せました。


<sect1> 謝辞 <p>

ここに掲載した情報の多くは Linux のカーネルのソースコードに附属する 
README ファイルや、インターネットの <url url="news:alt.cd-rom"
name="alt.cd-rom"> FAQ と、Linux ユーザーからの意見をもとにしたもので
す。日本語版は <url url="news:fj.os.linux" name="fj.os.linux"> に流れ
た情報なども参考にしています。

<url
url="ftp://sunsite.unc.edu/pub/Linux/utils/text/linuxdoc-sgml-1.3.tar.gz"
name="Linuxdoc-SGML"> パッケージのおかげで、このHOWTOを様々な形式で提
供しています。いずれの形式の文書も一つのソースファイルから生成されたも
のです。

  

<sect1> 改訂履歴 <p>

<descrip>
<tag/Version 1.0/ 最初の公開版

<tag/Version 1.1/ CDU33A がバージョン 1.1.20 のカーネルでサポートされ
  ました。Reveal FX についての注意。オーディオトラックを読みとることに
  関する情報の付加。αドライバに関する情報の付加。「困った時には」を追
  加。そのほか細かい追加。

<tag/Version 1.2/ バージョンが 1.1.33 のカーネルではISO9660 ファイルシ
  ステムを最初 read only でマウントしなくてはならないこと。SB16 SCSI
  ドライバがサポートされていることの確認と、新しい Aztech のドライブは
  サポートされていないことの確認。PhotoCD と xpcd プログラムに関する参
  考資料。新しい spbcd の自動排出機能についての注意の追加。

<tag/Version 1.3/ カーネルのバージョンの 1.1.49 から SBPCD のディスク排
  出機能が使えなくなったこと。XA ディスクとそれを識別する方法について
  の情報の追加。

<tag/Version 1.4/
  この文書が他の言語に翻訳された。IBM と Longshine のドライブが SBPCD 
  でサポートされた。Aztech 製のドライブ用のαドライバについて。CDU-33 
  ドライバがドライブの自動検出をしなくなり、PhotoCD とオーディオ機能を
  サポート。2つ以上の SCSI ドライブがサポートされた。IDE 用の新しいド
  ライバについて。ドライブのジャンパスイッチについて。SBPCD の自動排出
  を IOCTRL で設定できるようになったこと。マルチセッション可能なドライ
  バのリスト。CDU-33 のライトのフラッシュについて。

<tag/Version 1.5/
  更新までに長い時間がかかりました。（忙しかったので）。文書は GPL の
  条件下で配布されるようになった。多くのカーネルドライバについての情報
  の追加。多くの設定や問題解決のための情報を追加。HTML リンクを追加。
  その他。
</descrip>


<sect1> この文書の最新版は <p>

この文書のオリジナルは <url url="news:comp.os.linux.announce"
name="comp.os.linux.announce"> に定期的に投稿されます。また <url
url="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO"> などの anonymous ftp 
サイトにも登録されます。日本では <url url="ftp://ftp.iij.ad.jp/pub/linux/sunsite/docs/HOWTO"> などのミラーサイトで入手できます。

ハイパーテキスト版の Linux HOWTO は例えば
<url url="http://sunsite.unc.edu/mdw/mdw.html"> などの多くの WWW サイトで入
手できます。また多くの CD-ROM 形式の Linux パッケージにも含まれています
し、またいくつかの業者からは印刷されたものを買うこともできます。

日本語版は <url url="ftp://ftp.kuis.kyoto-u.ac.jp/Linux/JF/euc"> など
の ftp サイトに登録されます。最近はあまり更新されていないようですが、
World Wide Web の <url
url="http://yebisu.ics.es.osaka-u.ac.jp/linux/JF/"> にも登録されます。

Bruno Cornec (cornec@stna7.stna.dgac.fr) によるフランス語版は<url
url="ftp://ftp.ibp.fr/pub2/linux/french/docs/HOWTO/"> で入手可能です。


<sect1> 意見、提案などは <p>

これを読んでいるあなたの意見をお待ちしています。HOWTO は読者、すなわち 
Linux ユーザーが育てるものです。誤りを見つけたり、提案、コメントなどが
あれば、著者までお送りください。できるだけ次の版に反映させたいと思います。

なお、日本語版についての御意見は<url
url="mailto:minoura@uni.zool.s.u-tokyo.ac.jp" name="訳者">までお願いします。

もしもこの文書を CD-ROM や印刷物として発行する場合には、著者に送ってい
ただけるとありがたいです。私の住所はメイルで問い合わせてください。

<sect1> 配布条件 <p>

原著作権表示: Copyright (C) 1995 Jeff Tranter.

日本語版 : Copyright (C) 1995 Jeff Tranter, Itsushi Minoura.

この HOWTO はフリー・ドキュメントです。Free Softweare Foundation が発
行する GNU 一般公有許諾 Version 2 （またはそれ以降）に従う限り、
これを配布または変更することができます。

この文書は役に立つことを希望して配布されていますが、内容に関する<bf/い
かなる保証もありません/。特に<bf/市場に受け入れられる可能性や特殊な用
途/に関する保証もありません。詳しくは GPL (GNU 一般公有許諾）を見てく
ださい。この文書は（GNU General Public License: 英語版が正式文書です）
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA 
から得られます。


<sect> CD-ROM の技術 <p>

「CD-ROMは読みとり専用の記憶装置で、オーディオ用のCDはこれらの目的の
デジタル情報を収めたものです。オーディオ用のCDを再生する場合は、ヘッ
ドフォンのジャックを差し込んでください。」
   --- あるCD-ROMドライブの取り扱い説明書より


焦らないでください。CD-ROM 技術の世界は、こんな取り扱い説明書ほど複雑怪
奇ではありません。

CD-ROM は英語の <em/Compact Disc Read-Only Memory/ の略語であって、読
みとり専用の大容量記憶装置です。レーザーを、ポリカーボネート製のディス
クに貼ったアルミの表面にあて、小さなくぼみを読みとって情報を得ます。こ
の方法は音楽用のコンパクト・ディスクに使われています。多くの情報が記憶
でき、信頼性が高く、かつ安価なことから CD-ROM はますます多くの人に使わ
れるようになってきています。

CD-ROM のディスクは一枚あたりおおよそ 650 メガバイトの記憶容量がありま
す。3.5 インチ倍密度 (2HD) のフロッピーディスクでおよそ 500 枚相当、ま
たは約 25 万ページ程度の情報を記録できます。

初期のドライブは 150 Kbyte/sec の転送速度でした。最近では一般的な倍速
ドライブの他にや３倍 (300KBytes/sec) や４倍速 (600KBytes/sec) ドライブ
などというものも入手可能です。

ほとんどの CD-ROM ドライブは SCSI か、ATAPI 拡張された IDE インターフェ
イス、またはメーカー固有のインターフェイスを使っています。また普通は外
部のヘッドフォンジャック、またはライン出力で、音楽用の CD を再生するこ
とができるようになっています。またデジタルデータとして音楽データを読み
出せるものもあります。

CD-ROM は大抵は ISO-9660 (正式には <em/High Sierra/ と呼ばれます) ファ
イルシステムでフォーマットされています。この形式は、 MS-DOS のようにファ
イル名が 8+3 文字に制限されています。 ISO-9660 に対するロックリッジ拡
張を使うと、長いファイル名と、Unix 風の追加情報（ファイルの所有者やシ
ンボリック・リンクなど）が書き込めます。

<em/フォトＣＤ/ はコダック社が開発した、写真をデジタル情報として 
CD-ROM に保存する方法の規格です。写真をコンピュータ上で見たり、加工し
たり、プリンタで印刷することができます。最近になってフォトＣＤに関する
情報が追加されました。これは<em/マルチセッション/の機能です。

CD レコーダー (CD-R) は最近出てきたものです。CD-ROM とは少し異なる専用
ディスクに書き込みを行ないますが、書かれたみのは普通の CD-ROM と同じよ
うに扱えます。

CD-ROM ドライブのメーカーは将来的に CD-ROM の容量を１桁増やす技術を模
索しています。


  
<sect> Linux で使えるＣＤ−ＲＯＭドライブ <p>

この節では現在 Linux でサポートされている CD-ROM ドライブやインターフェ
イスを列挙しました。ここに挙げた情報はこれを書いている時点での最新の 
Linux カーネル・バージョン 1.2.13 （最新の安定化版) と 1.3.20 （最新の
開発版）に基づいています。

この情報は Intel 版の Linux のみに有効です。他のプロセッサ用の Linux 
に関してもいくらかの情報は有効かもしれませんが、著者はそれらのアーキテ
クチャを扱ったことはありません。

  
<sect1> SCSI CD-ROM ドライブ <p>

SCSI (Small Computer Systems Interface) は、 CD-ROM ドライブのインター
フェイスとしては一般的なものです。この特長としては転送速度が早いこと、
複数のドライブが一つのインターフェイスにつなげること、多くの種類のコン
ピュータで共通に使われていることなどです。欠点はコントラーカードやケー
ブルがやや高価なことです。

どんな SCSI の CD-ROM ドライブでも、ブロックサイズが 512 または 2048 
バイトであれば Linux で使用可能です。すなわち、街で売っているほとんど
の CD-ROM ドライブが使用可能なのです。（訳注:いくつかのドライブは SCSI 
カードとの相性があるようです。ソースコードに手を加える必要がある場合が
あります。）

そのようなドライブを使うためには、SCSI コントローラー・カードが必要で
す。詳しくは <url
url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/SCSI-HOWTO.html" name="SCSI
HOWTO"> を参照してください。

CD-ROM ドライブにはいくつか、SCSI とは完全な互換性を持たないコントロー
ラを用いているもの（例えば他の SCSI デバイスを接続することを保証してい
ないものなど）があるので、注意してください。それらは Linux では動作し
ないことが多いので注意してください。


 
<sect1> SCSI 以外のインターフェイス付きの CD-ROM ドライブ <p>

メーカーが独自のインターフェイスを用いた CD-ROM ドライブもあります。サ
ウンドカードにインターフェイスがついている場合もよくあります。サウンド
カードについているような単純なインターフェイスカードも売られています。
このような CD-ROM ドライブは安価で、SCSI ドライブよりも小型のことが多
いようです。欠点は、標準化されていないことと、拡張性が低いことでしょう。

このようなインターフェイスは時々誤って IDE インターフェイスと呼ばれま
す。これらは IDE ハードディスクのように PC/AT に依存した単純なバスを使っ
ているからです。混乱を増やしているのは、Creative Lab などのメーカーが、
独自インターフェイス、SCSI、ATAPI のインターフェイスをサウンドカードに
付けていることです。

次に列挙した CD-ROM ドライブ（独自のインターフェイスを持ったもの）が
Linux で使用可能です。新たに追加されるデバイス用のドライバ（訳注:ディ
スクドライブを扱うためのソフトウェア。Linux ではカーネルに内蔵されてい
る）は大抵開発中であり、大抵カーネルに対するパッチとして入手できます。
そのほとんどは<url
url="ftp://sunsite.unc.edu/pub/Linux/kernel/patches/cdrom/"> で見つか
るでしょう。カーネルの /usr/src/linux/drivers/block/ にある README ファ
イルも読んでみましょう。最新の情報が得られます。

<verb>
	 独自インターフェイスを持った CD-ROM ドライブ

    メーカー        モデル          ドライバ        注
    ------          -----           -------------   --------
    Panasonic       CR-521          sbpcd           注 1
    Panasonic       CR-522          sbpcd           注 1
    Panasonic       CR-523          sbpcd           注 1
    Panasonic       CR-562          sbpcd           注 1
    Panasonic       CR-563          sbpcd           注 1
    Creative Labs   CD-200          sbpcd           注 2
    IBM             External ISA    sbpcd           注 3
    Longshine       LCS-7260        sbpcd
    Teac            CD-55A          sbpcd
    Sony            CDU-31A         cdu31a
    Sony            CDU-33A         cdu31a
    Sony            CDU-535         sonycd535       注 4
    Sony            CDU-531         sonycd535
    Aztech          CDA268-01A      aztcd
    Orchid          CDS-3110        aztcd
    Okano/Wearnes   CDD110          aztcd
    GoldStar        R420            gscd            注 5
    Philips/LMS     CM206           cm206           注 6
    Mitsumi         CRMC LU005S     mcd/mcdx        注 7, 8
    Mitsumi         FX001           mcd/mcdx        注 7, 8
    Optics Storage  Dolphin 8000AT  optcd           注 9
    Sanyo           H94A            sjcd            注 9
</verb>

注:
<enum>
<item> これらのドライブは Creative Labs, Panasonic, Matsushita,
Kotobuki の名前で売られているかもしれません。

<item> このドライブは最近サポートされたばかりであり、まだ完全に安定し
てはいません。

<item> このドライブは Panasonic CR-562 と同じです。

<item> Procomm の名でも売られているかもしれません。

<item> Reveal マルチメディア・キットの一部としても売られています。

<item> Philips CM205 はこのドライバではサポートされていません。別のα
版ドライバがあります。

<item> Radio Shack という名でも売られているかもしれません。

<item> ２種類のドライバがあります。 mcd というカーネルに含まれているも
のと、 mcdx という機能拡張版（まだ安定してはいません）があります。

<item> このドライバは実験的なものと思ってください。

</enum>



<sect1> ATAPI CD-ROM ドライブ <p>

ATAPI (ATA Packet Interface) とは SCSI に似た、大容量の記録用デバイス
を扱うための規格です。 これは ATA (AT Attachment) インターフェイスに接
続するもので、ハードディスク用に開発された IDE インターフェイスの ANSI 
規格での正式な呼び名です。ATAPI は普通ハードディスクや CD-ROM ドライブ、
テープドライブなどに使われます。この規格は最近出てきたものですが、急速
に普及してきました。これは高価な SCSI コントローラやケーブルを使わずに、
ほぼ同じものを提供できるからです。

Linux カーネルにはどんな ATAPI CD-ROM でも接続できるドライバがあります。
Aztech や Mitsumi, NEC, SONY, Vertos などのメーカーが、このドライバで
扱うことのできる CD-ROM ドライブを販売しています。


<sect> インストール方法 <p>

Linux に CD-ROM ドライブを接続するためには、次に示す作業が必要です。

<enum>
<item> ハードウェアの接続
<item> Linux カーネルの設定の変更と、再構築
<item> 必要なデバイスファイルの作成と起動時のパラメータの設定
<item> 新しいカーネルでの再起動
<item> CD-ROM のマウント
</enum>
次節でこの方法を詳しく説明します。



<sect1> ハードウェアの接続 <p>

附属の説明書の通りに CD-ROM ドライブを接続してください。ドライブが内蔵
型か外付けか、またインターフェイスの種類などによって、接続方法は異なり
ます。ハードウェアの接続に関しては、特に Linux ゆえに注意しなくてはな
らない事はありません。ドライブとインターフェイスカードのジャンパスイッ
チを設定する必要がある場合があります。そのドライブに適切なドライバに含
まれる README ファイルを読むと参考になるでしょう。

例えば README.ide に書いてあるように、IDE デバイスが１台だけの時には
ATAPI CD-ROM のジャンパースイッチは slave ではなく single または 
master に設定しなくてはなりません。


<sect1> カーネルの設定変更と再構築 <p>

Linux を最初に CD-ROM からインストールするためには、附属してくる起動ディ
スクを使わなくてはなりません。可能ならば、CD-ROM の種類に合わせたドラ
イバが含まれたディスクを選ぶ必要があります。もしも適切な起動ディスクが
見つからなければ、他の方法があります。

<enum>
<item> ネットワーク経由でインストール
<item> DOS を起動し、CD-ROM の内容をハードディスクにコピーしてからイン
ストール
<item> DOS を起動し、インストール用のフロッピーディスクを作る
<item> すでに Linux を使っている人に頼んで、適切なドライバを含んだブー
トディスクを作ってもらう。
</enum>

Linux Installation HOWTO <url
url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Installation-HOWTO.html"> にはイ
ンストールに関するさらに詳しい情報が載っています。Linux の入った 
CD-ROM を買った場合には、小冊子やテキストファイルの形でインストール方
法の解説がついていると思いますので、それを参考にしましょう。

Linux を一度インストールしてしまえば、大抵はカーネルを自分の環境に合わ
せてコンパイルし直した方がいいでしょう。その理由は、

<itemize>
<item> CD-ROM ドライブやその他のハードウェアを使うため。
<item> カーネルを最新のものに置き換えるため。
<item> 不要なドライバなどを外して、メモリを節約するため。
</itemize>

Linux Kernel HOWTO <url
url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Kernel-HOWTO.html"> にはこのカー
ネルの再構築について詳しく述べてあるはずです。ここでは CD-ROM に関係し
たことだけを説明します。

もちろん、CD-ROM を使うためには make config をした後、コンパイルし直さ
なくてはなりません。

ATAPI CD-ROM ドライブを持っている場合、次の質問に yes と答えなくてはな
りません。

<verb>
    "Normal (MFM/RLL) disk and IDE disk/cdrom support?"
    "Include support for IDE/ATAPI CDROMs?"
</verb>

  SCSI の CD-ROM ドライブの場合は、次の質問に yes と答えます。

<verb>
     SCSI support?
     SCSI CDROM support?
</verb>

  また SCSI カードに合わせて次のような質問に正しく答えなくてはなりませ
ん。たとえば AHA-1542 を持っていれば、

<verb>
     Adaptec AHA1542 support?
</verb>

に yes と答えます。

独自インターフェイスを持つドライブの場合、適切なドライバを使うようにし
てください。前に示した表を参考にどのドライバを使うかを見つけてください。

また全ての CD-ROM は ISO-9660 ファイルシステムを使うはずです。そこで

<verb>
     ISO9660 cdrom filesystem support?
</verb>

に yes と答えます。

CD-ROM には関係ありませんが、ついでに（持っているならば）サウンドカー
ドの設定をしておいた方がいいでしょう。<url
url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Sound-HOWTO.html" name="Sound-HOWTO"> が助けに
なるでしょう。

設定が終ったら、手順にしたがってカーネルをコンパイルして、インストール
してください。デバイスファイルや起動時のパラメータを設定するまでは、あ
わてて再起動してはいけません。

CD-ROM のドライバにはカーネル・モジュールとして組み込めるものもたくさ
んあります。これは <url
url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Kernel-HOWTO.html" name="Kernel
HOWTO"> を参考に組み込んでください。

もしもあなたの持っているドライブがカーネルでサポートされていなかったら、
もっと新しいカーネルを使ってみる必要があるでしょう。（1.3.x でしかサポー
トされていないドライバもあります。）

また、ドライバがカーネルとは別に配布されている場合もあります。これはカー
ネルのソースコードににパッチを当てて使用します。これもやはり <url
url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Kernel-HOWTO.html" name="Kernel
HOWTO"> を参考にしてください。

<sect1> デバイスファイルの作成と起動パラメータの設定<p>

カーネルはどのデバイスドライバを使うかを判断するために、 デバイスファ
イルを使用します。通常の Linux のパッケージ（Slackware, Debian など）
を使っている場合には、インストール時に必要なデバイスファイルが作成され
ているはずです。例えば Slackware の場合、メニュー形式の設定ツールがつ
いています。またほとんどのシステムでは <tt>/dev/MAKEDEV</tt> というス
クリプトがついているはずです。この節に書いてあることを手動で実行するこ
ともできます。どの方法を使うにしても、この節に書いてあること参考に、デ
バイスファイルを確認しておくことをお奨めします。

デバイスファイルを作るには、ドライブの種類に合わせてシェルコマンドを使
います。この作業をするには、おそらく root になる必要があるでしょう。
Linux のパッケージによってはここに示したのとは異なる名前の CD-ROM のデ
バイスファイルを使っていることがありますので、注意してください。

CD-ROM のデバイス名には、覚えやすい名前のシンボリック・リンクを張る
ことをお奨めします。例えばパナソニックの CD-ROM に次のようにしてリン
クを張ります。

<verb>
    % ln -s /dev/sbpcd /dev/cdrom
</verb>

音楽用 CD を使いたい場合は一般のユーザーがデバイスファイルに対して読
み書きができるように設定する必要があります。例えば次のようにします。

<verb>
    % chmod 666 /dev/sbpcd
    % ls -l /dev/sbpcd
    brw-rw-rw-   1 root     disk      25,   0 Jul 18  1994 /dev/sbpcd
</verb>

Linux 起動時に、デバイスドライバは適切なデバイスが存在するかを（普通は
特定のメモリのアドレスを見ることで）確認しようとします。多くのドライバ
は複数のアドレスを探しますが、設定の違いによって、デバイス同士が同じア
ドレスを使おうとして衝突したり、ハードウェアの制限などの問題から、デバ
イスが使用するメモリアドレスを指定することが必要な場合があります。メモ
リアドレスだけでなく、ほかのパラメーターなども含めて、ほとんどのドライ
バでは起動時にブートローダーによってこの指定をすることができます。LILO 
の場合、 /etc/lilo.conf ファイルに

<verb>
    append = "sbpcd=0x230,SoundBlaster"
</verb>

を書き加えます。LXboot の場合には /.LXbootrc に

<verb>
    /zImage -f ro spbcd=0x230,SoundBlaster ro
</verb>

などとします。詳しくはそれぞれのブートローダーの説明書を見てください。

次節ではそれぞれのデバイスドライバについて特に注意しなくてはならないこ
と、例えばデバイスファイルや起動時のパラメータやドライバの違いなどを述
べます。この節は、自分が持っているドライブの項目のみ読めば充分です。

（訳注:この節で、ドライバの説明として出てくる表の項目の、わかりにくい
ものを簡単に説明します。「複数のドライブ接続」は、１枚のカードに複数台
のドライブを接続できるかどうかを示します。「音楽データ読み出し」はデー
タの読み出しの可・不可であり、音楽ＣＤが演奏できるかどうかではありませ
ん。「カーネル設定オプション」はカーネルの make config の時に出てくる
メッセージのことです。）


<sect2> Sbpcd Driver <p>


<verb>
　　　　　　　　原作者: Eberhard Moenkeberg (emoenke@gwdg.de)
　　　マルチセッション: 可 (CD-52x ドライブ以外)
　　複数のドライブ接続: 可
ドライバのモジュール化: 可
　　音楽データ読みとり: 可 (CR-562 と CR-563 のみ)
　　ドライブの自動認識: 可
　　　デバイスファイル: /dev/sbpcd, メジャー番号 25
　　　　　設定ファイル: sbpcd.h
カーネル設定オプション: Matsushita/Panasonic CDROM support?
　　　 README ファイル: README.sbpcd
</verb>

このドライバは次のようなカーネルコマンドラインを受けとります。

<verb>
    sbpcd=&lt;I/O アドレス&gt;,&lt;インターフェイスの種類&gt;
</verb>

最初のパラメータはデバイスのベースアドレス（たとえば 0x230）で、&lt;イ
ンターフェイスの種類&gt; は "SoundBlaster", "LaserMate", "SPEA" のいず
れかです。どのインターフェイスを使っているかのヒントは、 sbpcd.h を見
ると参考になるでしょう。sbpcd=0 を設定すると、自動認識をやめてドライバ
を使わいようにします。

デバイスファイルはメジャー番号 25、マイナー番号０で、

<verb>
    % mknod /dev/sbpcd b 25 0
</verb>

のように作成します。

１つのインターフェイスカードに４台までのドライブが接続できます。２台目
からのドライブはマイナー番号が１から３までのデバイスを使用します。複数
のインターフェイスカードを使うこともできます。この時はメジャー番号が 
25 のものに加えて 26, 27, 28 のデバイスを作れます。（つまり最大４枚の
カードを使って 16台の CD-ROM ドライブが接続できるのです。これ以上つな
ぎたいという人がいないことを祈ります :-）

更に詳しいことは README.spbcd を見てください。




<sect2> SONY の CDU535 ドライバ <p>

<verb>
　　　　　　　　原作者: Ken Pizzini (ken@halcyon.com)
　　　マルチセッション: 不可
　複数のドライブの接続: 不可
ドライバのモジュール化: 可
　音楽データの読みだし: 不可
　　　　　　　自動認識: 不可
　　　デバイスファイル: /dev/sonycd535, メジャー番号 24
　　　　　設定ファイル: sonycd535.h
カーネル設定オプション: Sony CDU535 CDROM support?
　　　 README ファイル: README.sonycd535
</verb>

このドライバはカーネルコマンドラインのオプションとして

<verb>
    sonycd535=&lt;I/O アドレス&gt;
</verb>

を受け付けます。
&lt;I/O アドレス&gt; はインターフェイスカードのベースアドレス（0x320 
など）です。コンパイル前に sonycd535.h を書き換えることでも変更可能で
す。

デバイスファイルは次のようにして作ることができます。

<verb>
    % mknod /dev/sonycd535 b 24 0
</verb>

Linux のパッケージによってはこのドライブのための <tt>/dev/sonycd</tt> 
というデバイスを持っているものもあります。このドライバの古いものはメジャー
番号が 21 になっているものがあります。あなたのデバイスファイルに正しい
番号 (24) が設定されているか確かめてください。

このドライバはかつてはパッチとして配布されていましたが、今では正式にカー
ネルに含まれています。README.sonycd535 ファイルにはもっと詳しい情報が
書かれています。



<sect2> CDU31A ドライバ <p>

<verb>
　　　　　　　　原作者: Corey Minyard (minyard@wf-rch.cirr.com)
　　　マルチセッション: 可
　　複数ドライブの接続: 不可
ドライバのモジュール化: 可
　音楽データの読みだし: 可
　　　　　　　自動認識: 不可
　　　デバイスファイル: /dev/cdu31a, メジャー番号 15
　　　　　設定ファイル: cdu31a.h
カーネル設定オプション: Sony CDU31A/CDU33A CDROM support?
　　　 README ファイル: README.cdu31a
</verb>

このドライバは次のカーネル・コマンドラインを受け付けます。

<verb>
    cdu31a=&lt;I/O アドレス&gt;,&lt;割り込み&gt;,PAS
</verb>

最初はカードの I/O アドレスです（0x340 など）。２つめは割り込み番号で
す。（０は Polled I/O を使うことを示します。）３つ目の（なくても構わな
い）パラメータは、Pro-Audio Spectrum をつないでいる時には "PAS" を指定
し、なければ何も書きません。

デバイスファイルは次のようにして作ります。

<verb>
    % mknod /dev/cdu31a b 15 0
</verb>

README.cdu31a には更に詳しい情報が書いてあります。

Jeffrey Oxenreider (zureal@infinet.com) さんの Web ページにはこのドラ
イバを使う時に起こりそうな問題に触れてあります。
そのページは <url url="http://www.infinet.com/~zureal/cdu31a.html"> に
あります。


<sect2> Aztcd ドライバ <p>

<verb>
　　　　　　　　 原作者: Werner Zimmermann (zimmerma@rz.fht-esslingen.de)
　　　マルチセッション: 可
　　複数ドライブの接続: 不可
ドライバのモジュール化: 可
　音楽データの読み出し: 不可
　　　　　　　自動認識: 不可
　　　デバイスファイル: /dev/aztcd0, major 29
　　　　　設定ファイル: aztcd.h
カーネル設定オプション: Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support?
　　　 README ファイル: README.aztcd
</verb>

このドライバは次のカーネルコマンドラインを受け付けます。
<verb>
    cdu31a=&lt;I/O アドレス&gt;
</verb>
パラメータはカードの I/O ベースアドレス（0x340 など）です。

デバイスファイルは次のようにして作成できます。

<verb>
    % mknod /dev/aztcd0 b 29 0
</verb>

README.aztcd には更に詳しい情報が書いてあります。


<sect2> GSCD  ドライバ <p>

<verb>
　　　　　　　　原作者: Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de)
　　　マルチセッション: 不可
　　複数ドライブの接続: 不可
ドライバのモジュール化: 可
　音楽データの読みだし: 不可
　　　　　　　自動認識: 不可
　　　デバイスファイル: /dev/gscd0, major 16
　　　　　設定ファイル: gscd.h
カーネル設定オプション: Goldstar R420 CDROM support?
　　　 README ファイル: README.gscd
</verb>

このドライバは次のカーネルコマンドラインを受け付けます。
<verb>
    gscd=&lt;I/O アドレス&gt;
</verb>

&lt;I/O アドレス&gt; は、カードのベースアドレス（0x340 など）です。

デバイスファイルは
<verb>
    % mknod /dev/gscd0 b 16 0
</verb>
のようにして作成します。

このドライバについての更に詳しい情報は README.gscd ファイルや WWW サイ
トの <url url="http://linux.rz.fh-hannover.de/~raupach"> を見てくださ
い。


<sect2> mcd ドライバ （Mitsumi 用）<p>

<verb>
　　　　　　　　原作者: Martin Harriss (martin@bdsi.com)
　　　マルチセッション: 不可
　　複数ドライブの接続: 不可
カーネルのモジュール化: 可
　音楽データの読みだし: 不可
　　　　　　　自動認識: 不可
　　　デバイスファイル: /dev/mcd, major 23
　　　　　設定ファイル: mcd.h
カーネル設定オプション: Standard Mitsumi CDROM support?
　　　 README ファイル: README.mcd
</verb>

これは Mitsumi のドライブ用の古い方のドライバです。まだ安定していませ
んが、新しい機能を持った mcdx ドライバもあります。


<verb>
    mcd=&lt;I/O アドレス&gt;,&lt;IRQ&gt;
</verb>

のようにしてカーネルコマンドラインで I/O ベースアドレス（0x340 など）
と IRQ 番号を指定できます。

デバイスファイルは次のようにして作ります。

<verb>
    % mknod /dev/mcd b 23 0
</verb>

README.mcd に、さらに詳しい情報が載っているでしょう。


<sect2> mdcx ドライバ （Mitsumi 用の新しいドライバ）<p>

<verb>
　　　　　　　　原作者: Heiko Schlittermann
　　　マルチセッション: 可
　　複数ドライブの接続: 可
ドライバのモジュール化: 可
　音楽データの読み出し: 不可
　　　　　　　自動認識: 不可
　　　デバイスファイル: /dev/mcdx0, メジャー番号 20
　　　　　設定ファイル: mcdc.h
カーネル設定オプション: Experimental Mitsumi support?
　　　 README ファイル: README.mcdx
</verb>

このドライバは新しく、まだ実験段階のドライバです。古い mcd ドライバの
方がたぶん安定しており、こちらもまだ使用可能です。

このドライバは次のカーネルコマンドラインによって

<verb>
    mcdx=&lt;I/O アドレス&gt;,&lt;IRQ&gt;
</verb>

I/O ベースアドレス（0x340 など）と、IRQ 番号を設定できます。

デバイスファイルは次のようにして作成します。
<verb>
    % mknod /dev/mcdx0 b 20 0
</verb>

さらに詳しいことは README.mcdx を御覧ください。



<sect2> cm206 ドライバ <p>

<verb>
　　　　　　　　原作者: David A. van Leeuwen (david@tm.tno.nl)
　　　マルチセッション: 可
　　複数ドライブの接続: 不可
ドライバのモジュール化: 可
　音楽データの読み出し: 不可
　　　　　　　自動認識: 可
　　　デバイスファイル: /dev/cm206cd, メジャー番号 32
　　　　　設定ファイル: cm206.h
カーネル設定オプション: Philips/LMS CM206 CDROM support?
　　　 README ファイル: README.cm206
</verb>


このドライブは、次のカーネルコマンドラインによって、

<verb>
    cm206=&lt;I/O アドレス&gt;,&lt;割り込み&gt;
</verb>

I/O ベースアドレス（0x340 など）と、割り込みチャネルを設定することがで
きます。

デバイスファイルは以下のようにして作成します。

<verb>
    % mknod /dev/cm206cd b 32 0
</verb>

さらに詳しいことは、README.cm206 を御覧ください。

<sect2> optcd ドライバ <p>


<verb>
　　　　　　　　原作者: Leo Spiekman (spiekman@dutette.et.tudelft.nl)
　　　マルチセッション: 不可
　　複数ドライブの接続: 不可
ドライバのモジュール化: 可
　音楽データの読み出し: 不可
　　　　　　　自動認識: 不可
　　　デバイスファイル: /dev/optcd0, メジャー番号 17
　　　　　設定ファイル: optcd.h
カーネル設定オプション: Experimental Optics Storage ... CDROM support?
　　　 README ファイル: README.optcd
</verb>

次のカーネルコマンドラインで
<verb>
    optcd=&lt;I/O アドレス&gt;
</verb>
カードの I/O ベースアドレス（0x340 など）を設定できます。

デバイスファイルは次のようにして作成します。

<verb>
    % mknod /dev/optcd0 b 17 0
</verb>

さらに詳しい情報は、README.optcd を御覧ください。

<sect2> sjcd ドライバ <p>

<verb>
　　　　　　　　原作者: Vadim V. Model (vadim@rbrf.msk.su)
　　　マルチセッション: 不可
　　複数ドライブの接続: 不可
ドライバのモジュール化: 不可
　音楽データの読み出し: 不可
　　　　　　　自動認識: 不可
　　　デバイスファイル: /dev/sjcd, メジャー番号 18
　　　　　設定ファイル: sjcd.h
カーネル設定オプション: Experimental Sanyo H94A CDROM support?
　　　 README ファイル: README.sjcd
</verb>

次のカーネルコマンドラインで
<verb>
    sjcd=&lt;I/O アドレス&gt;,&lt;割り込み&gt;,&lt;DMA&gt;
</verb>
カードの I/O ベースアドレス（0x340 など）、割り込み、DMA チャネルを設
定できます。（例 sjcd=0x340,10,5）

デバイスファイルは次のようにして作成します。
<verb>
    % mknod /dev/sjcd b 18 0
</verb>

さらに詳しいことは、 README.sjcd を御覧ください。


<sect2> SCSI ドライバ <p>
<verb>
　　　　　　　　原作者: David Giller
　　　マルチセッション: 可 (ドライブによっては不可)
　　複数ドライブの接続: 可
ドライバのモジュール化: 可
　音楽データの読み出し: 可 (ドライブによっては不可)
　　　　　　　自動認識: 可
　　　デバイスファイル: /dev/scd0, メジャー番号 11
　　　　　設定ファイル: cdrom.h
カーネル設定オプション: SCSI CDROM support?
　　　 README ファイル: なし
</verb>

SCSI カードそれぞれに特有のカーネルコマンドラインに指定するオプション
があります。詳しくは <url
url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/SCSI-HOWTO.html" name="SCSI HOWTO"> を参照してください。

(最大 SCSI バスの数だけの) 複数のドライブを接続することができます。
デバイスファイルは、メジャー番号が 11 で、マイナー番号が 0 以上のもの
を使用します。次のようにして作成してください。

<verb>
    % mknod /dev/scd0 b 11 0
    % mknod /dev/scd1 b 11 1
</verb>



<sect2> IDECD ドライバ <p>
<verb>
　　　　　　　　原作者: Scott Snyder (snyder@fnald0.fnal.gov)
　　　マルチセッション: 不可
　　複数ドライブの接続: 可
ドライバのモジュール化: 不可
　音楽データの読み出し: 不可
　　　　　　　自動認識: 可
　　　デバイスファイル: /dev/hd{b,c},  メジャー番号 22
　　　　　設定ファイル: cdrom.h
カーネル設定オプション: Include support for IDE/ATAPI CDROMs?
　　　 README ファイル: README.ide
</verb>

ATAPI CD-ROM ドライブ用のドライバです。このドライバは次の形式のカーネ
ルコマンドラインを認識します。


<verb>
    hdx=cyls,heads,sects,wpcom,irq
       または
    hdx=cdrom
</verb>

hdx は {hda,hdb,hdc,hdd} のいずれかか、または単に hd とすると順に次の
ドライブを指示します。最初の３つのパラメータ(cyls,heads,sects)のみが必
須のものです。例えば hdc=1050,32,64 hdd=cdrom などです。



<sect1> Linux カーネルの起動 <p>

さて、それでは新しいカーネルを起動する準備はできましたか。リブートし
たら、次に示すようなデバイスドライバが出すメッセージを確認しましょう。
(このメッセージはドライブのタイプによって異なります。)
  
<verb>
    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.
</verb>

この起動メッセージがスクロールしてしまって見えない場合には、 
Shift+PageUp でバックスクロールしたり、dmesg コマンドや
<tt>tail /var/adm/messages</tt> などのコマンドで確認しましょう。

ドライブが認識されなかったり、エラーが出たりしたときには、「困った時の
対処」の項を見てください。

<sect1> CD-ROM のマウント・アンマウントと排出 <p>


CD-ROM をマウントする場合、ディスクをドライブに入れた後、ルートの権限
で次のようにマウントコマンドを実行してください。（前記のように CD-ROM 
ドライブのデバイスファイルに /dev/cdrom というシンボリックリンクを設定
した場合です）

<verb>
    % mount -t iso9660 -r /dev/cdrom /mnt
</verb>

これで <tt>/mnt</tt> の下で CD-ROM にアクセスすることができます。
<tt>/mnt</tt> とは一般的には一時的なマウントポイントですから、恒久的に使う
には <tt>/cdrom</tt> などという名前の方がよいでしょう。<tt/mount/ コマ
ンドには他にも有用なオプションがあります。詳しいことはオンラインマニュ
アルの <tt/mount(8)/ の項を見てください。（訳注：<tt>mount(8)</tt> と
はオンラインマニュアルの８章の mount の節という意味です。<tt>man
8 mount</tt> で表示されるはずです。）

<tt>/etc/fstab</tt> に項目を書き加えることで、Linux の起動時に CD-ROM 
を自動的にマウントしたり、マウントする時のパラメータを指定することがで
きます。これもオンラインマニュアルの <tt>fstab(5)</tt> を見てください。

音楽用 CD を再生する場合はディスクをマウントしてはいけません。

CD-ROM をアンマウントするためにはルートになって、次のように 
<tt>umount</tt> コマンドを実行します。

<verb>
    % umount /mnt
</verb>

ディスクをアンマウントできるのは、そのドライブにアクセスしているプロセ
スがない時にかぎります。（またはそのドライブが何かのプロセスのデフォル
トのディレクトリになっている時にもアンマウントはできません。）ディスク
はアンマウントしてからでないと排出してはいけません。大抵のドライブには 
Eject ボタンがついていますが、ソフトウェア的にディスクを排出するプログ
ラムもあります。

CD-ROM をマウントしている間は、たとえ Eject ボタンを押してディスクを排
出することが可能でも、排出してはいけません。（ドライブによってはマウン
トしている間は排出できなくなります） SPBCD ドライバはアンマウントされ
ると自動的にディスクを排出し、ディスクが入ると自動的にマウントします。
（この機能はカーネルのコンパイル時や、またはソフトウェア・コマンドを使っ
て off にすることもできます。）


<sect1> 困った時の対処 <p>

この HOWTO に従ったのにもかかわらず、問題が起こったら、以下の項目を確
認してください。この項目は、あとになるほど複雑な問題を扱います。チェッ
クして、うまくいかない時には次の項目に移る前にその問題を解決してくださ
い。

<sect2> Step 1: 自分でコンパイルした新しいカーネルを使用していますか？ <p>

CD-ROM を扱えるようにコンパイルし直したカーネルを使う時には、その日付
を見て新しくコンパイルしたものが動作しているかを確認できます。
次のように uname コマンドでタイムスタンプを見て確認してください。

<verb>
    % uname -a
    Linux fizzbin 1.1.31 #1 Wed Jul 20 16:53:35 EDT 1994 i386
</verb>

または <tt>/proc/version</tt> を見ることでも確認できます。

<verb>
    % cat /proc/version
    Linux version 1.2.13 (root@fizzbin) (gcc version 2.6.3) #9 Sun Aug 6 11:56:47 EDT 1995
</verb>

この日付がコンパイルした時間と異なる場合には、古いカーネルを走らせてい
るのでしょう。本当にリブートしましたか？ LILO を使っているなら、インス
トールし直しましたか（/etc/lilo/install の実行）フロッピーディスクから
の起動の場合、新しい起動ディスクを作成しましたか？ 確認しましょう。

<sect2> Step 2 : 正しいカーネルドライバが本当に組み込まれていますか？ <p>

<tt>/proc/devices</tt> を見れば、どんなドライバが組み込まれているかが
わかります。

<verb>
    % 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
</verb>
	
まず CD-ROM デバイスドライバを探しましょう。ブロックデバイスの中にある
はずです。上の例では <tt>spbcd</tt> が見つかりました。

また ISO-9660 ファイルシステムがサポートされているかどうかも 
<tt>/proc/filesystems</tt> を見て確かめてください。

<verb>
    % cat /proc/filesystems
	    ext2
	    msdos
    nodev   proc
	    iso9660
</verb>

ドライバが使用している I/O ポートアドレスを確認するためには 
<tt>/proc/ioports</tt> を見ます。

<verb>
    % cat /proc/ioports
    ...
    0230-0233 : sbpcd
    ...
</verb>

コンパイルして組み込んだはずのドライバが表示されない場合には、
カーネルの設定か、構築に何か問題があったのでしょう。もう一度やり直して
みてください。

<sect2> Step 3 : カーネルドライバがドライブを起動時に認識していますか？ 
<p>

CD-ROM デバイスが起動時に認識されているかを確かめるために、起動時のメッ
セージを見る必要があります。メッセージがスクロールされて見えない時には、
直後なら Shift-PageUp で見ることもできますが、 <tt>dmesg</tt> コマンド
で見ることもできます。

<verb>
    % dmesg
</verb>

または

<verb>
    % tail /var/adm/messages
</verb>

ドライブが認識されない時には何かがおかしいはずです。電源が入っているか、
ケーブルが正しく接続されているかを確認しましょう。ジャンパスイッチのあ
るものは、ハードウェアアドレスなどが正しく設定されているかを確かめましょ
う。 IDE デバイスとして ATAPI CD-ROM を１台だけ接続している時には 
"single" "master" にして "slave" になっていないかを確認しましょう。DOS 
で正しく動くことを確認できたら、それらのハードウェアの設定はうまくいっ
ていると考えてよいでしょう。

多くのドライバは自動検出機能を持っていますが、持っていないものもありま
す。また自動認識機能は必ずしも信頼できるとは限りません。ドライバの種類
に合わせたカーネルコマンドラインで、ドライブの存在を明示的に示してやる
こともできます。また同時に標準とは異なる I/O アドレスや他のパラメータ
を設定することもできます。 LILO や LXboot の場合は起動時に手動で、それ
らのパラメータを入力することもできます。

動かない時に考慮すべきもう一つの可能性は、ドライブの種類とは異なる種類
のドライバを組み込んでしまったかもしれないということです。
説明書に IDE と記載してあるにも関わらず、実際には ATAPI ではなく
メーカー独自のインターフェイスを持ったドライブである場合があります。

そのドライブ（またはインターフェイスカード）が DOS のドライバによって
初期化しないといけないものかもしれません。この場合には DOS でいったん
起動したあと、Control-Alt-Delete でリスタートして、Linux を起動します。

また、使っているドライブがここに載っていないものの場合、Linux にはその
ドライバが用意されていないのかもしれません。この文書の最後に使えるドラ
イブのリストをあげておきますので、チェックしてください。


<sect2> Step 4: ドライブからデータを読み出せますか？ <p>

CD-ROM の読み取りをしてみましょう。次に示すコマンドを打つと、ドライブ
のアクセスランプが（あれば）点灯するはずです。エラーが出た時は何か問題
が起こっていることを示します。if に指定するデバイスファイルは CD-ROMを
示す適切なものを用いてください。ISO-9660 の CD-ROM （Linux 配布用の 
CD-ROM など）がドライブに入っていることも確かめてください。終了するに
は Ctrl-Cを入力します。
  
<verb>
    dd if=/dev/cdrom of=/dev/null bs=2048
    ^C
    124+0 records in
    124+0 records out
</verb>

これがうまくいったら、カーネルはうまくドライブとやりとりができますので、
Step 5 に移ってください。

うまくいかない時にまず考えられるのは、デバイスファイルが間違っているこ
とです。デバイスファイルが本当に <tt>/dev</tt> ディレクトリにあって、
正しい（前述の通りの）メジャー番号とマイナー番号がついているか確かめて
ください。メジャー番号は下の例のように <tt>ls -l</tt> コマンドで確認で
きます。

<verb>
    ~# 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
</verb>

この場合は Mitsumi CD-ROM で メジャー番号は 23, マイナー番号は 0 です。
また、デバイスファイルの読みだし、書き込み権限が出ているかも確認してく
ださい。

これがうまくいかない理由には、ハードウェアの問題もあり得ます。DOS で試
して動作しなければ、ハードウェアの問題でしょう。


<sect2> Step 5 ドライブがマウントできますか？<p>

Step 4 のように読み出しができるのに、ドライブがマウントできない場合に
は、まず次のようにして、カーネルの ISO9660 ファイルシステムの機能が使
えるようになっているかを確かめてください。

<verb>
    % cat /proc/filesystems
            ext2
            msdos
    nodev   proc
            iso9660
</verb>

CD-ROM をマウントするときには <tt>"-t iso9660"</tt> と <tt>"-r"</tt> 
というオプションを付けるのを忘れないようにしてください。また CD-ROM 
（音楽用 CD ではありません）が壊れていないことも（他のマシンで試すなど
して）確かめてください。また普通は root 権限でマウントしなければなりま
せん。

ATAPI CD-ROM の場合、2048 というブロックサイズを与えてやる必要があるか
もしれません。 <tt>"0o block=2048"</tt> というオプションを mount コマ
ンドに与えてみてください。

また、マウントポイントが存在するか、またそれが空のディレクトリであるか
確かめてください。

sbpcd ドライバの場合、音楽 CD の停止命令を送ってみてください。例えば、
xcdplayer 附属の xcdstop などを実行した後でマウントできるようになる場
合があります。おそらくバグでしょう。

起動時に CD-ROM を自動的にマウントしようとしているなら、
<tt>/etc/fstab</tt> に正しく記述されているか確かめましょう。（訳注: 最
近の Slackware には /etc/fstab によらず起動時に CD-ROM を自動でマウント
する rc ファイルが附属しています。）

syslog デーモンを起動している場合には、カーネルのエラーメッセージが記
録されていることもあります。次のようにして <tt>"dmesg"</tt> コマンドを
試してみてください。

<verb>
    % dmesg
    SBPCD: sbpcd_open: no disk in drive
</verb>

システムの設定によっては、エラーが <tt>/var/adm</tt> のなかのファイル
に記録されている場合もあります。


<sect2> 音楽用 CD が動かない時<p>

ここではドライブが CD-ROM を読みとれるのに、音楽用 CD を演奏できないと
きのための問題解決法を説明します。

音楽用 CD を演奏するためには、そのためのアプリケーションが必要です。ア
プリケーションによっては問題があったり、使っているドライブと合わないも
のもあります。動作しない時は他のアプリケーションを試してみるか、コンパ
イルし直してみましょう。

また、CD-ROM ドライバによっては音楽 CD の演奏機能がないものがあります。
ドライバの README やソースコードを見て確認しましょう。

ドライブについているヘッドホンジャックから音が出るならば、問題はサウン
ドカードにあります。ミキサープログラムを使って入力デバイスとボリューム
レベルを調整してみてください。また、CD-ROM ドライブとサウンド・カード
をケーブルで接続しないとサウンドカードから音が出ないので、それも確認し
ましょう。サウンドカードがきちんと動作しているかは、<url
url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Sound-HOWTO.html" name="Sound HOWTO"> を見て
確認してください。

<sect2> それでもうまくいかない時には <p>

まだ問題が解決できない場合、最後の手段をこっそりとお教えしましょう。

<itemize>
 <item> もう一度この HOWTO をじっくりと読み直す。
 <item> この文書の最後に挙げてある参考資料を読む。特にカーネルのソース
        に附属する README を読む。
 <item> fj.os.linux や comp.os.linux, または関連する BBS の会議室など
        で質問する。
 <item> Linux メーリングリストで質問する。
 <item> カーネルを最新版のものに変えてもう一度試してみる。
 <item> コンピュータを買った店に相談する。
 <item> 関係するカーネルドライバの作者にメールで問い合わせる。
 <item> この HOWTO の著者に聞く。
 <item> あきらめて Emacs の M-x doctor に相談する。
</itemize>


<sect> CD-ROM を使うアプリケーション <p>

この説では Linux で動作する CD-ROM に関連したアプリケーションを簡単に
説明します。これらの最新版についての情報は、Linux Software Map (LSM) 
という文書を参考にしてください。


<sect1> 音楽用の CD を演奏するアプリケーション <p>

CD-ROM に付いているヘッドホン・ジャックやサウンド・カードを通じて音
楽用の CD を演奏するプログラムがいくつかあります。

<descrip>
<tag/Workman/ X ウィンドウ・システム (X11) で動く音楽用 CD の演奏プログラム
  で、CD のデータベースなど、多くの機能を持っています。Xview ライブラ
  リを必要とします。

<tag/WorkBone/ テキストベースで動く CD プレイヤーです。

<tag/xcdplayer/ X11 で動くシンプルな CD プレイヤーです。

<tag/cdplayer/ ごく簡単な機能だけを持つコマンドライン型の CD プレイヤーです。

<tag/Xmcd/ X11/Motif の CD プレイヤーです。

<tag/xmitsumi/ X11 で動く、ミツミのドライブ用のプレイヤーです。

<tag/xplaycd/ これも X11 で動くもので、ミキサーや VU メータなどのプログラム
  が付属しています。

<tag/cdtool/ コマンドラインで使う音楽用 CD のためのツール群です。
</descrip>

これらのプログラムは特別なデバイスファイル （たとえば 
<tt>/dev/cdrom</tt>）用に作られています。それを自分のシステムのデバイ
ス名と合わせるために、パラメータとしてデバイス名を与えるか、シンボリッ
ク・リンクを作成しなくてはならないかもしれません。もしも CD の出力をサ
ウンド・カードに送るつもりなら、ミキサープログラムを用意した方がいいで
しょう。ボリュームを調整したり、録音用に CD-ROM からの入力を選択したり
することができるからです。


<sect1> Inheriting File System <p>

Inheriting File System (IFS) とは、カーネル内蔵のドライバで、同じ場所
に複数のファイルシステムをマウントできるものです。これは SunOS の 
Translucent File System と同じものです。ハードディスクのディレクトリを 
CD-ROM にマウントすることで、疑似的に書き込み可能な CD-ROM を作ること
ができます。

現在はまだ実験段階で、0.99 pl11 と pl12 用に書かれています。最近のカー
ネルではうまく動作しないでしょう。作者は Werner Almesberger さん
(<tt>almesber@bernina.ethz.ch</tt>) です。

似たようなパッケージで、user file system という名のものが、同じような
目的のために使えるものです。


<sect1> PhotoCD <p>

PhotoCD は ISO-9660 ファイルシステムを使い、独自のフォーマットの画像デー
タを収録したものです。どんな CD-ROM ドライブでも PhotoCD を読めるとい
うわけではありません。

Hadmut Danisch 氏が作った hpcdtoppm というプログラムは PhotoCD ファイ
ルを portable pixmap 形式に変換するものです。このプログラムは <url
url="ftp://ftp.gwdg.de/pub/linux/hpcdtoppm"> から、または PBM ユーティリティー
の一部として多くの FTP サイトから入手することができます。
(<tt>"pbm"</tt> または <tt>"netpbm"</tt> を探してください。)

Gerd Knorr 氏 (kraxel@cs.tu-berlin.de) の作った photocd プログラムを
使うと PhotoCD の画像を targa または Windows や OS/2 の bitmap ファ
イルに変換できます。

この同じ人が作った xpcd というプログラムは X11 で動く Photo CD を扱
うプログラムです。画像をマウスで選び、まず小さなウィンドウで画像を見
て、画像を５段階の解像度でロードすることができます。画像の一部に注目
してその部分だけをロードすることもできます。このパッケージは 
<url url="ftp://ftp.cs.tu-berlin.de/pub/linux/Local/misc"> にあります。

ImageMagik 画像ソフトウェアも PhotoCD ファイルを扱うことができます。
これは <url url="ftp://ftp.x.org/contrib/applications/ImageMagick/">
から入手できます。


<sect1> Mkisofs <p>

Eric Youngdale 氏の mkisofs パッケージを使うと ISO-9660 ファイルシス
テムをハードディスクに作ることができます。これは CD-ROM を作る前のテ
ストに役立つでしょう。

書き込み可能な CD-ROM ドライブに書き込むためのツールは、ドライブの販売
元によって異なるようです。書き込みは連続的に行うことが要求されるので、 
Linux のようなマルチタスク OS はあまり適しているとは言えません。


<sect1> ISO-9660 ユーティリティ <p>

ISO-9660 フォーマットされたディスクをチェックするユーティリティがいく
つかあります。CD を疑うときには、これが役に立つでしょう。Bill Siegmund 
氏と Rich Morin 氏によって書かれたプログラムが <url
url="ftp://ftp.cdrom.com/pub/cdrom/ptf/"> にあります。


<sect> よくある質問に対する解答 <p>

<sect1> root でないユーザーがディスクをマウント、アンマウントするにはどうしたらいいでしょう？ <p>

マウントコマンドによってはユーザーに対するオプションが使えるものがあり
ます。 <tt>/etc/fstab</tt> に次のように記述すると

<verb>
    /dev/sbpcd  /cdrom   iso9660     user,noauto,ro
</verb>

一般のユーザーが次のようなコマンドを使って、ディスクのマウント、アンマ
ウントができるようになります。

<verb>
    % mount /cdrom
    % umount /cdrom
</verb>

ディスクの安全を守るためのいくつかのオプション付きでマウントコマンドが
実行されます。（例えば、プログラムが実行されなかったり、デバイスファイ
ルが無視されたりします。）ときにはそれが用心深すぎる措置だと思われるで
しょう。

他の方法として、フロッピーや　CD-ROM などの持ち運び可能なデバイスを一
般ユーザーがマウントしたりアンマウントするための <tt/usermount/ パッケー
ジを入手することもできます。これはハードディスクなどのデバイスは保護し
ます。これは主だったアーカイブサイトで見つかるでしょう。

また、<tt/ftp.cdrom.com/ というアーカイブサイトには <tt/mount.c/ とい
うソースファイルが登録されています。これは CD-ROM を一般ユーザー（だけ）
がマウントしたりアンマウントしたりすることができるプログラムです。これ
は <tt/setuid/ することで実行します。

<sect1> CD-ROM をアンマウントしようとすると <tt/"device is busy"/ というメッセージが出るのですが。<p>

他のプロセスがそのドライブにアクセス中だったり、マウントされたディスク
のディレクトリを標準ディレクトリとしているプロセスがあったりすると、ディ
スクをアンマウントすることはできません。どのプロセスがディスクにアクセ
スしているのか知りたいときには、次に示すように <tt/fuser/ コマンドを使
うことができます。

<verb>
    % umount /cdrom
    umount: /dev/sbpcd: device is busy
    % fuser -v /cdrom
    /cdrom:               USER       PID ACCESS COMMAND
			  tranter     50 ..c..  bash
</verb>



<sect1> NFS を使って CD-ROM を他のホストに転送することはできますか。 <p>

<tt>/etc/exports</tt> を書き換える必要があります。詳しくはオンラインマ
ニュアルの <tt>exports(5)</tt> を見てください。


<sect1> Linux を CD-ROM から起動する方法はありますか。<p>

一番簡単なのは、ブートフロッピーを使うことです。(Slackware などの) 
Linux の配布形態には、一つ又はいくつかのブート用のフロッピーが付いて
います。使っているシステムに合った CD-ROM ドライバの組み込まれたフロッ
ピーを使って起動してください。

将来的には必要な ROM BIOS 機能を持った ATAPI CD-ROM ドライブから直接 
Linux を起動することができるようになるでしょう。




<sect1> 音楽用の CD からデジタルデータを読み出すにはどうしたらいいでしょう。
<p>

これができる CD-ROM ドライブは多くはありません。Heiko Eissfeldt 氏
(<tt/heiko@colossus.escape.de/) と Olaf Kindel 氏が音楽データを読みとっ
て <tt/.wav/ フォーマットのファイルとして保存するユーティリティーを書
いています。これは東芝の XM3401 または XM4101 SCSI ドライブでのみ動き
ます。このパッケージは <tt/cdda2wav.tar.gz/ という名前で 
<tt/sunsite.unc.edu/ に登録されています。他にも Chinon 535 や東芝 
3601B のドライブで成功したという報告もあります。

Panasonic SBPCD ドライバは、バージョン 1.1.22 のカーネルに含まれる 
(version 2.0) ものから、は、サウンドデータを読むことができるようになり
ました。これに応じて改良された <tt/cdda2wav/ プログラムが 
<url url="ftp://ftp.gwdg.de/pub/linux/misc/cdda2wav-sbpcd.2.tar.gz"> 
に登録されています。

標準的な cdda2wav プログラムには Panasonic のドライブに対応していると
書いてありますが、まだデータの「重なり」を処理し切れないために確実に動
くとはいえません。

CDU-33 ドライバは音楽データを読み込むことができるようになりました。
cdda2wav プログラムが使えるそうです。

このことについて、さらに詳しく知りたい方は、参考資料の節に挙げた
<tt/alt.cd-rom/ の FAQ リストを見てください。



<sect1> <tt/find/ コマンドが正しく働かないのですが。<p>

Rock Ridge 拡張されていない ISO-9660 フォーマットのディスクの場合、
<tt/find/ コマンドに <tt/-noleaf/ オプションを付ける必要があります。

ISO-9660 フォーマットの場合、それぞれのディレクトリファイルのリンク数
が簡単には分からないため、それは 2 にセットされます。しかし <tt/find/ 
プログラムは探索の最適化のために (i_link - 2) 個のサブディレクトリをそ
れぞれのディレクトリで探し、それ以外を普通のファイルとみなすので、ディ
レクトリの探索がおかしくなります。<tt/-noleaf/ オプションを付けるとこ
の最適化が行われなくなるのです。


  
<sect1> Reveal 社の Multimedia kit の CD-ROM は使えますか？ <p>

（以下の内容は <tt/Horne@leader.pfc.mit.edu/ 氏の御教示によります。）

私は Reveal CD/Soundcard キットを買い、いろいろ試した結果、Linux で動
かせるようにし、その方法を投稿しました。CD-ROM HOWTO に掲載されて以来、
週に２通ほど問い合わせが来るようになりました。

私はエキスパートではありません。私は Reveal 社のテクニカル・サポートか
らアドレスを聞き出して、２つの SOUND-FX ラインを cdu31a ドライバに追加
しただけです。大抵の質問には答えることができません。ここで述べる以上の
ことはほとんど説明できません。特に注意していただきたいのは、私はこのカー
ドが Linux に適していると、お勧めしているわけではありません。

Linux で REVEAL カードを使う

まとめ:

<itemize>
<item> 買わない方がいいでしょう。

<item> もしも既に持っているならば、そしてソニーのドライブを持っているな
     らば、CD を動作させることができます。

<item> ソニーのドライブでない場合でも、たぶんドライブを動かすことはでき
     るでしょう。 しかし保証はしません。私は試していないからです。

<item> 音は良くありません。Aztech がプログラム情報を公開してくれたら、
       少しはましになるでしょう。
</itemize>


詳細説明:

もしも SONY のドライブが付いていれば、 cdu31a ドライバが動作します。カー
ネルを cdu31a ドライバをサポートするように設定します。以下は cdu31a ド
ライバのソースの引用です。

<verb>
  * WARNING -    All autoprobes have been removed from the driver.
  *              You MUST configure the CDU31A via a LILO config
  *              at boot time or in lilo.conf.  I have the
  *              following in my lilo.conf:
  *
  *                append="cdu31a=0x1f88,0,PAS"
  *
  *              The first number is the I/O base address of the
  *              card.  The second is the interrupt (0 means none).
  *              The third should be "PAS" if on a Pro-Audio
  *              spectrum, or nothing if on something else.
</verb>

Reveal カード用に適当なところに次の設定をします。

<verb>
  append="cdu31a=0x654,0"
</verb>

私は LILO を使っていません。私は自動認識を外して、アドレスを自分で設定
しています。(&lt;/usr/src/linux/drivers/block/cdu31a.c&gt; のファイルから 
"cdu31a_addresses" という文字列を検索して設定しました。)

この方法は、ソニーのドライブ以外では動作しません！！ （私は詳しくは知
りませんが、動いたら非常に驚きです）

ソニーの場合の類推で、Panasonic や Mitsumi ドライブを持っている場合も、
Reveal テクニカルサポートに電話して CD-ROM の種類にあったベースアドレ
スを知る必要があります。そして適切なドライバを選ぶ必要があります。（こ
の場合、sbpcd ドライバが使えるかはわかりません。たぶん動くでしょう。ど
ちらにせよアドレスを知る必要があります。）<tt>"append=..."</tt> も他の
ドライバでどうすればいいかはわかりません。

いくつかのシステム設定をするまでは、ドライバへのパッチや lilo.conf の
設定はできません。もしも Linux をまだインストールしていない時には、試
してみることがあります。

<enum>
<item> インストールファイルを DOS パーティションにコピーして、そこから
インストールします。これは簡単ですが、DOS パーティションのハードディス
クが 90MB ほど必要でしょう。一旦システムを起動してしまえば前述のやり方
が使えます。そのためには最小限のシステムと、コンパイラ（Slackware の場
合 A, AP, D シリーズ）それに、カーネルのソースコードのみインストールす
れば十分です。これでカーネルにパッチを当てて、作り直せます。

<item> SONY CD や、それに似たものの場合、パッチを当てたカーネルを作っ
てくれる友達が必要です。（自動認識 ON, あなたのシステムのアドレスを最
初に調べるようにする）そして普通に Rdev を実行します。

<verb>
  rdev  /dev/fd0 /dev/fd0                 ; root=floppy
  rdev -r /dev/fd0 1440                   ; ramdisk
  rdev -t /dev/fd0 -3                     ; prompt for screen mode
</verb>

そうして、このインストール用ルートディスクから起動します。CD-ROM 用の
マウントポイントを作ってください。

<verb>
 # mkdir /cd
 # mount -r -t iso9660 /dev/fd0 /cd
</verb>

そして "install from mounted directory" を選んでインストールします。も
ちろん配布物のカーネルはそのままでは動作しませんから、先のように改変し
たカーネルをコピーします。

<item> これはたぶん可能なことですが（私は試していません）、LOADLIN を
使うと Linux を DOS パーティションから起動できるので、簡単にできるでしょ
う。たぶん LILO の用にデータをカーネルに送れるので、DOS から Linux を
起動して、カーネルドライバにアドレスを渡せばよいでしょう。ただし試した
ことはありません。
</enum>

音源の設定:

このカード (isc-400) は Linux ではあまりサポートされていません。残念な
がら、あまり良いハードウェアとはいえないからでしょう。8-bit の SB モー
ドで音を出すことができます。ミキサーはまだ動作していませんので、録音も
できません。MSS モードは IRQ がないので、ドライバでどのように扱えばい
いのかわかりません。AdLib 互換でも動いてはいません。

私と、もう一人がネイティブ・モードのプログラム情報を得ようと努力しまし
たが、さんざん電話をした挙げ句、シンガポールまで問い合わせろと言われて
あきらめました。もしも良い音を出したくなれば、私は今度は SoundBlaster 
を買うでしょう。



<sect1> Linux は書き込み可能な CD-ROM ドライブをサポートしていますか？
<p>

Adam J. Richter (<tt/adam@yggdrasil.com/) 氏によると、

Yggdrasil パッケージでは、Adaptec 154x SCSI コントローラを使って、
Philips の CD ライターを扱うことができます。他の SCSI コントローラが使
えるかどうかについては確認していませんが、おそらく動くと思います。
<tt/mkisofs/ を使えば、ISO-9660 ファイル・システムを作成することができ
るので、それを CD に書き込むことができます。このセットアップについて援
助がほしい場合は、私たちの 900 テクニカル・サポート・ナンバーの
1-900-446-6075 内線 835（US&dollar;2.95/分：アメリカ国内のみ）に電話し
てください。




<sect1> どうして CD-ROM は read-only でマウントしなくてはならないのでしょう。
<p>

CD-ROM は読みだし専用のメディアですから当然のことです。古いカーネルで
は CD-ROM は read/write モードでマウントできました。しかも CD に対する
書き込みの命令はエラーにならず無視されました。カーネルのバージョンが 
1.1.33 になってこの問題は見直され、CD-ROM は read-only でしかマウント
できないようになりました。マウント時には <tt/mount -r/ のように読みと
り専用のオプションを指定してください。



<sect1> システムをシャットダウンすると、ディスクトレーが開いてしまうのはなぜでしょう。
<p>

1.1.38 カーネルに附属する <tt/sbpcd/ ドライバは、アンマウントされると
ディスクを自動的に排出します。システムをシャットダウンするときにはマウ
ントされていた CD も自動的にアンマウントされるので、ディスクが排出され
ることになります。

この機能はディスクを変えたいときには便利です。さらに、トレーを開いたま
まで、ディスクをマウントしたり、読もうとすると、自動的にトレーを閉じる
ようになっています。

この仕様は、いくつかのプログラム（<tt/cdplay/ や <tt/workbone/）で問題
になることがわかりました。
1.1.60 以降のカーネルでは、この機能をソフトウェア的に調整することがで
きます。サンプルプログラムが README.sbpcd ファイルに含まれています。
（eject プログラムも使えるでしょう）


<sect1> マウントできない「特殊な」 CD があるのですが。<p>

その「特殊」な CD はおそらく（PhotoCD や CD-R ドライブを使って作られた 
"one-offs" のようなディスク、または 8cm 電子ブックなどの） XA ディスク
でしょう。ほとんどの Linux カーネルの CD-ROM ドライバは XA ディスクを
扱えませんが、それを可能にするパッチがFTP サイトにあるかもしれません。

sbpcd ドライバは XA に対応しています。もしも sbpcd ドライバを使ってい
るなら、次のようにしてディスクが XA かそうでないかを確かめることができ
ます。sbpcd.c ファイルを見て、"Table of Contents" （目次）の表示をする 
(DBG_TOC) ようにします。そしてカーネルを再構築して新しいカーネルをイン
ストールして、それを使って起動します。ディスクをマウントするごとにディ
スクの目次が（コンソールまたはログファイルに）書き込まれます。もしも目
次の最初に表示される数字が 20 ならばそれは XA ディスクです。00 ならば
普通のディスクです。もしも目次が異なるトラックを示したら、それが XA ディ
スクである可能性があります。

（この情報は、Eberhard Moenkeberg さんに提供していただきました。）

読めない CD の他の可能性としては、

<enum>
<item> その CD-ROM が ISO-9660 ファイルシステムではない。（SunOS など）
<item> 音楽用 CD である。
<item> ディスクが壊れている。
<item> 上下逆さに入れている :-)
</enum>

訳注: 電子ブックの場合、EB フォーマットはほとんどのドライブで読めます。
拡張された EBXA フォーマットは、読めないものもあるようです。



<sect1> CDU-33 ドライブのアクセスランプが光るのはなぜでしょうか。<p>

これは普通の現象であり、最近のドライバに追加された機能です。CD がマウ
ントされた時にアクセスランプがフラッシュします。（これはバグではなく特
徴です。）


<sect1> 複数ディスクが入る CD-ROM ドライブは Linux で使えますか？<p>

パイオニア（６連・１２連）やナカミチの（７連）CD-ROM チェンジャー付き
の連奏ドライブが使えるという報告があります。今までに動作報告されている
ものはどれもSCSIドライブです。

最近のカーネルで連奏ドライブを使うには、make configの際に、
"Probe all LUNs on each SCSI device"という質問に y[es] と答える
必要があるでしょう。なお、SCSI timeoutというパラメータを大きく
する必要があったという報告もあります。





<sect> 参考資料 <p>

Panasonic の CD-ROM 用のドライバに関する情報は
<tt>/usr/src/linux/drivers/block/README.sbpcd</tt> にあるはずです。

次に示す Usenet の FAQ は <tt/news.answers/ に定期的に投稿されます。ま
た <tt/rtfm.mit.edu/ などの FTP サイトにも登録されます。


<itemize>
<item> alt.cd-rom FAQ 
<item> comp.periphs.scsi FAQ
</itemize>
  
またこれらの他の Linux の HOWTO 文書にも、CD-ROM に関する有用な情報が
書かれています。

<itemize>
<item> <url url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/SCSI-HOWTO.html" name="SCSI HOWTO">
<item> <url url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Hardware-HOWTO.html" name="Hardware Compatibility HOWTO">
<item> <url url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Sound-HOWTO.html" name="Sound HOWTO">
<item> <url url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Kernel-HOWTO.html" name="Kernel HOWTO">
<item> <url url="http://www.gee.kyoto-u.ac.jp/LDP/HOWTO/Distribution-HOWTO.html" name="Distribution HOWTO">
</itemize>

少なくとも 10 社が Linux を収録した CD-ROM を販売しています。それらの
一部は Distribution HOWTO に紹介されています。また Linux の日本語環境
である JE を収録した CD-ROM もいくつかあります。「Linux 情報メモ」や
「JMETA-FAQ」をご覧ください。

ここに示したニュースグループは、 CD-ROM 関連のトピックを扱っています。

<itemize>
  <item> comp.publish.cdrom.hardware
  <item> comp.publish.cdrom.multimedia
  <item> comp.publish.cdrom.software
  <item> comp.sys.ibm.pc.hardware.cd-rom
  <item> alt.cd-rom
  <item> alt.cd-rom.reviews
  <item> fj.comp.dev.cdrom
</itemize>

インターネットの <tt/ftp.cdrom.com/ というサイトには CD-ROM についての
情報やソフトウェアが多く蓄積されています。<tt>/pub/cdrom</tt> というディ
レクトリを見てください。

<url url="http://viswiz.gmd.de/MultimediaInfo/"> という Web サイトには
マルチメディアに関する多くの情報があります。

Linux Documentation Project は "Linux Installation and Getting
Started" をはじめとして Linux についていくつかの本を出版しています。こ
れらの本は anonymous FTP を通じて無料で入手することもできますし、また
印刷物として購入することもできます。

The Linux Software Map (LSM) とは、 Linux のソフトウェアについての情報
と、それがどこに置かれているかを書いた文書です。LSM は <url
url="ftp://sunsite.unc.edu/pub/Linux/docs/LSM.gz"> など、様々な FTP サ
イトに置かれています。

Linux mailing list には多くのチャネルがあって、異なるトピックを扱って
います。参加方法などを得るためには、本文に <tt>"help"</tt> と書いたメー
ルを <tt>majordomo@vger.rutgers.edu</tt> 宛に送ってください。
</article>
