  Linux CD-ROM HOWTO 日本語版
  Jeff Tranter (tranter@pobox.com)
  v1.14, 24 March 1999
  箕浦逸史と JF プロジェクト <JF@linux.or.jp>
  v1.14j, 14 June 1999

  この文書は、Linux システムで CD-ROM を導入・設定・利用する方法を説明し
  たものです。サポートされているハードウェアのリストや、よく聞かれる質問
  に対する解答なども含んでいます。これから CD-ROM を使おうという人に速や
  かに情報を提供し、ネットニュースやメーリングリストでの質問を減らすこと
  を目的としています。
  ______________________________________________________________________

  目次

  1. はじめに
     1.1 謝辞
     1.2 この文書の最新版は
     1.3 意見、提案などは
     1.4 配布条件

  2. CD-ROM の技術
  3. Linux で使える CD-ROM ドライブ
     3.1 ATAPI CD-ROM ドライブ
     3.2 SCSI CD-ROM ドライブ
     3.3 独自の CD-ROM ドライブ
     3.4 パラレルポート用の CD-ROM ドライブ
     3.5 標準のドライバと差し替えられるドライバ

  4. インストール方法
     4.1 ハードウェアの接続
     4.2 カーネルの設定変更と再構築
     4.3 デバイスファイルの作成と起動パラメータの設定
        4.3.1 sbpcd ドライバ
        4.3.2 SONY の CDU535 ドライバ
        4.3.3 CDU31A ドライバ
        4.3.4 Aztcd ドライバ
        4.3.5 GSCD  ドライバ
        4.3.6 mcd ドライバ (Mitsumi 用)
        4.3.7 mdcx ドライバ (Mitsumi 用の新しいドライバ)
        4.3.8 cm206 ドライバ
        4.3.9 optcd ドライバ
        4.3.10 sjcd ドライバ
        4.3.11 paride Driver
        4.3.12 SCSI ドライバ
        4.3.13 IDECD ドライバ
     4.4 Linux カーネルの起動
     4.5 CD-ROM のマウント・アンマウント・排出
     4.6 困った時の対処
        4.6.1 Step 1: 自分でコンパイルした新しいカーネルを使用していますか?
        4.6.2 Step 2 : 正しいカーネルドライバが組み込まれていますか?
        4.6.3 Step 3 : カーネルドライバがドライブを起動時に認識していますか?
        4.6.4 Step 4: ドライブからデータを読み出せますか?
        4.6.5 Step 5 ドライブがマウントできますか?
        4.6.6 音楽用 CD が動かない時
        4.6.7 それでもうまくいかない時には

  5. CD-ROM を使うアプリケーション
     5.1 音楽用の CD を演奏するアプリケーション
     5.2 PhotoCD
     5.3 mkisofs
     5.4 ISO-9660 ユーティリティ

  6. よくある質問に対する解答
     6.1 root でないユーザが CD-ROM をマウント・アンマウントするにはどうしたらいいでしょう?
     6.2 CD-ROM をアンマウントしようとすると "device is busy" というメッセージが出るのですが。
     6.3 NFS を使って CD-ROM を他のホストにエクスポートすることはできますか?
     6.4 Linux を CD-ROM から起動する方法はありますか?
     6.5 音楽用の CD からデジタルデータを読み出すにはどうしたらいいでしょう?
     6.6 find コマンドが正しく働かないのですが。
     6.7 Linux は書き込み可能な CD-ROM ドライブをサポートしていますか?
     6.8 どうして CD-ROM を読み取り専用でマウントしなくてはならないのでしょう?
     6.9 システムをシャットダウンすると、ディスクトレーが開いてしまうのはなぜでしょう?
     6.10 マウントできない「特殊な」 CD があるのですが。
     6.11 複数の CD-ROM が入るドライブは Linux で使えますか?
     6.12 "/cdrom: Permission denied" というエラーが出ます。
     6.13 IDE CD に関するカーネルのエラーはどう解釈すればよいでしょう?
     6.14 CD-ROM ドライブが何倍速なのか調べたいのですが。
     6.15 Linux をインストールした後に CD-ROM が止まってしまいます。
     6.16 読めない「隠しファイル」が CD-ROM 上にあります。
     6.17 CD-ROM を操作するための API に関する文書はどこにありますか?
     6.18 Windows CD-ROM のロングファイルネームが見えないのですが。
     6.19 Microsoft の Joliet ファイルシステムはサポートされていますか?
     6.20 Linux は 「拡張形式」の CD をサポートしていますか?
     6.21 Linux は DVD-ROM をサポートしていますか?
     6.22 Linux は CD-RW をサポートしていますか?

  7. 参考資料

  ______________________________________________________________________

  1.  はじめに

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

  1.1.  謝辞

  ここに掲載した情報の多くは Linux のカーネルに附属するソースコードおよ
  びドキュメント、インターネットの alt.cd-rom ニュースグループの FAQ
  、Linux ユーザからの意見をもとにしたものです。日本語版は fj.os.linux
  に流れた情報なども参考にしています。

  SGML Tools パッケージのおかげで、この HOWTO を様々な形式で提供していま
  す。いずれの形式の文書も一つのソースファイルから生成されたものです。

  1.2.  この文書の最新版は

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

  この HOWTO あるいは別の Linux HOWTO のハイパーテキスト版は多くの WWW
  サイトで入手できます。例えば  <http://metalab.unc.edu/LDP/HOWTO/> など
  です。また CD-ROM 形式の Linux ディストリビューションのほとんどには
  HOWTO 文書群が入っています。これは /usr/doc ディレクトリに入っているこ
  とが多いでしょう。それからいくつかの業者から出版物として買うこともでき
  ます。CD-ROM 業者, FTP サイト、出版物などの方法で入手した HOWTO 文書は
  内容が古いことが時々あります。この HOWTO の日付が 6 ヵ月以上古ければ、
  インターネットでもっと新しい版を入手できるでしょう。

  注意: インターネットは常に変化しているので、この文書で挙げた WWW や
  FTP のリンクも変わっているかもしれません。

  この文書は何ヶ国語かに翻訳されています:

  中国語:  <http://www.linux.org.tw/CLDP/CDROM-HOWTO.html>

  フランス語:  <http://www.freenix.org/unix/linux/HOWTO/>

  日本語:  <http://www.linux.or.jp/JF/JFdocs/CDROM-HOWTO.html>

  ポーランド語:  <http://www.jtz.org.pl/Html/CDROM-HOWTO.pl.html>

  スペイン語:  <ftp://ftp.insflug.org/es>

  スウェーデン語:  <http://www.swe-doc.linux.nu/>

  本文書や他の Linux HOWTO 文書の翻訳のほとんどは
  <http://metalab.unc.edu/pub/Linux/docs/HOWTO/translations/> や
  <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/translations/> で入手でき
  ます。本文書を上記以外の言語に翻訳された方は筆者にお知らせください。こ
  の文書で紹介します。

  1.3.  意見、提案などは

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

  日本語版についてのご意見は JF プロジェクト <JF@linux.or.jp> までお寄せ
  ください。現在の日本語版は、箕浦逸史さんによるバージョン
  1.5(1995/8/18) の翻訳を JF プロジェクトのメンバーでバージョン
  1.14(1999/3/24)に対応させたものです( 更新: 藤原輝
  嘉(fujiwara@linux.or.jp), 校正: 武井伸光(takei@cc.kochi-u.ac.jp) )。

  Linux における CD-ROM に関する一般的な質問にもできるだけ答えるつもりで
  す。ただし著者に質問する前に 本 HOWTO を通読した上で、問題に関係する情
  報もできるだけ詳しく送ってください。Linux 以外のオペレーティングシステ
  ムにおける CD-ROM ドライブに関する質問はしないでください。

  本文書を CD-ROM または印刷物として出版する場合には、献本を 1 部してい
  ただけると幸いです。宛先は電子メールで問い合わせてください。また、
  Linux Documentation Project に寄付をして Linux 向けのフリー文書を支援
  することも考えてください。詳しくは Linux HOWTO の世話人である Tim
  Bynum (linux-howto@metalab.unc.edu) に問い合わせてください。

  1.4.  配布条件

  原著作権表示: Copyright (c) 1995-1999 by Jeff Tranter

  日本語版 : Copyright (C) 1995-1999 Jeff Tranter, Itsushi Minoura,
  Teruyoshi Fujiwara

  この文書は  <http://metalab.unc.edu/LDP/COPYRIGHT.html> にある LDP ラ
  イセンスの条項に従って配布することができます。

  2.  CD-ROM の技術

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

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

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

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

  最初の世代のドライブ(1 倍速)の転送速度は 150 kB/秒 でした。その後、各
  メーカーが倍速(300 kB/秒)、4 倍速(600 kB/秒)、さらに高速な製品を市場に
  出しています。現在のドライブは 40 倍速までの動作が可能ですが、これは
  CD-ROM 表面の特定の部分でしか達成できない最大転送速度です。

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

  CD-ROM は大抵は ISO-9660 (正式には High Sierra と呼ばれます) ファイル
  システムでフォーマットされています。この形式でのファイル名は MS-DOS 形
  式 (8+3 文字) に制限されています。 ISO-9660 規格に対するロックリッジ拡
  張(Rock Ridge Extensions)を使うと、長いファイル名と Unix 風の追加情報
  (ファイルの所有者やシンボリックリンクなど)が書き込めます。 Microsoft
  は Joliet と呼ばれる独自の ISO ファイルシステムを定義しました。この形
  式は 16 ビットの Unicode 文字エンコーディングを用いた長いファイル名を
  サポートしています。

  フォト CD はコダック社が開発した、写真をデジタル情報として CD-ROM に保
  存する方法の規格です。適切なソフトウェアを使うと、写真をコンピュータ上
  で見たり、加工したり、プリンタで印刷することができます。フォト CD には
  後から情報が追加されました。これはマルチセッション機能と呼ばれていま
  す。

  CD レコーダー (CD-R) は、特殊な「金色の」 CD に書き込みを行うもので
  す。この CD はどんな CD-ROM ドライブでも読むことができます。データは一
  度しか書き込むことができませんが、マルチセッション機能を使うと CD に新
  しいデータを追加することはできます。CD-R ドライブは最近、安価になりつ
  つあります。

  CD-RW (read/write) ドライブは CD に対する複数回の書き込みをサポートし
  ています。CD-RW は、普通の CD-ROM では読めない特殊な CD を使います。た
  だし CD-RW ドライブの方は普通の CD を読むことができます。

  DVD-ROM は CD の容量を 17 倍にも拡張したものです。一般的に DVD-ROM は
  MPEG-2 形式でエンコードされた動画を配布するためのメディアとして使われ
  ています。MPEG 動画のデコードは通常、専用のハードウェアデコーダを使っ
  て行います。

  3.  Linux で使える CD-ROM ドライブ

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

  この情報は Intel 版の Linux のみに有効です。情報の大部分は他のプロセッ
  サ用の Linux にも適用できると思います。

  3.1.  ATAPI CD-ROM ドライブ

  ATAPI (ATA Packet Interface) は大容量デバイスを制御するためのプロトコ
  ルです。ATAPI は ATA (AT Attachment) インターフェイス上に構築されてい
  ます。ATA インターフェイスは、ハードディスク用に開発された IDE イン
  ターフェイスの公式な ANSI 規格名です。ATAPI は普通、ハードディス
  ク、CD-ROM ドライブ、テープドライブ等のデバイスに使われます。現在最も
  使われているタイプのインターフェイスであり、高価なコントローラやケーブ
  ルを使わなくても SCSI とほぼ同等の機能を提供します。

  Linux カーネルには、ATAPI 準拠の CD-ROM ドライブで使えるはずのデバイス
  ドライバが付属しています。ATAPI 準拠のドライブを出荷しているベンダは
  Aztech, Mitsumi, NEC, Sony, Creative Labs, Vertos 等です。読者の皆さん
  の CD-ROM ドライブが最近買ったものであれば(特に 4 倍速以上のドライブで
  あれば)、そのドライブはほぼ確実に IDE/ATAPI 準拠です。

  Linux には IDE SCSI エミュレーションカーネルドライバも付属しています。
  このドライバは IDE/ATAPI デバイスをソフトウェア的に SCSI デバイスに見
  せかけるものであり、ネイティブの ATAPI デバイスドライバの代わりにSCSI
  のデバイスドライバを使えるようになります。この機能は、ネイティブのデバ
  イスドライバが書かれていない ATAPI デバイス(例えば ATAPI の PD-CD ドラ
  イブや CD-R ドライブ)を使う際に役立ちます。このエミュレーション機能を
  適切な SCSI デバイスドライバと組み合わせて使うことができます。

  3.2.  SCSI CD-ROM ドライブ

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

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

  これに加えてサポートされている SCSI コントローラカードが必要です。詳し
  くは SCSI HOWTO を参照してください(訳注: 日本語版は
  http://www.linux.or.jp/JF/JFdocs/SCSI-HOWTO.html)。

  CD-ROM ドライブの一部にはインターフェイスを変更した独自のコントローラ
  を使っており、SCSI と完全には互換でないものがある(例えば他の SCSI デバ
  イスをバスに接続することを保証していない等)ので注意してください。この
  ようなものは Linux で動作しないことが多いので注意してください。

  3.3.  独自の CD-ROM ドライブ

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

  このようなインターフェイスが誤って IDE インターフェイスと呼ばれること
  が時々あります。これらは IDE ハードディスクと同様に PC/AT のバスに依存
  した単純なインターフェイスを使っているからです。さらに話を紛らわしくし
  ていることに、Creative Lab など大部分のメーカーは異なる型のサウンド
  カードを色々出荷しており、独自インターフェイス、SCSI, ATAPI のインター
  フェイスが混在しています。

  以下に列挙した CD-ROM ドライブ(独自のインターフェイスを持ったもの)が
  Linux で使用可能です。新たに追加されるデバイス用のドライバ(訳注:ディス
  クドライブを扱うためのソフトウェア。Linux ではカーネルに内蔵されてい
  る)は開発バージョンの最新のカーネルに含まれているか、またはカーネルに
  対するパッチとして入手できます。カーネルに対するパッチは大抵
  <ftp://metalab.unc.edu/pub/Linux/kernel/patches/cdrom/> で入手できるで
  しょう。最新の情報については、配布されているカーネルに入っている文書も
  読んでみましょう。このような文書は普通、
  /usr/src/linux/Documentation/cdrom にインストールされています。

        独自インターフェイスを持った 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
  IBM             External ISA    sbpcd           注 2
  Longshine       LCS-7260        sbpcd
  Teac            CD-55A          sbpcd
  Sony            CDU-31A         cdu31a
  Sony            CDU-33A         cdu31a
  Sony            CDU-535         sonycd535       注 3
  Sony            CDU-531         sonycd535
  Aztech          CDA268-01A      aztcd           注 4
  Orchid          CDS-3110        aztcd
  Okano/Wearnes   CDD110          aztcd
  Conrad          TXC             aztcd
  CyCDROM         CR520ie         aztcd
  CyCDROM         CR940ie         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
  Lasermate       CR328A          optcd
  Sanyo           H94A            sjcd
  various         various         isp16           注 9

  注:

  1. これらのドライブは Creative Labs, Panasonic, Matsushita, Kotobuki
     の名前で売られているかもしれません。

  2. このドライブは Panasonic CR-562 と同じものです。

  3. Procomm という名で売られているかもしれません。

  4. このドライバは CDA268-01A 専用です。CDA268-03I や CDA269-031SE 等の
     モデルは独自インターフェイスを積んでいないので、IDECD(ATAPI) カーネ
     ルドライバで利用できるはずです。

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

  6. Philips CM205 はこのドライバではサポートされていません。別のα版ド
     ライバがあります。このドライバは ftp://metalab.unc.edu から
     /pub/Linux/kernel/patches/cdrom/lmscd0.4.tar.gz という名前で入手で
     きます。

  7. Radio Shack という名前でも売られているかもしれません。

  8. 2 種類のドライバがあります。 元々カーネルに含まれている "mcd" と、
     多機能版の(しかし安定度では劣るかもしれない) "xcdx" です。
  9. このドライバは、ISP16, MAD16, Mozart 等のサウンドカードに載っている
     インターフェイスに接続されている CD-ROM ドライブで動作します。

  読者の皆さんがお使いのカーネルがここで挙げている CD-ROM ドライブをサ
  ポートしていない場合、多分カーネルのバージョンを上げる必要があります。

  読者の皆さんがお使いの CD-ROM ドライブがここで挙げている型式でない場
  合、そして特に最近買った 4 倍速以上のドライブである場合には、前の章で
  述べた IDE/ATAPI インターフェイスを使っていると思われます。 Linux で
  CD-ROM を使う人が最もよく起こす間違いの 1 つは、 SoundBlaster に接続し
  ている CD-ROM には全て SBPCD ドライバを使わなければならないと思い込ん
  でしまうことです。 Creative Labs や他のベンダ大部分は、現在ではもはや
  独自インターフェイスの CD-ROM ドライブを販売しておらず、標準の
  ATAPI/IDE インターフェイスに従っています。

  3.4.  パラレルポート用の CD-ROM ドライブ

  外部記録デバイス(CD-ROM ドライブを含む)には PC のパラレルポートに接続
  するようなものがあります。多くの場合、このようなデバイスは内部的に IDE
  インターフェイスを使っており、内部 IDE バスを PC のパラレルポートに接
  続するアダプタと組み合わせて使われます。

  Linux にはパラレルポート用 IDE ドライバがあります。このドライバはほと
  んどのパラレルポート用デバイスをサポートしています。本文書の執筆時点で
  は、このドライバは以下のベンダが出しているデバイスをサポートしていま
  す: ATEN, Avatar, DataStor, Fidelity International Technology,
  Freecom, Hewlett-Packard, Imation, KT Technology, KingByte Information
  Corp., Maxell, MicroSolutions, OnSpec, Shuttle Technology, SyQuest,
  ValuStore

  より詳しい情報は  <http://www.torque.net/parport/> にあります。

  3.5.  標準のドライバと差し替えられるドライバ

  標準のカーネルに含まれているデバイスドライバと差し替えて使用できる、
  Panasonic/Matsushita CR-56x ドライブ用のカーネルドライバがあります。こ
  れは Zoltan Vorosbaranyi さんが書いたものであり、
  <ftp://ftp.honlap.net/pub/linux/pcd/pcd-0.30.tar.gz> にあります。

  4.  インストール方法

  Linux に CD-ROM ドライブをインストールするためには、次に示す作業が必要
  です:

  1. ハードウェアの接続

  2. Linux カーネルの設定変更と再構築

  3. 必要なデバイスファイルの作成と起動時のパラメータの設定

  4. 新しいカーネルでの再起動

  5. CD-ROM のマウント

  次節でこの方法を詳しく説明します。

  4.1.  ハードウェアの接続

  附属の説明書の通りに CD-ROM ドライブを接続するか、販売店の人に接続を
  行ってもらいましょう。ドライブが内蔵型か外付けかどうか、あるいはイン
  ターフェイスの種類などによって、具体的な接続方法は異なります。ハード
  ウェアの接続に関しては、特に Linux ゆえに注意しなくてはならない事はあ
  りません。正しく動作させるには、ドライブとインターフェイスカードのジャ
  ンパスイッチを設定する必要があるかもしれません。一部のカーネルドライバ
  には、これに関する情報を含む文書ファイルが付いています。

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

  4.2.  カーネルの設定変更と再構築

  Linux を最初に CD-ROM からインストールするためには、Linux ディストリ
  ビューションの一部として用意されている起動ディスクやルートディスクを使
  うことになるでしょう。可能ならば、CD-ROM の種類に合わせたドライバが含
  まれたディスクを選ぶ必要があります。もしも適切な CD-ROM ドライバが入っ
  ている起動ディスクが見つからなければ、いくつか他の方法もあります:

  1. CD-ROM から直接起動する(PC と Linux の CD が、CD-ROM からの起動をサ
     ポートしている場合)

  2. ネットワーク経由でインストール

  3. DOS を起動し、CD-ROM の内容をハードディスクにコピーしてからインス
     トール

  4. DOS を起動し、インストール用のフロッピーディスクを作る

  5. すでに Linux を使っている人に頼んで、適切なドライバを含んだブート
     ディスクを作ってもらう。

  Linux Installation HOWTO
  <http://metalab.unc.edu/LDP/HOWTO/Installation-HOWTO.html> (日本語訳:
  <http://www.linux.or.jp/JF/JFdocs/Installation-HOWTO.html>) にはインス
  トールに関するさらに詳しい情報が載っています。Linux の入った CD-ROM を
  買った場合には、小冊子やテキストファイルの形でインストール方法の解説が
  ついていると思いますので、それを参考にしましょう。

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

  o  CD-ROM ドライブやその他のハードウェアを使うため。

  o  カーネルを最新のものに置き換えるため。

  o  不要なドライバなどを外して、メモリを節約するため。

  Linux Kernel HOWTO <http://metalab.unc.edu/LDP/HOWTO/Kernel-
  HOWTO.html> (日本語訳:  <http://www.linux.or.jp/JF/JFdocs/Kernel-
  HOWTO.html>) はカーネルの再構築について詳しく述べてあるはずです。ここ
  では CD-ROM に関連することだけを説明します。

  もちろん "make config" の際には、CD-ROM ドライブのサポートを組み込まな
  ければなりません。

  ATAPI CD-ROM ドライブを持っている場合、次の質問に yes と答えなくてはな
  りません:
       Enhanced IDE/MFM/RLL disk/cdrom/tape support (CONFIG_BLK_DEV_IDE) [Y/n/?]
       Include IDE/ATAPI CDROM support (CONFIG_BLK_DEV_IDECD) [Y/n/?]

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

       SCSI support (CONFIG_SCSI) [Y/n/m/?]
       SCSI CDROM support (CONFIG_BLK_DEV_SR) [Y/n/m/?]

  またお使いの SCSI カードも有効にしてください。例えば以下のような質問

       Adaptec AHA152X/2825 support (CONFIG_SCSI_AHA152X) [Y/n/m/?]

  に yes と答えます。

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

  事実上全ての CD-ROM は ISO-9660 ファイルシステムを使っています。そこで

       ISO 9660 CDROM filesystem support (CONFIG_ISO9660_FS) [Y/n/m/?]

  に "yes" と答えます。

  CD-ROM の操作に必須ではありませんが、Linux がサポートしているサウンド
  カードを持っているならば、ついでにカーネルのサウンドドライバの設定もし
  ておくとよいでしょう。Sound HOWTO
  <http://metalab.unc.edu/LDP/HOWTO/Sound-HOWTO.html> (日本語訳:
  <http://www.linux.or.jp/JF/JFdocs/Sound-HOWTO.html>) が参考になるで
  しょう。

  設定が終ったら、いつも通りの手順でカーネルをコンパイルして、インストー
  ルしてください。次の章で説明するようにデバイスファイルの作成と起動時パ
  ラメータの設定を行うまでは、あわてて再起動してはいけません。

  ISO-9660 ファイルシステムとほとんど全ての CD-ROM ドライバは、カーネル
  モジュールとして構築することもできます。この方法を用いると、カーネルの
  再起動やメモリの解放を行うことなくドライバのロードとアンロードを行うこ
  とができます。ただし最初はカーネル組み込みのドライバを用いて接続を行う
  ことをお勧めします。カーネルモジュールの使い方は、モジュール付属の文書
  や Kernel HOWTO <http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html>
  で説明されています。

  もしもお使いのドライブがカーネルでサポートされていなかったら、もっと新
  しいカーネルを使ってみる必要があるでしょう。

  また、カーネルのソースコードとは別に配布されているドライバを使う必要が
  あることもあります。普通はカーネルのソースコードにパッチを当てます。こ
  れもやはり Kernel HOWTO <http://metalab.unc.edu/LDP/HOWTO/Kernel-
  HOWTO.html> を参考にしてください。

  カーネル設定プログラムには、"make menuconfig" で呼び出すことができるメ
  ニューベースのものや、"make xconfig" で呼び出すことができる X11 ベース
  のグラフィカルなものがあります。(標準の方法も含めて)3 つの方法全てにオ
  ンラインヘルプが付いています。

  (訳注: オンラインヘルプの内容が書かれている Configure.help ファイルの
  日本語訳が JF にあります。 <http://www.linux.or.jp/JF/JFdocs/kernel-
  docs-2.2/Configure.help.euc.html> をご覧ください。)

  4.3.  デバイスファイルの作成と起動パラメータの設定

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

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

  CD-ROM のデバイス名には、覚えやすい名前のシンボリックリンクを張ること
  をお奨めします。IDE CD-ROM の 2 番目のインターフェイスに付いている 2
  番目のドライブには以下のようなリンクを張ります。

       # ln -s /dev/hdd /dev/cdrom

  音楽用 CD を演奏したい場合は一般のユーザがデバイスファイル(シンボリッ
  クリンクではなく実ファイル)に対して読み込みができるようにファイル保護
  モードを設定する必要があります。例えば次のようにします。

       # chmod 664 /dev/hdd
       # ls -l /dev/hdd
       brw-rw-r--   1 root     disk      22,  64 Feb  4  1995 /dev/hdd

  Linux 起動時に、デバイスドライバは適切なデバイスが存在するかどうかを (
  普通は特定のメモリのアドレスを見ることで)確認しようとします。多くのド
  ライバは複数のアドレスを探しますが、ハードウェアの設定の違いが原因で、
  デバイス同士が同じアドレスを使おうとして衝突することやハードウェアの制
  限などの問題が起こることがあります。そのためデバイスが使うメモリアドレ
  スなどのパラメータの指定が必要な場合があります。ほとんどのドライバで
  は、カーネルのコマンドラインオプションを使ってこの情報をドライバに渡す
  ことができるようになっています。この指定は対話的に行うこともできます
  が、普通はブートローダを使って指定します。LILO の場合、以下のような
  append コマンドを /etc/lilo.conf ファイルに書き加えます。

       append = "sbpcd=0x230,SoundBlaster"

  詳しくは LILO 付属の文書を参照してください。

  次節ではそれぞれのデバイスドライバについて特に注意しなくてはならないこ
  とを述べます。例えばデバイスファイルや起動時のパラメータやドライバによ
  る機能の違いなどです。この節については、読者の皆さんがお持ちのドライブ
  の項目だけを読めば充分です。デバイスドライバに関する文書は通常、
  /usr/src/linux/Documentation/cdrom ディレクトリにあります。

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

  4.3.1.  sbpcd ドライバ

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

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

       sbpcd=<io-address>,<interface-type>

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

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

       # mknod /dev/sbpcd b 25 0

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

  更に詳しいことは spbcd ファイルを見てください。

  CD-ROM ドライブを買ったのが最近である場合、ドライブが SoundBlaster に
  繋ぐようになっていても、このカーネルドライバを使わなければならないと思
  い込まないでください。現在は Creative Labs が販売している CD-ROM ドラ
  イブはほとんどが EIDE/ATAPI ドライブです。

  4.3.2.  SONY の CDU535 ドライバ

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

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

       sonycd535=<I/O アドレス>

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

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

       # mknod /dev/sonycd535 b 24 0

  Linux のディストリビューションよってはこのドライブ用に /dev/sonycd と
  いうデバイスファイルを持っているものもあります。このドライバの古いもの
  はメジャー番号が 21 になっているものがあります。お使いのデバイスファイ
  ルに正しい番号 (24) が設定されているかどうかを確かめてください。

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

  4.3.3.  CDU31A ドライバ

          原作者: 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" を指定し、なければ何も書きません。

  このドライバをモジュールとしてロードする時は、オプション指定の方法が少
  し違います。modprobe コマンドや insmod コマンドを使ってドライバをロー
  ドする時に、以下のようにパラメータを指定します。

       cdu31a_port=<I/O アドレス> cdu31a_irq=<割り込み番号>

  ベース I/O アドレスは必要ですが、割り込み番号は省略可能です。

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

       # mknod /dev/cdu31a b 15 0

  このドライバに関する更に詳しい説明は cdu31a に書いてあります。

  Jeffrey Oxenreider (zureal@infinet.com) さんの WWW ページにはこのドラ
  イバを使う時によく起こる問題が書いてあります。そのページは
  <http://lemures.shinma.symix.com/~zureal/cdu31a.html> にあります。

  4.3.4.  Aztcd ドライバ

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

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

       aztcd=<I/O アドレス>

  パラメータはカードの I/O ベースアドレス(0x340 など)です。

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

       # mknod /dev/aztcd0 b 29 0

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

  4.3.5.  GSCD  ドライバ

          原作者: Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de)
     マルチセッション: 不可
    複数ドライブの接続: 不可
  ドライバのモジュール化: 可
   音楽データの読みだし: 不可
         自動認識: 不可
     デバイスファイル: /dev/gscd0, メジャー番号 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> を見てください。

  4.3.6.  mcd ドライバ (Mitsumi 用)

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

  これは Mitsumi のドライブ用の古い方のドライバで、しばらくの間使われて
  いました。新しい方の mcdx ドライバを使うとよいでしょう。こちらは新しい
  機能がいくつかありますが、安定度では劣るかもしれません。

  このドライバでは、

       mcd=<I/O アドレス>,<IRQ>

  という形式のカーネルコマンドラインで I/O ベースアドレス(0x340 など)と
  IRQ 番号を指定できます。

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

       # mknod /dev/mcd b 23 0

  mcd ファイルに詳しい情報が載っているでしょう。

  4.3.7.  mdcx ドライバ (Mitsumi 用の新しいドライバ)

          原作者: Heiko Schlittermann
     マルチセッション: 可
    複数ドライブの接続: 可
  ドライバのモジュール化: 可
   音楽データの読み出し: 不可(ハードウェア自体が対応していません)
         自動認識: 不可
     デバイスファイル: /dev/mcdx0, メジャー番号 20
       設定ファイル: mcdc.h
  カーネル設定オプション: Experimental Mitsumi support?
      README ファイル: mcdx

  このドライバが新しい方のドライバです。古くて多分枯れている mcd ドライ
  バもまだ使用可能です。

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

       mcdx=<I/O アドレス>,<IRQ>

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

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

       # mknod /dev/mcdx0 b 20 0

  Mitsumi 製の CD-ROM を買ったのが最近である場合、このカーネルドライバを
  使わなければならないとは思い込まないでください。現在の新しい Mitsumi
  の CD-ROM ドライブは EIDE/ATAPI 互換なので、このドライバではなく idecd
  カーネルドライバを使わなければなりません。

  詳しいことは mcdx ファイルを御覧ください。

  4.3.8.  cm206 ドライバ

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

  このドライブは、

  cm206=<I/O アドレス>,<割り込み>

  という形式のカーネルコマンドラインによって、I/O ベースアドレス(0x340
  など)と割り込み番号を設定することができます。

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

       # mknod /dev/cm206cd b 32 0

  詳しくは cm206 をご覧ください。

  4.3.9.  optcd ドライバ

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

  このドライバは、

       optcd=<io-address>

  という形式のカーネルコマンドラインでカードの I/O ベースアドレス(0x340
  など)を設定できます。

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

       # mknod /dev/optcd0 b 17 0

  詳しくは optcd ファイルをご覧ください。

  4.3.10.  sjcd ドライバ

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

  このドライバは、

       sjcd=<I/O アドレス>,<割り込み>,<DMA>

  という形式のカーネルコマンドラインでカードの I/O ベースアドレス(0x340
  など)、割り込み番号、DMA チャネルを設定できます。(例: sjcd=0x340,10,5)

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

       # mknod /dev/sjcd b 18 0

  詳しくは sjcd ファイルをご覧ください。

  4.3.11.  paride Driver

          原作者: Grant R. Guenther (grant@torque.net)
     マルチセッション: 不可
    複数ドライブの接続: 可
  ドライバのモジュール化: 可
   音楽データの読み出し: 不可
         自動認識: 可
     デバイスファイル: /dev/pcd0, メジャー番号 46
       設定ファイル: bpcd.h
  カーネル設定オプション: Parallel port IDE device support?
      README ファイル: paride.txt

  これは、パラレルポートに接続する各種の記憶デバイス用のドライバです。通
  常、このドライバはパラレルポートデバイスを自動的に検出します。自動検出
  がうまく動作しない場合には、ドキュメントに書かれているデバイス用パラ
  メータの指定に使用できるパラメータの説明をご覧ください。

  最初のドライブ用のデバイスファイルは次の操作で作成できます:

       # mknod /dev/pcd0 b 46 0

  詳しくは /usr/src/linux/Documentation/paride.xt をご覧ください。古い
  バージョンのカーネルに入っていた bpcd ドライバはこのドライバに置き換
  わっている点に注意してください。

  4.3.12.  SCSI ドライバ

          原作者: Grant R. Guenther (grant@torque.net)
     マルチセッション: 可(CD-ROM ドライブに依存)
    複数ドライブの接続: 可
  ドライバのモジュール化: 可
   音楽データの読み出し: 不可
         自動認識: 可
     デバイスファイル: /dev/scd0, メジャー番号 11
       設定ファイル: cdrom.h
  カーネル設定オプション: SCSI CDROM support?
      README ファイル: scsi.txt

  カーネルコマンドラインは SCSI カードの種類ごとに専用のものがあります。
  詳しくは SCSI HOWTO (日本語訳:
  <http://www.linux.or.jp/JF/JFdocs/SCSI-HOWTO.html>) をご覧ください。

  複数の CD-ROM ドライブを接続することができます(SCSI バスに接続可能な台
  数まで接続できます)。デバイスファイルはメジャー番号 11 で、最初のマイ
  ナー番号が 0 から始まるように作成します。

       # mknod /dev/scd0 b 11 0
       # mknod /dev/scd1 b 11 1

  カーネルドライバそのものは音楽データの取り出しをサポートしていません
  が、一部の SCSI ドライブはこの機能を持っています。この機能は cdda2wav
  プログラムを使って利用できます(このプログラムは generic SCSI カーネル
  インターフェイスを使用します)。

  前述の IDE CD-ROM ドライブの SCSI エミュレーション ドライバの説明もご
  覧ください。

  4.3.13.  IDECD ドライバ

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

  これは 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 のように指定
  します。

  IDE ドライバに CD-ROM ドライバを認識させるためにトリックが必要なことが
  あります。3 つ以上のデバイスがある場合や、複数の IDE コントローラがあ
  る場合は特にそうなります。通常必要なことは、正しいコマンドラインオプ
  ションを LILO から渡すことだけです。その方法については
  /usr/src/linux/Documentation/cdrom/ide-cd ファイルに説明があります。よ
  く読んでください。

  最近の Linux カーネルでは複数の IDE デバイスへの対応が改良されていま
  す。古いカーネルを使っていて問題が起きた場合は、カーネルをバージョン
  アップすると直るかもしれません。

  一部の IDE コントローラにはハードウェア的な問題がありますが、カーネル
  ドライバ側で問題を回避することができます。この機能を有効にするために
  は、ドライバに追加のパラメータを渡す必要があるかもしれません。詳しくは
  ドライバの README ファイルをご覧ください。

  4.4.  Linux カーネルの起動

  さて、これで新しいカーネルを起動する準備ができました。リブートしたら、
  次に示すようなデバイスドライバが出すメッセージを確認しましょう。これは
  デバイスドライバが CD-ROM ドライブを検出したことを示します(このメッ
  セージは CD-ROM ドライブのタイプによって異なります)。

       hdd: NEC CD-ROM DRIVE:282, ATAPI CDROM drive

  この起動メッセージがスクロールしてしまって見えない場合には、 dmesg コ
  マンドや tail /var/adm/messages などのコマンドで確認できるはずです。

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

  4.5.  CD-ROM のマウント・アンマウント・排出

  CD-ROM をマウントするには、CD-ROM をドライブに入れた後、root ユーザに
  なって以下のように mount コマンドを実行してください (前記のように、CD-
  ROM ドライブのデバイスファイルに /dev/cdrom というシンボリックリンクを
  設定した場合です)。

       # mount -t iso9660 -r /dev/cdrom /mnt/cdrom

  これで /mnt ディレクトリで CD-ROM にアクセスすることができます。

  mount コマンドには他にも役に立つオプションがあります。詳しいことはオン
  ラインマニュアルの mount(8) の項を見てください。 (訳注: mount(8) とは
  オンラインマニュアルの 8 章の mount の節という意味です。man 8 mount で
  表示されるはずです。)

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

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

  CD-ROM をアンマウントするには、root ユーザになって、次のように umount
  コマンドを実行します。

       # umount /mnt/cdrom

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

  CD-ROM をマウントしている間は、CD-ROM を排出してはいけません(これがで
  きるかどうかはドライブによって異なります)。ドライバによっては、CD-ROM
  がアンマウントされると自動的に排出を行い、CD-ROM をマウントすると自動
  的にトレイの挿入を行います(この機能はカーネルのコンパイル時や、または
  ソフトウェア・コマンドを使って off にすることもできます)

  音楽 CD を演奏した後に、CD-ROM がマウントできないことがあります。この
  場合にはマウントの前に(CD プレイヤープログラムを使って) 音楽 CD の演奏
  を「停止(stop)」させる必要があります。この問題は sbpcd ドライバでのみ
  起こるようです。

  最近のカーネルはカーネルベースのオートマウンタ(automounter) をサポート
  しており、これを使うと CD-ROM を含めたリムーバブルメディアの透過的なマ
  ウントを行うことができます。これを行うために必要なツールは
  <ftp://ftp.kernel.org/pub/linux/daemons/autofs/> にあります。

  4.6.  困った時の対処

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

  4.6.1.  Step 1: 自分でコンパイルした新しいカーネルを使用していますか?

  CD-ROM のサポートを組み込んでコンパイルしたカーネルを実行しているかど
  うかは、カーネルの日付を調べればわかります。次のように uname コマンド
  でタイムスタンプを見てください。

  % uname -a
  Linux fizzbin 2.2.4 #1 Tue Mar 232 11:23:21 EST 1999 i586 unknown

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

       % cat /proc/version
       Linux version 2.2.4 (root@fizzbin) (gcc version 2.7.2.3) #1 Tue Mar 23 11:23:21 EST 1999

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

  4.6.2.  Step 2 : 正しいカーネルドライバが組み込まれていますか?

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

       % cat /proc/devices
       Character devices:
        1 mem
        2 pty
        3 ttyp
        4 ttyS
        5 cua
        7 vcs

       Block devices:
        3 ide0
       22 ide1

  まず CD-ROM デバイスドライバを探しましょう。ブロックデバイスの中にある
  はずです。この例では idecd (メジャー番号 22 )が見つかりました。

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

       % cat /proc/filesystems
               ext2
       nodev   proc
       nodev   devpts
               vfat
               iso9660

  ドライバが使用している I/O ポートアドレスを確認するには /proc/ioports
  を見ます。
       howto % cat /proc/ioports
        ...
       0230-0233 : sbpcd
        ...

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

  4.6.3.  Step 3 : カーネルドライバがドライブを起動時に認識していますか?

  カーネルの起動時に CD-ROM デバイスが認識されていることを確かめます。こ
  れには起動時のメッセージを見る必要があります。メッセージがスクロールさ
  れて見えない時には普通、dmesg コマンドを使えば再表示させることができま
  す。

       % dmesg

  または

       % tail /var/log/messages

  を使う方法もあります。

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

  多くのドライバは自動検出機能を持っていますが、これを持っていないドライ
  バもありますし、自動認識機能は必ずしも信頼できるとは限りません。このよ
  うな場合には、カーネルドライバの種類に合わせたカーネルコマンドラインを
  指定してください。I/O アドレス等のパラメータの値が確かでなければ、異な
  る値をいくつか試してみてもよいでしょう。LILO を使うと起動時に手動でパ
  ラメータを入力するようにできます(通常はそうなっています)。

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

  別の可能性としては、そのドライブ(またはインターフェイスカード)は DOS
  のドライバによって初期化しなければならない「互換」タイプのドライブかも
  しれません。この場合には DOS を起動し、メーカーが提供している DOS 用の
  デバイスドライバを読み込んだあと、Control-Alt-Delete でリスタートし
  て、 Linux を起動します。

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

  4.6.4.  Step 4: ドライブからデータを読み出せますか?

  CD-ROM の読み取りをしてみましょう。次に示すコマンドを打つとドライブの
  動作ランプが(あれば)点灯し、この場合には何もエラーが起こっていないはず
  です。if に指定するデバイスファイルは CD-ROM ドライブを示す適切なもの
  を用いてください。ISO-9660 の 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 ディレクトリにあって、正しい(前
  述の通りの)メジャー番号とマイナー番号がついているか確かめてください。
  デバイスのパーミッションが読み書き可能になっていることも確かめてくださ
  い。

  ハードウェアの問題である可能性も少しあります。可能ならば別の OS でドラ
  イブをテストして、本当にハードウェアの問題かどうか調べてください。

  4.6.5.  Step 5 ドライブがマウントできますか?

  ドライブの読み出しができるのに、ドライブがマウントできない場合には、以
  前に説明したように /proc/filesystems を調べて、 ISO9660 ファイルシステ
  ムのサポートがカーネルに組み込まれていることを確かめてください。

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

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

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

  syslog デーモンを起動している場合には、カーネルからの普段見ないエラー
  メッセージが記録されていることもあります。"dmesg" コマンドを試してくだ
  さい。

       % dmesg
       SBPCD: sbpcd_open: no disk in drive

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

  4.6.6.  音楽用 CD が動かない時

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

  音楽用 CD を演奏するためには、そのためのアプリケーションが必要です。ア
  プリケーションによっては問題があったり、お使いのドライブと合わないもの
  もあります。動作しない時は他のアプリケーションを試してみるか、コンパイ
  ルし直してみましょう。アプリケーションを探すには
  <ftp://metalab.unc.edu/pub/Linux/apps/sound/cdrom/> を探すとよいでしょ
  う。

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

  ドライブに付いているヘッドホン端子から音が出力されているかどうかを確認
  してください。音が出力されているならば、問題はサウンドカードがらみで
  しょう。ミキサープログラムを使って入力デバイスとボリュームレベルを調整
  してみてください。また、CD-ROM ドライブとサウンドカードをケーブルで接
  続しないとサウンドカードから音が出ないので、それも確認しましょう。サウ
  ンドカードがきちんと動作していることも確かめましょう( Sound HOWTO を参
  照)。

  4.6.7.  それでもうまくいかない時には

  それでも問題が解決できない場合のため、最後の手段をお教えしましょう。

  o  もう一度この HOWTO をじっくりと読み直す。

  o  この文書の最後に挙げてある参考資料を読む。特にカーネルソースの関連
     する部分を読む。

  o  fj.os.linux や comp.os.linux, または関連するネットニュースのニュー
     スグループで質問する。

  o  Linux メーリングリストで質問する。

  o  カーネルを最新版のものに変えてもう一度試してみる。

  o  コンピュータを買った店に相談する。

  o  CD-ROM ドライブのメーカーに相談する。

  o  関係するカーネルドライバの作者にメールで問い合わせる
     (/usr/src/linux/MAINTAINERS を参照)。

  o  この HOWTO の著者に聞く。

  o  あきらめて Emacs の M-x doctor に相談する :-)

     -->

  5.  CD-ROM を使うアプリケーション

  この節では Linux で動作する CD-ROM に関連したアプリケーションを簡単に
  説明します。これらの最新版に関する情報やアーカイブがあるサイトについて
  は、Linux Software Map (LSM) で調べてください。

  5.1.  音楽用の CD を演奏するアプリケーション

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

     Workman
        X ウィンドウシステム (X11) で動くグラフィカルな音楽用 CD 演奏プ
        ログラムで、CD のデータベース等の多くの機能を持っています。

     WorkBone
        テキストベースの CD プレイヤーです。

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

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

     Xmcd
        X11/Motif を使った CD プレイヤーです。

     xmitsumi
        X11 で動く、ミツミの CD-ROM ドライブ用のプレイヤーです。

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

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

  一部のプログラムは、特定の CD-ROM デバイスファイル(たとえば
  /dev/cdrom)を決め打ちで使います。正しいデバイス名を引き数として与える
  ことができるかもしれませんし、/dev ディレクトリ内にシンボリックリンク
  を作成することもできます。もしも CD の出力をサウンドカードに送るつもり
  なら、ミキサープログラムを用意した方がいいでしょう。ボリュームを調整し
  たり、録音用の CD-ROM からの入力を選択したりすることができるからです。

  5.2.  PhotoCD

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

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

  Gerd Knorr さん (kraxel@cs.tu-berlin.de)の作った photocd プログラムを
  使うと、PhotoCD の画像を Targa 形式または Windows や OS/2 のビットマッ
  プファイルに変換できます。

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

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

  5.3.  mkisofs

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

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

  5.4.  ISO-9660 ユーティリティ

  ISO-9660 形式でフォーマットされた CD-ROM をチェックするためのユーティ
  リティがいくつかあります。CD の不良を疑うときには、これらのユーティリ
  ティが役に立つでしょう。Bill Siegmund さんと Rich Morin さんによって書
  かれたプログラムが  <ftp://ftp.cdrom.com/pub/unixfreeware/archive/> に
  あります。

  6.  よくある質問に対する解答

  6.1.  root でないユーザが CD-ROM をマウント・アンマウントするにはどう
  したらいいでしょう?

  大抵の mount コマンドは user オプションが使えます。 /etc/fstab に次の
  ように記述すると

       /dev/sbpcd  /mnt/cdrom   iso9660     user,noauto,ro

  一般のユーザが次のようなコマンドを使って、CD-ROM のマウント・アンマウ
  ントができるようになります。

       % mount /mnt/cdrom
       % umount /mnt/cdrom

  デフォルトでは、セキュリティを守るためのオプションをいくつか付けた状態
  で CD-ROM がマウントされます(例えば、プログラムが実行されなかったり、
  デバイスファイルが無視されたりします)。この制限では厳しすぎる場合に
  は、オプションを追加することができます(例: プログラムを実行できるよう
  にする "exec" オプション)。詳しくはオンラインマニュアルの mount(8) を
  参照してください。
  他の方法としては、usermount パッケージを使うことができます。このパッ
  ケージは、(ハードディスク等)他のデバイスへのアクセスは制限したままで一
  般ユーザがフロッピーディスクや CD-ROM 等の持ち運び可能なデバイスを一般
  ユーザがマウント・アンマウントできるようにします。これは主だったアーカ
  イブサイトにあるでしょう。

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

  6.2.  CD-ROM をアンマウントしようとすると "device is busy"  というメッ
  セージが出るのですが。

  何らかのプロセスが CD-ROM ドライブにアクセス中であると(デフォルトの
  ディレクトリがマウント中のファイルシステムである場合を含みます)、CD-
  ROM をアンマウントすることはできません。どのプロセスが CD-ROM にアクセ
  スしているのか知りたいときには、fuser コマンドを使うことができます。実
  行例を以下に示します。

       % umount /cdrom
       umount: /dev/hdd: device is busy
       % fuser -v /cdrom
                            USER       PID ACCESS COMMAND
       /mnt/cdrom           tranter    133 ..c..  bash

  システムによっては、fuser コマンドを実行する際に root 権限が必要な場合
  があります。他のユーザのプロセスを参照するためです。

  6.3.  NFS を使って CD-ROM を他のホストにエクスポートすることはできます
  か?

  /etc/exports に項目を追加する必要があります。そうすればエクスポートさ
  れたマシンからデバイスが見えるようになります。詳しくはオンラインマニュ
  アルの exports(5) を見てください。

  6.4.  Linux を CD-ROM から起動する方法はありますか?

  最初に Linux をインストールする際の最も一般的な方法は起動フロッピーを
  用いることです。ディストリビューションによっては、DOS から直接 CD 上に
  ある Linux カーネルを起動することができます。

  CD-ROM, ROM BIOS, ATAPI CD-ROM ドライブが対応していれば、直接 CD から
  システムを起動することができます。最新バージョンの mkisofs は、起動可
  能な CD の標準である El Torito を用いて、このような CD-ROM を作ること
  ができます。

  6.5.  音楽用の CD からデジタルデータを読み出すにはどうしたらいいでしょ
  う?

  Heiko Eissfeldt さん (heiko@colossus.escape.de) と Olaf Kindel さんが
  音楽データを読み取って .wav 形式の音声ファイルとして保存するためのユー
  ティリティを作成しています。このパッケージは cdda2wav.tar.gz という名
  前で、metalab.unc.edu にあります。

  デジタル音楽データを取り出すための別のユーティリティである cdparanoia
  があります。これは
  <http://www.mit.edu/afs/sipb/user/xiphmont/cdparanoia> にあります。

  CD-ROM ドライブの変化は速いので、デジタル音楽データの読み込みをサポー
  トしている CD-ROM ドライブの一覧を作成することは困難です。一番確実な方
  法は cdda2wav や cdparanoia パッケージの最新版に入っているドキュメント
  を読むことです。

  この話題に関するさらに詳しい情報については、WWW サイト
  http://www.tardis.ed.ac.uk/~psyche/cdda/ や、参考資料の章で挙げられて
  いる alt.cd-rom の FAQ を参照してください。

  6.6.  find  コマンドが正しく働かないのですが。

  Rock Ridge 拡張されていない ISO-9660 フォーマットの CD-ROM の場合、
  find コマンドに -noleaf オプションを付ける必要があります。詳しくはオン
  ラインマニュアルの find(1) を読んでください。

  (筆者の経験では、最近は事実上全ての Linux の CD は Rock Ridge 拡張を
  使っているので、この問題が起こることは滅多にありません。)

  6.7.  Linux は書き込み可能な CD-ROM ドライブをサポートしていますか?

  Linux 用の X-CD-Roast パッケージは、CD 書き込みツールのグラフィカルな
  フロントエンドです。このパッケージは metalab.unc.edu の
  /pub/Linux/utils/disk-management/xcdroast-0.95.tar.gz にあります。

  また、Linux CD-Writing HOWTO という文書もご覧ください。これは
  <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/CD-Writing-HOWTO> または
  <http://metalab.unc.edu/LDP/HOWTO/CD-Writing-HOWTO.html> にあります (
  日本語訳:  <http://www.linux.or.jp/JF/JFdocs/CD-Writing-HOWTO.html>)。

  6.8.  どうして CD-ROM を読み取り専用でマウントしなくてはならないので
  しょう?

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

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

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

  この機能は CD-ROM を入れ換える時に便利です。さらに、トレーを開いたまま
  で CD-ROM のマウントや読み込みを行うと、トレーを自動的に閉じるように
  なっています。

  この機能は、一部のプログラム(cdplay や workbone等)で問題になることがわ
  かりました。1.1.60 以降のカーネルでは、この機能をソフトウェア的に調整
  することができます。サンプルプログラムが sbpcd ドライバの README ファ
  イルに含まれています(eject プログラムも使えるでしょう)。カーネルのソー
  スファイルの sbpcd.h を編集すれば、デフォルトの動作を変えることもでき
  ます。

  6.10.  マウントできない「特殊な」 CD があるのですが。

  その「特殊」な CD はおそらく(PhotoCD や CD-R ドライブを使って作った一
  枚限りの CD-ROM, または 8cm 電子ブック等の) XA 形式の CD-ROM でしょ
  う。ほとんどの Linux カーネルの CD-ROM ドライバは XA 形式の CD-ROM を
  扱えませんが、それを可能にするパッチが FTP サイトにあるかもしれませ
  ん。

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

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

  CD が読めない他の可能性としては以下があります:

  1. その CD-ROM が ISO-9660 ファイルシステムではない(SunOS 形式や HFS
     を使っているものがあります)。

  2. 音楽用 CD である。

  3. CD-ROM が壊れている。

  4. 裏返しに入れている :-)

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

  6.11.  複数の CD-ROM が入るドライブは Linux で使えますか?

  SCSI の多連装 CD-ROM チェンジャーが動作したという報告がいくつか寄せら
  れています。たぶんカーネル設定オプションの "Probe all LUNs on each
  SCSI device" を有効にする必要があるでしょう (SCSI ドライバが CD チェン
  ジャーを既に知っている場合には、この設定は必要ではありませ
  ん。/usr/src/linux/drivers/scsi.c を見てください)。

  カーネルドライバにおける SCSI のタイムアウト値を増やさなければならな
  かったという方が少なくとも 1 人いらっしゃいました。この現象の兆候は、
  最初に CD-ROM をマウントしようとしたときに "wrong fs type, bad option,
  bad superblock on /dev/sr5, or too many mounted file systems" のような
  エラーメッセージが出るけれど、2 度目以降では即座に成功することです。タ
  イムアウト値を増やすには、ファイル
  /usr/src/linux/drivers/scsi/sr_ioctl.c  の最初の方にある IOCTL_TIMEOUT
  の値を増やし、カーネルを再構築します。デフォルトの 3000 を 10000 にす
  ると NEC の Multispin 4Xc が動作したという報告がありました。

  全ての LUN にアクセスできるようにするには、追加のブロックデバイスファ
  イルを作成する必要があるかもしれません。デバイスファイルは LUN それぞ
  れに対して必要です。したがって 7 連装のチェンジャーでは、 /dev/sr0 か
  ら /dev/sr6 まで必要になります(他にも SCSI の CD-ROM ドライブがあれば
  もっと必要です)。ブロック特殊ファイルを作成するには、root ユーザになっ
  て mknod /dev/sr? b 11 ? を実行します(? は必要な数字を表します)。

  ナカミチの 7 連装チェンジャー、NEC の Multispin 4Xc, Pioneer の 12 連
  装 CD-ROM チェンジャーが動作することが報告されています。

  EIDE/ATAPI の多連装チェンジャーも利用可能です。一部のドライブに対して
  は、CDROM_SELECT_DISC という ioctrl 機能をカーネルがサポートしていま
  す。 IDE-CD カーネルドライバの README ファイルにはチェンジャーのスロッ
  トを選択するプログラムのソースコードが入っています。また、前に述べた
  eject のようなユーティリティを使うこともできます。

  6.12.  "/cdrom: Permission denied" というエラーが出ます。

  CD によっては、root ユーザしかルートディレクトリにアクセスできないよう
  なパーミッションを持つものがあります。これは CD-ROM ベンダの失敗の類で
  すし、実際にも不便です。もっとよくあることは、特定のファイルやディレク
  トリが誰にでも読めるようにはなっていないことです。この問題を回避するた
  めにカーネルにパッチを当てている人もいます。

  後述する「隠しファイル」に関する質問も関連事項なので、そちらもご覧くだ
  さい。

  6.13.  IDE CD に関するカーネルのエラーはどう解釈すればよいでしょう?

  IDE 用 CD-ROM ドライバから "hdxx: code: xx key: x asc: xx ascq: x" と
  いうカーネルメッセージが出たということですね?

  これは IDE CD-ROM ドライブが出した状態/エラーメッセージです。カーネル
  空間をエラーメッセージで無駄遣いするのを避けるため、idecd ドライバはデ
  フォルトでは CD-ROM ドライブから受け取った情報をそのまま出力します。こ
  のデフォルト動作を変更して、実際のエラーメッセージを表示するようにする
  こともできます。 /usr/src/linux/drivers/block/ide-cd.c を編集して
  VERBOSE_IDE_CD_ERRORS の値を 1 に変更し、カーネルを再構築してくださ
  い。

  6.14.  CD-ROM ドライブが何倍速なのか調べたいのですが。

  方法を一つ紹介します。以下のコマンドで 1500KB の CD から読み出す速度を
  計るのです。

       % time -p dd if=/dev/cdrom of=/dev/null bs=1k count=1500
       1500+0 records in
       1500+0 records out
       real 5.24
       user 0.03
       sys 5.07

  1 倍速ドライブの転送速度は 150KB/秒なので、読み出しに 10 秒かかるはず
  です。2 倍速ならば 5 秒かかりますし、4 倍速なら 2.5 秒かかります。それ
  以降も同様です。

  実行例に出てくる 3 つの数値のうちでは "real" の時間を見ましょう。この
  例ではドライブは倍速であることがわかります。もっと正確な値を調べるに
  は、転送するデータの量を増やしましょう(どうしてかと思うかもしれません
  が、データがキャッシュされないからです)。コマンドは何回か実行して、そ
  の平均を取るとよいでしょう。

  筆者はまた、CD-ROM の転送速度を調べるための簡単なプログラムを C 言語で
  作成しました。ご希望であれば送ってもかまいません。

  6.15.  Linux をインストールした後に CD-ROM が止まってしまいます。

  一般的な症状は、最初に Linux をインストールした時に使った起動ディスク
  が CD-ROM ドライブを認識したのに、Linux カーネルをハードディスクやフ
  ロッピーディスクにインストールして再起動すると CD-ROM ドライブが認識さ
  れないというものです。

  この問題の最もありがちな原因は、一部の Linux ディストリビューションで
  は、ハードディスク(あるいはフロッピーディスク)にインストールされるカー
  ネルが必ずしも起動ディスクに入っているカーネルと同じでないことです。
  CD-ROM のハードウェアに合わせて起動ディスクを選択したのに、インストー
  ルされたカーネルは「汎用」のカーネルであり、使いたい CD-ROM をサポート
  していないのです。この問題に該当するかどうかは、本文書の前の章で説明し
  た、問題点を解決するためのガイドラインを使って調べることができます(ま
  ずは /proc/devices を調べましょう)。

  解決方法はカーネルを再コンパイルし、使っている CD-ROM 用とその他に必要
  なもの(SCSI カード、ISO-9660 ファイルシステム)のドライバを全て確実に入
  れることです。この作業の手順が分からなければ、 Kernel HOWTO
  <http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html> を見てください。

  カーネルにコマンドラインオプション(例: "hdc=cdrom")を渡す場合には、
  ブートローダの設定ファイル(普通は /etc/lilo.conf)にオプションを追加す
  る必要があります。

  6.16.  読めない「隠しファイル」が CD-ROM 上にあります。

  一部の CD には、「隠しファイル」属性が付いたファイルが入っています。こ
  のようなファイルは普通は見えません。ただし "unhide" オプションを付けて
  CD をマウントすると、見えるようになります(この動作の説明はどこにも書か
  れていません)。

  6.17.  CD-ROM を操作するための API に関する文書はどこにありますか?

  音楽 CD プレイヤー等のアプリケーションを自分で独自に作成したければ、
  Linux が提供している API(Application Programming Interface)を理解しな
  ければなりません。

  元々の CD-ROM 用カーネルドライバでは、独自の ioctl() 関数を使って CD-
  ROM ドライブごとに固有の機能をサポートしていました。これらについては
  /usr/include/linux/sbpcd.h に説明が書かれています。ドライバの大部分は
  他のドライバを基に作成されているので、全く同じではないにせよ、インター
  フェイスには共通する部分がたくさんあります。

  最近では、David van Leeuwen さん (david@tm.tno.nl) が中心になって、CD-
  ROM 用の APIの共通化が進められてきました。この作業は、共通のコードを一
  ヶ所にまとめることと、全てのドライバに確実に同じ動作をさせるためのもの
  です。この標準については /usr/src/linux/Documentation/cdrom/cdrom-
  standard.tex に説明があります。この標準をサポートしているカーネルドラ
  イバもいくつかあります。カーネル 2.0 の時点では、全ての CD-ROM ドライ
  バがこの API に準拠しています。

  拙著「Linux Multimedia Guide」には、CD-ROM ドライブを利用する (特に音
  楽関連)プログラムを書くための説明をかなり詳しく書いています。「参考資
  料」の章の終わりを見てください。

  6.18.  Windows CD-ROM のロングファイルネームが見えないのですが。

  Linux ではなく Windows の ロングファイルネーム を使っている CD-ROM
  は、Microsoft の独自技術である Joliet ファイルシステムを使ってフォー
  マットされているかもしれません。解決方法については、次の質問をご覧くだ
  さい。

  6.19.  Microsoft の Joliet ファイルシステムはサポートされていますか?

  Microsoft は ISO CD-ROM 形式を拡張して Joliet 形式を作りました。この形
  式を使うと、16 ビットの Unicode 形式を使ってエンコードしたロングファイ
  ルネームを扱うことができます。

  バージョン 2.0.24 以降の Linux カーネルは Microsoft Joliet ファイルシ
  ステム拡張をサポートしています。これをサポートするにはカーネルにおける
  設定を有効にする必要があります。

  Joliet 形式の CD-ROM に入っている、native language 文字のファイル名を
  画面に表示するためには、カーネルにおける NLS ISO8859 文字集合のサポー
  トのうち適切なものを有効にする必要があります。

  6.20.  Linux は 「拡張形式」の CD をサポートしていますか?

  一部の音楽 CD は追加データを持つ「拡張形式」のものです。よく見かけるも
  のは、音楽用 CD トラック以外にも、ISO-9660 ファイルシステムとしてマウ
  ントできるデータが入っている CD です。

  筆者が調べた拡張形式の CD は、Microsoft Windows と Apple Macintosh の
  アプリケーションが入っているものでした(当然ながら Linux で直接実行する
  ことはできません。Windows のアプリケーションは WINE という Windows エ
  ミュレータで部分的に動作しました)。xv 等の標準的な画像ビューアで表示で
  きる GIF 画像が入っているものや、xanim で再生できる Apple QuickTime 形
  式の動画が入っているものもありました。この CD は、古い CD-ROM ドライブ
  では読み込めないマルチセッションの CD でした。この CD には、拡張形式の
  CD に関する FAQ が入っている readme.txt ファイルがありました。

  6.21.  Linux は DVD-ROM をサポートしていますか?

  SCSI または ATAPI に準拠している DVD-ROM ドライブならば、ISO-9660 ファ
  イルシステムでフォーマットされているディスクを Linux で扱うことができ
  るはずです。言い換えれば、このようなディスクは(たぶん容量が大きい) CD-
  ROM ドライブとして動作します。

  DVD-ROM ディスクの多くは UDF ファイルシステムを使っています。本文書の
  執筆時点では、このファイルシステムへの対応は開発途上です。カーネルへの
  パッチは  <http://trylinux.com/projects/udf/> から入手できます。

  しかし MPEG-2 でエンコードされた DVD ビデオの再生のサポートについて
  は、ソフトウェア的なものについても、DVD デコーダのハードウェアを使うも
  のについても筆者は知りません。エンコードに関する規格の文書は、高価かつ
  非開示契約を結ばないと入手できないようです。別の原因は、MPEG 再生は独
  自ハードウェアを使うのが普通であり、メーカーがプログラミング情報を公開
  してくれないことです。このような理由により、Linux でフリーに利用できる
  DVD ビデオ再生ソフトウェアを開発するのは困難かもしれません。

  6.22.  Linux は CD-RW をサポートしていますか?

  SCSI または ATAPI 準拠の CD-RW ドライブならば、ISO-9660 ファイルシステ
  ムでフォーマットされているディスクを Linux で扱うことができるはずで
  す。ディスクへの書き込みもできます。

  CD-RW ディスクの多くは UDF ファイルシステムを使っています。本文書の執
  筆時点では、このファイルシステムへの対応は開発途上です。カーネルへの
  パッチは  <http://trylinux.com/projects/udf/> から入手できます。

  7.  参考資料

  ドライバの README ファイルについては既に説明しています。これは通常、
  /usr/src/linux/Documentation/cdrom にインストールされています。ここに
  挙げている資料には、役立つ情報がたくさん隠されていることでしょう。

  以下に示す Usenet の FAQ は news.answers に定期的に投稿されます。これ
  は  <ftp://rtfm.mit.edu/> などの FTP サイトにも登録されます:

  o  alt.cd-rom FAQ

  o  comp.periphs.scsi FAQ

  o  Enhanced IDE/Fast-ATA/ATA-2 FAQ

  また以下の Linux HOWTO 文書にも、CD-ROM に関する有用な情報が書かれてい
  ます:

  o  SCSI HOWTO <http://metalab.unc.edu/LDP/HOWTO/unmaintained/SCSI-
     HOWTO.html> (日本語訳 <http://www.linux.or.jp/JF/JFdocs/SCSI-
     HOWTO.html>)

  o  Hardware Compatibility HOWTO
     <http://metalab.unc.edu/LDP/HOWTO/Hardware-HOWTO.html> (日本語訳
     <http://www.linux.or.jp/JF/JFdocs/Hardware-HOWTO.html>)

  o  Sound HOWTO <http://metalab.unc.edu/LDP/HOWTO/Sound-HOWTO.html> (日
     本語訳 <http://www.linux.or.jp/JF/JFdocs/Sound-HOWTO.html>)

  o  Kernel HOWTO <http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html> (
     日本語訳 <http://www.linux.or.jp/JF/JFdocs/Kernel-HOWTO.html>)

  o  Distribution HOWTO <http://metalab.unc.edu/LDP/HOWTO/Distribution-
     HOWTO.html> (日本語訳
     <http://www.linux.or.jp/JF/JFdocs/Distribution-HOWTO.html>)

  o  CD Writing HOWTO <http://metalab.unc.edu/LDP/HOWTO/CD-Writing.html>
     (日本語訳 <http://www.linux.or.jp/JF/JFdocs/CD-Writing-HOWTO.html>)

  少なくとも 10 の会社が Linux を収録した CD-ROM を販売しています。その
  大部分は Distribution HOWTO で紹介されています。

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

  o  comp.publish.cdrom.hardware

  o  comp.publish.cdrom.multimedia

  o  comp.publish.cdrom.software

  o  comp.sys.ibm.pc.hardware.cd-rom

  o  alt.cd-rom

  o  alt.cd-rom.reviews

  ニュースグループ comp.os.linux も Linux 固有の情報についての良い情報源
  です。 (訳注: 日本語の情報については fj.os.linux や japan.comp.linux
  をご覧ください。)

  <ftp://ftp.cdrom.com/pub/cdrom/> には CD-ROM に関する情報とソフトウェ
  アの巨大なアーカイブがあります。

  IDE デバイスや ATA デバイスに関する FAQ 文書は
  <ftp://rtfm.mit.edu/pub/usenet/news.answers/pc-hardware-faq/enhanced-
  IDE/> と <http://www.seagate.com/techsuppt/faq/faqlist.html> にありま
  す。

  Western Digital 社(IDE プロトコルの規格を作った会社)は、IDE プロトコル
  に関する情報を公開しています。これは Western Digital 社の FTP サイト
  <ftp://fission.dt.wdc.com/pub/standards/atapi> から入手できます。

  マルチメディア専門の WWW サイトが
  <http://viswiz.gmd.de/MultimediaInfo/> にあります。 Creative Labs 社の
  WWW サイトは  <http://www.creaf.com/> です。

  The Linux Software Map (LSM) とは、Linux のソフトウェアが置かれている
  場所を集めた貴重な文書です。LSM は
  <ftp://metalab.unc.edu/pub/Linux/docs/LSM/> (以前の sunsite ) など、様
  々な FTP サイトに置かれています。Linux 用アプリケーションのデータベー
  スを管理している WWW サイトもいくつかあります。そのうちの 1 つに
  <http://www.freshmeat.net> があります。

  Linux 用のメーリングリストには色々な種類があり、それぞれ異なるトピック
  を扱っています。参加方法などを得るためには、本文に "help" と書いたメー
  ルを majordomo@vger.rutgers.edu 宛に送ってください。

  (訳注: 日本語のメーリングリストについては
  <http://www.linux.or.jp/community/ml/index.html> をご覧ください。)

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

  最後に厚かましいことながら拙著のことを書かせてください: Linux における
  マルチメディア(特に CD-ROM とサウンドカードを利用するアプリケーション
  とプログラミング)についてもっと知りたければ、拙著の "Linux Multimedia
  Guide" (ISBN 1-56592-219-0, O'Reilly and Associates 発行) をご覧くださ
  い。原文の英語版に加えて、フランス語訳と日本語訳も出版されています。詳
  しくは 800-998-9938(北米)に問い合わせるか、WWW ページ
  <http://www.ora.com/catalog/multilinux/noframes.html> あるいは筆者の
  ホームページ <http://www.pobox.com/~tranter/> を見てください。

  (訳注: 日本語訳は「LINUX マルチメディアカイド」 (山形浩生訳、ISBN
  4-900900-30-1, オライリー・ジャパン発行)です。

