[前へ] ‖  [3.3 Top]
DVD マルチドライブを使う 

Plamo Linux 3.3 インストール & 種々設定あれこれ : その8

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 ボタン】
xine dvd start

DVD を取り出す時は,次の画面の Eject ボタンを押すと DVD トレイが開きます.

【Xine Eject ボタン】
xine dvd 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 マルチドライブを使う 
Valid HTML 4.01!