[前へ] ‖
[3.3 Top]
DVD マルチドライブを使う |
ATAPI 接続の DVD マルチドライブ(CD-R/RW,DVD-R/RW,DVD+R/RW,CD-ROM, DVD-ROM)を使えるようにしてみます.
▼ netfort の松本さんが,SCSI エミュレーションを使わずに直接 ATAPI デバイスを使用する方法, 「ATAPI CD-R ドライブの使い方」 を公開されていますので,こちらも参考にしてください.
これらのライティングができるデバイスは,Linux では SCSI デバイスとして使いますので,IDE デバイスを SCSI Emulation で SCSI デバイスとして認識させる必要があります.
plamo-3.x 系でインストールされるカーネルは, CONFIG_BLK_DEV_IDESCSI=m となっているように,SCSI Emulation 機能をモジュールとしていますので,特にカーネルの再構築は必要ありません.
確認をするには,/usr/src/linux(または,linux-<カーネルのバージョン番号>)/.config,(plamo98 でしたら,/boot/config)の上記の項目を見てください.
make menuconfig のメニューから,
ATA/IDE/MFM/RLL support ---> <*> ATA/IDE/MFM/RLL support IDE, ATA and ATAPI Block devices ---> <M> SCSI emulation support
と項目をたどっても確認できます.
/usr/doc/JFdocs/CD-Writing-HOWTO.txt.gz にライティングについて一通りの説明がありますので,一度目を通す(less を使えば読めます)といいでしょう.
どうすれば使えるようになるかというと,plamo-3.3 でしたら /etc/modules.conf にすでにそのための設定を用意してあります.
# for IDE CD-ROM/CD-R #alias scd0 sr_mod #alias scsi_hostadaputer ide-scsi #options ide-cd ignore=hdc #post-install ide-scsi /usr/bin/hdparm -d 1 /dev/hdc
この 2 行目 〜 5 行目の先頭の # を削除します.
2 行目は,scd0 にアクセスがあれば sr_mod をロードする.
3 行目は,scsi_hostadaputer は ide-seci をロードする.
4 行目は,ide-cd モジュールに /dev/hdc は IDE(ATAPI)-CDROM じゃないので,
このデバイスは無視しなさい,と指示します.CD-R/RW や DVD-R/RW
などライティングデバイスを
/dev/hdc(Secondary IDE(IDE2)Master)に接続して使う場合はこの設定になります.
あと一点,このケースのように DVD ドライブだけが接続されている場合は,
/etc/rc.d/rc.modules に /sbin/modprobe ide-scsi を加えておきます.
/dev/hdc に普通の CD-ROM を接続し,/dev/hdd(Secondary IDE(IDE2)Slave)に
ライティングデバイス を接続して使う場合は,ignore=hdd と書き直します.
この設定によって,/dev/hdc は 通常の ATAPI-CDROM として ide-cd
モジュールが使われ,/dev/hdd は ide-scsi モジュールを使うようになります.
もし,at で使わない module が rmmod されると,IDE-CDな /dev/hdc も
scsi のエントリに含まれてしまって,/cdrom が使えない現象が起こる場合は,
最後の行に,
pre-install ide-scsi modprobe ide-cd
を加えてみてください.(これは,ide-scsi をロードする前に ide-cd をロードする設定です.)
5 行目は,/dev/hdc を DMA(Direct Memory Access,CPU
を介さずに入出力装置とメモリ間でデータをやりとりする方式で,
データの転送速度を向上させ,CPUの負担を減らします.)転送有効に設定します.
ほとんどのものは DMA 転送をサポートしていると思いますが,
もしサポートしていない機器でしたら,ここはこのままコメントの状態にしておきます.
ATAPI(IDE) ではなく,ネイティブな SCSI ホストアダプタのデバイスでしたら,同じように /etc/modules.conf にそれ用の設定が用意されています.
# for SCSI #alias scsi_hostadapter aic7xxx # CD-ROM/CD-R #alias scd0 sr_mod
この 2行目と 4 行目の # を削除することで,使用できます.
次に /etc/modules.conf を書き直しましたので,モジュールの変更を反映させるために, root になって,depmod -a コマンドを実行します.
~$ su Passwd: ~# depmod -a
これで ATAPI 接続のライティングデバイスを SCSI Emulation で使えるようになります.
実際の使用時には,ライティングデバイス用のマウントポイントを作っておいて,
そこにマウントして使う方法にするといいでしょう.
次の /etc/fstab への追加設定例は,
マウントポイントとして /dvdr ディレクトリを作成しておき,/dev/hdc の CD-ROM
については既存の設定をそのまま使用して /cdrom にマウントし,/dev/hdd の DVD
マルチドライブは /dvdr にマウントして使用するとした場合のものですが,
/dev/hdc に DVD マルチドライブだけで,他に機器がない場合も同じように追加しておくといいでしょう.
noauto の指定をしてあるので,起動時に自動マウントはされません.
/dvdr を作成するには,root になって次のコマンドを実行します.
# mkdir /dvdr
/etc/fstab に,次の /dev/scd0 の行を追加します.root になって vi や emacs で編集します.
/dev/cdrom /cdrom iso9660 user,ro,noauto,exec,codepage=932,iocharset=euc-jp 0 0 /dev/scd0 /dvdr iso9660 user,rw,noauto,exec,codepage=932,iocharset=euc-jp 0 0 (/dev/scd0 は /dev/sr0 の指定でもかまいません.) user の指定をしているので,ユーザでも $ mount /dvdr でこのデバイスをマウントすることができます. ※ 日本語ファイル名をもつ CD-ROM(DVD-R)をマウントする場合には, codepage と iocharset のオプションを与える順番を逆にしないとまずいらしいです. ( iocharset を先に書いてください.)
さてこれで,ハードとモジュールの設定は終りました.
次に実際にライティングするためのソフトを用意します.(こちらを先に用意しておいてもかまいません.)
土谷さん作のPlamo-test/CDtools/cdrtools-2.01-NLS.tgzが,ftp サイトにパッケージとして用意されています.
cdrtools-2.01-NLS.tgz には cdda2wav,cdrecord,devdump,isodump,
isoinfo,isovfy,mkhybrid,mkisofs,readcd,dvdrecord,isodebug,
scgcheck,の各コマンドが含まれていますので,CD-R/RW にも DVD-R/RW にも使えます.
DVD+R/RW 用が必要なら,dvd+rw-toolsに,
dvd+rw-tools-5.xx.x.x.x.tar.gz がありますので,最新のものを取得してイ
ンストールすればいいでしょう.
ソースを展開して make するだけで
dvd+rw-booktype dvd+rw-format dvd+rw-mediainfo growisofs
の各コマンドが生成されます.
growisofs を使うと,iso イメージを作らなくても指定したディレクトリ内を
DVD 等に書き込むことができるので,ディスク容量の節約と時間の短縮になります.
また,DVD+-R/RW のどちらへも書き込めます.
plamo 3.x 用の
dvd+rw-tools-5.13.4.7.4 パッケージがあります.
plamo 4.01 用は
dvd+rw-tools-5.21.4.10.8 になります.
使い方は "man growisofs" してください.
-- man growisofs -- SYNOPSIS: growisofs [-dry-run] [-dvd-compat] [-overburn] [-speed=1] -[Z|M] /dev/dvd [mkisofs-options]
このように,mkisofs のほとんどのオプションを指定することができます.
ただし,mkisofs を使うには cdrecord が入っていなければいけません.
普通に iso イメージ(例えば,~/abcd.iso)を DVD+-R に書き込む時は,
$ pwd /home/"user名" $ su # growisofs -Z /dev/dvd=abcd.iso
とします.
iso イメージを作らずに,ソースディレクトリ(例えば,~/xyz/ 以下)を書き込む時は,
# cd xyz # growisofs -dvd-compat -Z /dev/dvd [mkisofs オプション] .
ソースディレクトリに cd して(このほうがわかりやすいでしょう.),そのまま growisofs で書き込めます.
DVD Video などを観るツールでしたら, ftp://plamo.linet.gr.jp/pub/Plamo-test/DVD/に,同じく土谷さん作の
Xine(a free multimedia player)関係のパッケージ,libdvdcs.tgz,xinelib.tgz,xineui.tgz が置いてありますので,
これを使うといいでしょう.使用法などは,このディレクトリに置いてある,00Readme
を読んでください.
私が試した限りでは,Video レンタルショップから借りた 3 時間近くの映画(DVD)が問題なく
1280x1024 の画面で鑑賞できました.
素晴らしい :-)
Xine や MPlayer などで DVD Movie を観る時には,いちいちマウントする必要はなく,
Xine の場合は,次の画面の[DVD]ボタンを押すだけで再生を始めます.
(この Skin は,CeromaChrome です.)
【Xine DVD ボタン】 |
---|
DVD を取り出す時は,次の画面の Eject ボタンを押すと DVD トレイが開きます.
【Xine Eject ボタン】 |
---|
MPlayer の場合は,MPlayer パネルか Viewer 上で右クリックして, Open ⇒ Play DVD ... で再生を開始します.
さて仕上げに,これまでの作業の結果を調べて,CD-R に書き込んでみましょう.
root になって,cdrecord か dvdrecord を次のように実行してみます.
パスは,/use/local/bin/ になっているかも知れません. ~$ su Passwd: ~# /usr/bin/cdrecord -scanbus Cdrecord 1.8.1a07 (i686-pc-linux-gnu) Copyright (C) 1995-2000 Jrg Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'PIONEER ' 'DVD-RW DVR-106D' '1.05' Removable CD-ROM 0,1,0 1) * 0,2,0 2) * 0,3,0 3) * 0,4,0 4) * 0,5,0 5) * 0,6,0 6) * 0,7,0 7) *
scsibus0 の 0,0,0 に DVD マルチドライブがあると認識されています.
この情報から,実際に plamo の ftp サイトから落した plamo-3.3.iso を CD-R に書き込んでみます.
iso イメージは,/home/tmp/cd-image 以下に置いてあるものとします.
書き込みは root になって次のコマンドを実行します.
~$ su Passwd: ~# cd tmp/cd-image ~# /usr/bin/cdrecord -v speed=4 dev=0,0,0 -data plamo-3.3.iso
"-v speed=4" のオプションはつけなくても,cdrecord が勝手にやってくれますから,
~# /usr/bin/cdrecord dev=0,0,0 -data plamo-3.3.iso
これだけでも書き込みできます.dev=0,0,0 は,scanbus の結果に従って入力します.
ソースファイルから cd イメージを作る時は,mkisofs を使います.
mkisofs [ options ] [ -o filename ] pathspec [pathspec...]
-o filename の filename は,作成する cd イメージファイル名です.
pathspec は,作成元のファイル(ソース)が収められているディレクトリ名を入力します.
/home/tmp/plamo/ 以下に置いてあるソースファイル/サブディレクトリ類を,plamo.iso という名前の cd イメージにまとめたい場合は,
~$ /usr/bin/mkisofs -R -J -v -o plamo.iso tmp/plamo
とします.作成した plamo.iso の内容をチェックしてみたいなら,/cdrom ディ レクトリに(/mnt や 新規に作った /dvdr など,どこのディレクトリにマウ ントしてもいいのですが),作成した plamo.iso を次のようにマウントし(ユーザにマウントの権限がある場合ですので,ない場合は root で実行します.)
~$ mount -t iso9660 -o ro,loop=/dev/loop0 plamo-3.3.iso /cdrom それから, ~$ ls -l /cdrom の結果と, ~$ ls -l tmp/plamo の結果を比べてみれば,ソースディレクトリと同じ内容が cd イメージと して書き込まれたのが確認できます. 終了は,~$ umount /cdrom です. あとは,上記の cdrecord や dvdrecord でメディアに書き込むだけです.
cdrecord,dvdrecord,mkisofs などの詳しい使い方は man で調べてください. cdreord と dvdrecord は, -dummy オプションを使うと,実際にメディアに書き込むことなく, 書き込みのテストを行なうことができますから,チェックするには便利でしょう.
/dvdr というマウントポイントを作っておいたので,例えば,xxx.avi(avi フォーマット)などの cd イメージを,Xine や mplayer などで再生する時には,メディアを /dvdr にマウントしてから,これらのプレーヤから xxx.avi のあるディレクトリを指定すれば再生できるようになります.
[前へ] ‖
[3.3 Top]
DVD マルチドライブを使う |