Tips記事
» 2002年02月13日 00時00分 UPDATE

ATAPI接続のCD-R/RWドライブを使いたい

[木田佳克,ITmedia]

 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.

注目のテーマ