|
次のページ
前のページ
目次へ
2. CD-ROM を焼くための Linux の設定この章は SCSI、IDE/ATAPI、そしてパラレルポート接続タイプの CD ライタに 適用できます。USB 接続の CD ライタは 2000 年 5 月の時点では サポートされていません。SCSI 以外のライタには互換ドライバが必要です。 このドライバは、これらのデバイスを 本物の SCSI デバイスであるかのように見せかけます。 ある面では、このような統一化 (「全てのデバイスが SCSI である」) は簡単です。 なぜなら、アプリケーションレベルでは CD ライタの種類に関わらず 他のユーザと知識を共有できるからです。 その反面、ドライバ名の変更を反映させるため、 CD プレイヤーのようなアプリケーションや、 マウントユーティリティの再設定を行わなければなりません。 例えば、今まではデバイスファイル /dev/hdc 経由で ATAPI 接続の CD ライタにアクセスしていたとしても、SCSI 互換ドライバを有効にした後は /dev/scd0 経由でアクセスしなければならなくなります。 一度ハードウェアとその他の Linux システムの設定がうまくできれば、
この例は Jörg Schilling さんから頂いたもので、全部で 4 つの CD ライタ が表示されています。-scanbus オプションは他のデバイス(例えば普通の CD-ROM やハードディスク)も表示するので注意してください。 各デバイスにおける最後のカラムは、 それがどんな SCSI デバイスかを説明したものです。 この項目では、普通の CD-ROM ドライブと、 CD を焼く機能を持った CD-ROM ドライブとをはっきりとは区別できません。 しかし、製品識別文字列 (真ん中の項目) を見れば、 機能に関するヒントが R, -R, -RW といった形で得られることがよくあります。 2.1 やってみようこの章は、設定に関して手早く簡単な解説をしてみようというものです。 あらゆる設定をカバーしてあるわけではありませんが、どうか構わず、 やってみてください。まず最初に、``uname -r'' コマンドで表示されるバージョン 番号をチェックしてください。2.0.X とか 2.2.Y みたいな感じになるはずです。 ここで X は 36 以上、Y は 11 以上とします。 もっと古いバージョンのやつだとか、いわゆる開発版カーネルだったら、 あなたにお任せです。 新しいカーネルをインストールするというのは古いものを直すのと同じぐらい 大変ですから、 バグいカーネルに対して必要なヒントの類は全部消しました。 下に載せる一連のコマンドで設定開始です。デバイスファイルのエントリを、 まだそれがないものに関して、/dev の下に作成します。
Linux においては、ハードウェアへのアクセスは一般にデバイスファイルを 通す形で実装されます。ですから、何よりも先に、これらのファイルが /dev ディレクトリにちゃんと存在することを確かめないといけません。 とはいうものの、なぜこのへんがデバイス・ファイルシステム (devfs) といった技術を通して自動化されていないのか、 その理由をずばり私に教えてくれた人はいません。 devfs は何年も前から利用可能でしたし、より安全 (!)、 デバイスの名称もはるかに明快になるし、 デバイスのエントリは自動的に /dev 以下に現れるというのに。 devfs は完璧な解ではないと論じていらっしゃるご高名な方々もいらっしゃいますが、 彼らはいい代案どころか、 devfs と比較になるような何かを出しているわけですらないし、 他に何かテスト済みのものが利用できるわけでもないのです。 devfs を使いはじめてみませんか。 そうすれば、上に述べたコマンド群はこの文書から取っちゃえるのです。 ( http://www.atnf.CSIRO.AU/~rgooch/linux/kernel-patches.html) 次に確認すべきことは、その Linux カーネルに 必要なドライバが付いているかどうかです。 以下のコマンドは、いま動作中の Linux カーネルについて、 ドライバの所在を確かめるために、いろんなファイルをチェックします。 通常は、``cdrecord -scanbus'' コマンドがきっかけとなって、 必要なドライバは自動的に読み込まれます。 その後もドライバがカーネルにないようなら、そのことが報告され、 insmod を使って、 モジュール化されたドライバ (モジュール) が手動で読み込まれます。
insmod が「モジュール・ファイルがない」と文句を言ってくる場合は、 次の節を読んでください。 テキストモード (コンソール) で使っている場合は、 モジュールがロードされると、画面に何かメッセージが表示されるはずです。 グラフィックスモード (X11, KDE, Gnome) なら、dmesg コマンドで メッセージを再び呼び出せます。 次に Linux システムを立上げたときにもモジュールが読み込まれるようにする方法は いくつかあります。
モジュールがロードされるようにするには、 /etc/modules といった設定ファイルのリストにそのモジュールを追加するか、 kerneld か kmod デーモンを走らせておきます。両方とも、カーネルが何か モジュールの必要性に気づいたときに必要なモジュールを自動的にロードして くれるデーモンです。 SCSI のライタを持っている人はこの章の残りは飛ばして結構です。 このあたりのハードウェアなら、大概の場合 cdrecord が検出してくれている はずです。だめだったら、設定状況について私にメールを送ってください。 そうすれば SCSI ライタについての章を改善できますので。 では、IDE/ATAPI の CD ライタをお持ちのかたの番です。前の節で書いたように、 互換ドライバ ide-scsi をロードしなければなりません。ただし、このドライバは、 他のドライバがすでに CD ライタに手を出していない場合に限り CD ライタに アクセスできます。言い換えれば、 普通の (互換ドライバでないほうの) IDE ドライバに、 その CD ライタを認識しないよう教え込んでおかなければいけません。 そうしておけば、ide-scsi ドライバが CD ライタを「にぎれる」わけです。
上の表は、デバイスファイルの名前と、そのデバイスの IDE バス上の位置と の関係を示しています。デバイスファイルの名前は、Linux カーネルのどの ドライバを通してお使いの CD ライタが使われるかを示しています。例えば hdb=ide-scsi など。こういった設定は、そのドライバがカーネルに静的に コンパイルされて入っている場合 (訳注: そのドライバをモジュールとして 動的にロードするのではない場合) は、lilo.conf や chos.conf に書きます。 おそらく、これがもっと一般的なケースでしょう。 カーネルに複数のパラメータを渡したい場合は、 (chos の設定例のように)、それらをスペースで区切ってください。 次に示すリスト 2 つの設定例には、 適切な append 行以外にもいろいろ書いてあります。 append と cmdline の行は、カーネル・イメージごとの設定であることに 注意してください。 (言い換えれば、設定ファイルの先頭に直に足してはだめです)
IDE/ATAPI CD-ROM のドライバがモジュールとしてロードされている場合なら、 上記の設定はあなたの環境に何ら影響を及ぼしませんが、次のリストにある options の行が入っていることを確認してください。リスト末尾の 3 行は、 必要となったモジュールの読み込みをより自動化するための設定として 一般にお奨めできるものです。
もし、マシンについている CD-ROM ドライブがその CD ライタだけなら、 CD-ROM へのアクセスも、デバイスファイル /dev/scdn (n は 0 から 8) を通して、そのライタを使って行わなければならない ことに留意してください。cdrom というシンボリックな名称で、その新しい デバイスファイルを指すように変更するのもいいでしょう。以下のリストは、 例えば scd0 に対してそうするためのコマンドです。
CD ライタと CD-ROM ドライブが(物理的に)別のデバイスなのなら、cdrom の シンボリックリンクを変更してはいけません。 SCSI CD ライタに関する特別な注意お持ちのライタが SCSI ホストアダプタ・カードの BIOS で認識されることを確認してください。 SCSI ホストアダプタというものは、電源投入後に SCSI バスをスキャンして、 自分が発見した、バスに接続されているデバイスをすべて報告します。 報告には、デバイスの SCSI ID と製品名が入っています。 お使いの CD ライタがこの報告内容に含まれていない場合は、 何をやっても意味はありません。 SCSI デバイスをパラレル・ポートを介して接続しようと思っているなら、 (パラレル・ポートに接続する IDE ドライブの話とごっちゃにしないこと) 特別なアクティブ・ケーブルとカーネル・ドライバが必要です。 詳しくは http://www.torque.net/parport/parscsi.html を読んでください。 パラレル・ポート接続の CD ライタに関する特別な注意これについてはさっぱりわかりません。ごめんなさい。 http://www.torque.net/parport/paride.html を見るか、 ローカルファイル /usr/src/linux/Documentation/paride.txt を見てください。 ないカーネル・モジュールをコンパイルする (任意)ここまでの設定に関する説明で、 お持ちのハードがちゃんと認識されて設定できているのなら、 この章を読む必要はありません。 Linux カーネルはさまざまな機能のためのドライバを装備しています。 ドライバはカーネルイメージに静的に組み込むか、動的ロードできる モジュールとして組み込むことができます。Linux システムを動かすために 本質的でないドライバは後者の方法がいいでしょう。なぜならカーネルが 小さくなり、したがって高速になるからです。しかし、一部のドライバは システムを立ち上げるためにどうしても必要であり、モジュールとして組み込むべき ではありません。例えば、システムが IDE ハードディスク上にある場合には、 IDE ハードディスク用のドライバはカーネル内になければならず、モジュール にはできません。 CD ライタには異なる 3 種類のものがあります。すなわち SCSI, IDE/ATAPI のライタと、パラレルポート経由で動作する外付けライタです。 それぞれのハードウェアについてLinux カーネルをどのように 設定すればよいかを表に示します。表の最初のカラムはカーネル設定メニュー でのセクションです。ここに設定があると思います。2 番目のカラムは カーネルの機能の説明です(これもカーネル設定メニューからの引用です)。 3 番目のカラムは、できるモジュールの名前です。SCSI, IDE, PP という カラムは、対応するハードウェアにとって必要なオプションです (PP はパラレルポートのことです)。
Y は 'yes' を表し、カーネルに組み込むべきであることを示します。 M は 'module (モジュール)' を表し、その機能はモジュールとしてコンパイル すべき、あるいはコンパイルしなければならないことを示します。Y/M ならば どちらかを選ぶことができます(問題が起こる可能性が小さい方を選びましょう)。 空の部分は変更する必要がないことを表します。 このような設定は変えないほうが、作ったカーネルが動作する可能性が高いでしょう (前に動いた実績があれば…)。特に、SCSI デバイスと ATAPI デバイスが混在 している環境では、ほとんどのものをモジュールとして作成する方がよいでしょう。 ループバックデバイスはコンパイルしなくてもかまいません。このデバイスを 使うと、イメージをメディアに書き込む前にテストすることができます。 CD-ROM を読み取りたければ、ISO 9660 ファイル システムをサポートする必要があります。このドライバは自動的に RockRidge 拡張を含みます。Microsoft Joliet 拡張は、明示的に ISO 9660 ファイルシステムに追加しなければなりません。いずれの場合にも、 ハードウェアに対応した低レベルドライバが必要です。低レベルドライバとは、 直接ハードウェアと通信するドライバのことです。SCSI やパラレルポートの 場合には、たくさんの低レベルドライバがあります。 できた Linux カーネルをインストールする方法については、この HOWTO の 範囲から外れます。お使いの Linux ディストリビューションの説明書に あたってください。 RedHat Linux のユーザなら、``Ramdisk support'' と ``Initial ramdisk'' 機能がコンパイルされて含まれるようにしないといけないことを押えておいて ください。さらに、その新しいモジュールで新しい ramdisk を生成しないと いけません。こんなふうにコマンドを実行します: ``mkinitrd --preload ide-cd initrd-2.2.14.img 2.2.14'' 自分自身のマシンをお使いであれば、ディストリビューションに付属している 「Linux カーネルソース」というパッケージをインストールするだけです。 その後で以下のコマンドを実行します:
これによって起動可能なフロッピーディスクができます。この作業全体が本当 にわからないのであれば、システムをぐちゃぐちゃにしてしまう前に Kernel HOWTO といった他の文書を読むか、友達の助けを求めるべきでしょう。 カーネルがシステムの中心部分であることを忘れてはいけません。 カーネルが許すならば、IDE/ATAPI CD-ROM 用のドライバをモジュールとして コンパイルします。それができなければこれを無効(N)にして、SCSI CD-ROM 用のドライバを使います。バージョン 2.2 系列のカーネルでは、 同じ物理デバイスで IDE と SCSI のドライバを同時に使うことは できなくなりました (まだ 2.0.36 を使っているなら後の説明を読んでください)。 2.2 CD-R を焼くためのユーザソフトウェアの入手CD-ROM を作成するためのツールに関する詳しい調査の結果が http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdb.html にあります。 コマンドライン用ユーティリティCD-R のイメージ (データ CD-ROM の場合のみ) を生成するためには、 以下のパッケージのいずれかが必要です:
ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/ (mkisofs) イメージを CD-R に焼くためには、以下のパッケージのいずれかが必要です:
ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/ (cdrecord) 古い GUI (無くてもかまいません)Linux においては、フロントエンドは本当にフロントエンドです。つまり、 フロントエンドだけあってもだめで、コマンドライン用のユーティリティを インストールしなければなりません。でも、 フロントエンドは使う時の見栄えをよくしてくれます。 X-CD-Roast は Linux で CD を簡単に作成するためのプログラム
パッケージです。これは
http://www.fh-muenchen.de/home/ze/rz/services/projects/xcdroast/e_overview.html BurnIT は cdrecord の Java 版フロントエンドであり、 cdda2wav-0.95 を加えれば UNIX 環境で CD を焼くための完全な環境が作れます。これは
http://sunsite.auc.dk/BurnIT/ から入手できます。 CD-Tux は mkisofs と cdrecord のための、 キャラクタベースのフロントエンドです。 「CD に対してできる操作ならなんでも可能な使いやすい環境を、 あの素晴らし(く..もないか) NCURSES ライブラリを使って、 フルカラーでつくり出しています。実行バイナリは 75K に満たないサイズです。 http://www.datadictator.co.za/cdtux/ 次のページ 前のページ 目次へ |
[ |