Linuxで広く使われているライティングソフトでは,基本的にATAPI接続のCD-R/RWドライブをそのまま使用(認識)することができない(2002年2月現在)。LinuxカーネルからSCSIデバイスとして見えるようエミュレーション機能を使い,ライティングソフトからアクセスさせる必要がある。
ただし,「Cdrecord」のバージョン1.9以降ではATAPIドライブもサポートするという動きも見られる。自分の持っているドライブが対応されているかどうかは,「Cdrecord-1.11 drive compatibirity list」ページで確認しよう。
ここでは,プレクスターのATAPI接続CD-R/RWドライブ「PX-W2410TA」(R24倍書込/RW10倍書込/40倍読込)を例に挙げている。
前述のように,そのままでは認識することができないATAPI接続のCD-R/RWドライブは,SCSIデバイスとして見えるようエミュレーションさせる必要がある。このためには,LinuxカーネルにSCSIエミュレーションのドライバが必要があることをブートマネージャ設定で宣言し,次のように組み込まれるようにしよう。
ブートローダーにLILOを使っている場合には,次のように「append=」行を加えればよい(ここでは、/dev/hdcがCD-R/RWドライブとした例)。
# vi /etc/lilo.conf 〜 中略 〜 append="hdc=ide-scsi" |
元からappend=行が存在する場合には,
append="apm=on hdc=ide-scsi" |
として末尾に加えればよい。編集後は,次のようにLILOを実行してMRB(マスターブートレコード)を更新すれば完了だ。
# /sbin/lilo |
一方,ブートローダーにGRUBを利用している場合には,次のように該当する指定行カーネルのパラメータにも追加しよう。追加する「kernel /vmlinuz-...」の行を判断するには、現在自動起動選択されている個所(「default=」に書かれている番号で,上から0、1、2、3..と数えた該当title以下の囲い)を見つける必要がある。
# vi /boot/grub/grub.conf 〜中略〜 title Red Hat Linux (2.x.xx) root (hd0,0) kernel /vmlinuz-2.x.xx ro root=/dev/hda2 hdc=ide-scsi initrd /initrd-2.4.xx.img 〜以下略〜 |
なお,前述したようにappend行で指定する「hdc=...」(デバイス名)はハードウェア環境によって異なるため,次のようにしてdmesgコマンドで調べれば分かる。
$ dmesg ........ 〜 中略 〜 hda: IBM-DTTA-371440, ATA DISK drive hdb: IBM-DTTA-351010, ATA DISK drive hdc: PLEXTOR CD-R PX-W2410A, ATAPI CD/DVD-ROM drive ※ここでは「hdc=」を指定すればよいことが分かる |
以上の設定後には再起動を行うが,すぐにデバイスが認識される状態になっているわけではない。ide-scsiと呼ばれるモジュールを読み込む必要がある。組み込み後はlsmodで次のように表示されればOKだ。
# modprobe ide-scsi # lsmod ide-scsi 8224 0 |
また,実際にSCSIデバイスとして認識されているかどうかはdmesgコマンドで次のように表示されるかどうかで判断ができる。
$ dmesg ........... 〜 中略 〜 SCSI subsystem driver Revision: 1.00 scsi0 : SCSI host adapter emulation for IDE ATAPI devices Vendor: PLEXTOR Model: CD-R PX-W2410ARev: 1.00 Type: CD-ROM ANSI SCSI revision: 02 |
次のように直接デバイスファイルを参照することで確認することも可能だ。
$ cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: PLEXTORModel: CD-R PX-W2410A Rev: 1.00 Type: CD-ROM ANSI SCSI revision: 02 |
最後に,ide-scsiモジュールはサーバの起動時に毎回自動的に組み込まれるよう,modules.confファイル内に記述しておけばよいだろう。
# vi /etc/modules.conf alias scsi_hostadapter ide-scsi alias scd0 sr_mod |
ここでは,次のように設定することで/dev/cdrom1としてドライブアクセスができるよう行った例だ。
# cd /dev # ln -s scd0 cdrom1 # ls -l cdrom* lrwxrwxrwx 1 root root 8 2月4 15:19 cdrom -> /dev/hdc lrwxrwxrwx 1 root root 9 2月4 15:19 cdrom1 -> /dev/scd0 |
ここまでの操作で,ATAPI接続のCD-R/RWドライブがライティングソフトから認識できるようになった。以後メディアへの書き込みを行うためには,イメージファイルの作成とライティングソフトの操作が必要になるが,その際には次に挙げる関連Tipsを参考にしてほしい。
・関連Tips
CD-R/RWメディアに書き込みをしたい〜コマンドライン編〜
CD-R/RWメディアに書き込みをしたい〜X Window編〜
・ここで使用したドライブ
「PX-W2410TA」(プレクスター)
Copyright © ITmedia, Inc. All Rights Reserved.