マウントコマンドによってはユーザーに対するオプションが使えるものがあり
ます。 /etc/fstab
に次のように記述すると
/dev/sbpcd /cdrom iso9660 user,noauto,ro
一般のユーザーが次のようなコマンドを使って、ディスクのマウント、アンマ ウントができるようになります。
% mount /cdrom % umount /cdrom
ディスクの安全を守るためのいくつかのオプション付きでマウントコマンドが 実行されます。(例えば、プログラムが実行されなかったり、デバイスファイ ルが無視されたりします。)ときにはそれが用心深すぎる措置だと思われるで しょう。
他の方法として、フロッピーや CD-ROM などの持ち運び可能なデバイスを一
般ユーザーがマウントしたりアンマウントするための usermount
パッケー
ジを入手することもできます。これはハードディスクなどのデバイスは保護し
ます。これは主だったアーカイブサイトで見つかるでしょう。
また、ftp.cdrom.com
というアーカイブサイトには mount.c
とい
うソースファイルが登録されています。これは CD-ROM を一般ユーザー(だけ)
がマウントしたりアンマウントしたりすることができるプログラムです。これ
は setuid
することで実行します。
"device is busy"
というメッセージが出るのですが。 他のプロセスがそのドライブにアクセス中だったり、マウントされたディスク
のディレクトリを標準ディレクトリとしているプロセスがあったりすると、ディ
スクをアンマウントすることはできません。どのプロセスがディスクにアクセ
スしているのか知りたいときには、次に示すように fuser
コマンドを使
うことができます。
% umount /cdrom umount: /dev/sbpcd: device is busy % fuser -v /cdrom /cdrom: USER PID ACCESS COMMAND tranter 50 ..c.. bash
/etc/exports
を書き換える必要があります。詳しくはオンラインマ
ニュアルの exports(5)
を見てください。
一番簡単なのは、ブートフロッピーを使うことです。(Slackware などの) Linux の配布形態には、一つ又はいくつかのブート用のフロッピーが付いて います。使っているシステムに合った CD-ROM ドライバの組み込まれたフロッ ピーを使って起動してください。
将来的には必要な ROM BIOS 機能を持った ATAPI CD-ROM ドライブから直接 Linux を起動することができるようになるでしょう。
これができる CD-ROM ドライブは多くはありません。Heiko Eissfeldt 氏
(heiko@colossus.escape.de
) と Olaf Kindel 氏が音楽データを読みとっ
て .wav
フォーマットのファイルとして保存するユーティリティーを書
いています。これは東芝の XM3401 または XM4101 SCSI ドライブでのみ動き
ます。このパッケージは cdda2wav.tar.gz
という名前で
sunsite.unc.edu
に登録されています。他にも Chinon 535 や東芝
3601B のドライブで成功したという報告もあります。
Panasonic SBPCD ドライバは、バージョン 1.1.22 のカーネルに含まれる
(version 2.0) ものから、は、サウンドデータを読むことができるようになり
ました。これに応じて改良された cdda2wav
プログラムが
ftp://ftp.gwdg.de/pub/linux/misc/cdda2wav-sbpcd.2.tar.gz
に登録されています。
標準的な cdda2wav プログラムには Panasonic のドライブに対応していると 書いてありますが、まだデータの「重なり」を処理し切れないために確実に動 くとはいえません。
CDU-33 ドライバは音楽データを読み込むことができるようになりました。 cdda2wav プログラムが使えるそうです。
このことについて、さらに詳しく知りたい方は、参考資料の節に挙げた
alt.cd-rom
の FAQ リストを見てください。
find
コマンドが正しく働かないのですが。 Rock Ridge 拡張されていない ISO-9660 フォーマットのディスクの場合、
find
コマンドに -noleaf
オプションを付ける必要があります。
ISO-9660 フォーマットの場合、それぞれのディレクトリファイルのリンク数
が簡単には分からないため、それは 2 にセットされます。しかし find
プログラムは探索の最適化のために (i_link - 2) 個のサブディレクトリをそ
れぞれのディレクトリで探し、それ以外を普通のファイルとみなすので、ディ
レクトリの探索がおかしくなります。-noleaf
オプションを付けるとこ
の最適化が行われなくなるのです。
(以下の内容は Horne@leader.pfc.mit.edu
氏の御教示によります。)
私は Reveal CD/Soundcard キットを買い、いろいろ試した結果、Linux で動 かせるようにし、その方法を投稿しました。CD-ROM HOWTO に掲載されて以来、 週に2通ほど問い合わせが来るようになりました。
私はエキスパートではありません。私は Reveal 社のテクニカル・サポートか らアドレスを聞き出して、2つの SOUND-FX ラインを cdu31a ドライバに追加 しただけです。大抵の質問には答えることができません。ここで述べる以上の ことはほとんど説明できません。特に注意していただきたいのは、私はこのカー ドが Linux に適していると、お勧めしているわけではありません。
Linux で REVEAL カードを使う
まとめ:
詳細説明:
もしも SONY のドライブが付いていれば、 cdu31a ドライバが動作します。カー ネルを cdu31a ドライバをサポートするように設定します。以下は cdu31a ド ライバのソースの引用です。
* 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.
Reveal カード用に適当なところに次の設定をします。
append="cdu31a=0x654,0"
私は LILO を使っていません。私は自動認識を外して、アドレスを自分で設定 しています。(</usr/src/linux/drivers/block/cdu31a.c> のファイルから "cdu31a_addresses" という文字列を検索して設定しました。)
この方法は、ソニーのドライブ以外では動作しません!! (私は詳しくは知 りませんが、動いたら非常に驚きです)
ソニーの場合の類推で、Panasonic や Mitsumi ドライブを持っている場合も、
Reveal テクニカルサポートに電話して CD-ROM の種類にあったベースアドレ
スを知る必要があります。そして適切なドライバを選ぶ必要があります。(こ
の場合、sbpcd ドライバが使えるかはわかりません。たぶん動くでしょう。ど
ちらにせよアドレスを知る必要があります。)"append=..."
も他の
ドライバでどうすればいいかはわかりません。
いくつかのシステム設定をするまでは、ドライバへのパッチや lilo.conf の 設定はできません。もしも Linux をまだインストールしていない時には、試 してみることがあります。
rdev /dev/fd0 /dev/fd0 ; root=floppy rdev -r /dev/fd0 1440 ; ramdisk rdev -t /dev/fd0 -3 ; prompt for screen modeそうして、このインストール用ルートディスクから起動します。CD-ROM 用の マウントポイントを作ってください。
# mkdir /cd # mount -r -t iso9660 /dev/fd0 /cdそして "install from mounted directory" を選んでインストールします。も ちろん配布物のカーネルはそのままでは動作しませんから、先のように改変し たカーネルをコピーします。
音源の設定:
このカード (isc-400) は Linux ではあまりサポートされていません。残念な がら、あまり良いハードウェアとはいえないからでしょう。8-bit の SB モー ドで音を出すことができます。ミキサーはまだ動作していませんので、録音も できません。MSS モードは IRQ がないので、ドライバでどのように扱えばい いのかわかりません。AdLib 互換でも動いてはいません。
私と、もう一人がネイティブ・モードのプログラム情報を得ようと努力しまし たが、さんざん電話をした挙げ句、シンガポールまで問い合わせろと言われて あきらめました。もしも良い音を出したくなれば、私は今度は SoundBlaster を買うでしょう。
Adam J. Richter (adam@yggdrasil.com
) 氏によると、
Yggdrasil パッケージでは、Adaptec 154x SCSI コントローラを使って、
Philips の CD ライターを扱うことができます。他の SCSI コントローラが使
えるかどうかについては確認していませんが、おそらく動くと思います。
mkisofs
を使えば、ISO-9660 ファイル・システムを作成することができ
るので、それを CD に書き込むことができます。このセットアップについて援
助がほしい場合は、私たちの 900 テクニカル・サポート・ナンバーの
1-900-446-6075 内線 835(US$2.95/分:アメリカ国内のみ)に電話し
てください。
CD-ROM は読みだし専用のメディアですから当然のことです。古いカーネルで
は CD-ROM は read/write モードでマウントできました。しかも CD に対する
書き込みの命令はエラーにならず無視されました。カーネルのバージョンが
1.1.33 になってこの問題は見直され、CD-ROM は read-only でしかマウント
できないようになりました。マウント時には mount -r
のように読みと
り専用のオプションを指定してください。
1.1.38 カーネルに附属する sbpcd
ドライバは、アンマウントされると
ディスクを自動的に排出します。システムをシャットダウンするときにはマウ
ントされていた CD も自動的にアンマウントされるので、ディスクが排出され
ることになります。
この機能はディスクを変えたいときには便利です。さらに、トレーを開いたま まで、ディスクをマウントしたり、読もうとすると、自動的にトレーを閉じる ようになっています。
この仕様は、いくつかのプログラム(cdplay
や workbone
)で問題
になることがわかりました。
1.1.60 以降のカーネルでは、この機能をソフトウェア的に調整することがで
きます。サンプルプログラムが README.sbpcd ファイルに含まれています。
(eject プログラムも使えるでしょう)
その「特殊」な 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 の他の可能性としては、
訳注: 電子ブックの場合、EB フォーマットはほとんどのドライブで読めます。 拡張された EBXA フォーマットは、読めないものもあるようです。
これは普通の現象であり、最近のドライバに追加された機能です。CD がマウ ントされた時にアクセスランプがフラッシュします。(これはバグではなく特 徴です。)
パイオニア(6連・12連)やナカミチの(7連)CD-ROM チェンジャー付き の連奏ドライブが使えるという報告があります。今までに動作報告されている ものはどれもSCSIドライブです。
最近のカーネルで連奏ドライブを使うには、make configの際に、
"Probe all LUNs on each SCSI device"という質問に y