Windows To Linux移行支援プロジェクトプロジェクト推薦アプリ集X-CD-Roast>使用方法

X-CD-Roast を使用するためには、いくつかのステップを順に踏んでいく必要がある。
ここでは、もっとも一般的であると思われる、IDE 接続の CD-R(W) ドライブを使用するものとします。

cdrecord を使うための設定

カーネル

cdrecord は、SCSI 接続のドライブであることが必要です。

このため、IDE 接続のドライブの場合は、SCSI エミュレーションにより、SCSI 接続のドライブとして認識させなければなりません。

カーネルが以下の機能をサポートするようにコンパイルされている必要があります。

上の図の中で、赤で囲んだ部分がカーネルに組み込まれているか、モジュール化されていなければなりません。

もしも、上記の機能がサポートされていない場合は、カーネルの再構築が必要です。(カーネル再構築については、ここでは触れません。)

ブートローダ

IDE 接続のドライブを SCSI エミュレーションするための設定を行います。

CD-R(W) が、セカンダリ・マスターに接続されているとします。

LILO の場合

/etc/lilo.conf に以下の記述を追加します。

  [例]
              ・
              ・
    image = /boot/vmlinuz
        label =linux
        read-only
        append = "hdc=ide-scsi"
              ・
              ・

/etc/lilo.conf を編集したら、/sbin/lilo -v の実行を忘れずに。

GRUB の場合

/boot/grub/grub.lst (または、/boot/grub/grub.conf) に以下の記述を追加します。

    [例]
              ・
              ・
    title Linux
        root (hd0,0)
        kernel /vmlinuz root=/dev/hda3 hdc=ide-scsi
              ・
              ・

どちらの例も、ディスクパーティション、カーネルイメージなどは、ご自分の環境に読み替えてください。

モジュール設定

最後に、ロードモジュールの設定を行います。

/etc/modules.conf (もしくは、/etc/conf.modules) に以下のエントリを追加します。

              ・
              ・

    alias scd0 sr_mod
    alias scsi_hostadapter ide-scsi
    options ide-cd ignore=hdc

設定の確認

以上の設定により、リブート後は、hdc の CD-R(W) は、SCSI デバイスとして認識されるようになります。

どのように認識されているのかは、dmsg コマンドで確認できます。

    #dmesg
              ・
              ・
    end_request: I/O error, dev 16:40 (hdd), sector 64
    isofs_read_super: bread failed, dev=16:40, iso_blknum=16, block=32
    Attached scsi CD-ROM sr0 at scsi1, channel 0, id 0, lun 0
    Attached scsi CD-ROM sr1 at scsi1, channel 0, id 1, lun 0
    sr0: scsi3-mmc drive: 32x/32x writer cd/rw xa/form2 cdda tray
    Uniform CD-ROM driver Revision: 3.12
    sr1: scsi3-mmc drive: 52x/52x cd/rw xa/form2 cdda tray
    ISO 9660 Extensions: Microsoft Joliet Level 3
    ISO 9660 Extensions: RRIP_1991A
              ・
              ・
    #

また、cdrecord コマンドで、確認することもできます。

    #cdrecord -scanbus
    Cdrecord 2.0 (i686-pc-linux-gnu) Copyright (C) 1995-2002 J?g Schilling
    Linux sg driver version: 3.1.24
    Using libscg version 'schily-0.7'
    scsibus1:
        1,0,0	100) 'AOPEN   ' 'CD-RW CRW1232PRO' '1.30' Removable CD-ROM
        1,1,0	101) 'LG      ' 'CD-ROM CRD-8522B' '2.03' Removable CD-ROM
        1,2,0	102) *
        1,3,0	103) *
        1,4,0	104) *
        1,5,0	105) *
        1,6,0	106) *
        1,7,0	107) *
    #

上記の結果から、もともと /dev/hdc であった CD-R(W) ドライブが、/dev/scd0 として認識されていることがわかります。

また、SCSI デバイスとしては、1,0,0 として認識されていることもわかります。

Tips (Mount CD-R Drive)

CD-R(W) のデバイスファイルが、/dev/hdc から /dev/scd0 に変わっているので、mount コマンドを実行する場合には注意が必要です。

    変更前:
      #mount -t iso9660 /dev/hdc /mnt/cdrom

    変更後:
      #mount -t iso9660 /dev/scd0 /mnt/cdrom
		

さらに、/etc/fstab に CD-ROM のマウントに関する設定がある場合には、書き換えておいた方が良いでしょう。

この場合、デバイスファイルのシンボリックリンクを作っておくことをお勧めします。

    [例]
    デバイスファイルのシンボリックリンクを作成
      #ln -s /dev/scd0 /dev/cdr

    /etc/fstab のエントリの修正
    変更前:
      /dev/hdc              /mnt/cdrom              iso9660 noauto,owner,ro 0 0

    変更後:
      /dev/cdr              /mnt/cdrom              iso9660 noauto,owner,ro 0 0
		

上記のように変更しておけば、mount /dev/cdr または mount /mnt/cdrom とするだけでマウントできます。

また、デバイスファイルが変更になっても、シンボリックリンクの修正のみで対応できます。

cdrecord を使ってみる

コマンドラインから CD-R(W) を焼く

iso イメージの作成

cdrtools をインストールすると、mkisofs コマンドがインストールされています。

ここでは、例として、/usr/local/src 以下にダウンロードしてあるソースコードのアーカイブ (*.ta.bz2) を ISO9660 フォーマットに変換してみましょう。

    #mkdir ~/ISO
    #cd ISO
    #mkisofs -r -J -o image.iso /usr/local/src/*.tar.bz2
    Using SYLPH000.BZ2;1 for  /sylpheed-0.8.8.tar.bz2 (sylpheed-0.8.7.tar.bz2)
    Using SYLPH001.BZ2;1 for  /sylpheed-0.8.7.tar.bz2 (sylpheed-0.8.10.tar.bz2)
    Using SAMBA000.BZ2;1 for  /samba-2.2.7a-ja-1.0beta1.tar.bz2 (samba-2.2.5-ja-1.0beta3.tar.bz2)
    Using PROFT000.BZ2;1 for  /proftpd-1.2.8rc1.tar.bz2 (proftpd-1.2.7.tar.bz2)
    Using GFTP_000.BZ2;1 for  /gftp-2.0.14.tar.bz2 (gftp-2.0.13.tar.bz2)
    Using MPLAY000.BZ2;1 for  /MPlayer-0.90rc4.tar.bz2 (MPlayer-0.90rc2.tar.bz2)
     12.29% done, estimate finish Sat May 10 21:01:10 2003
     24.56% done, estimate finish Sat May 10 21:01:14 2003
     36.85% done, estimate finish Sat May 10 21:01:12 2003
     49.15% done, estimate finish Sat May 10 21:01:12 2003
     61.43% done, estimate finish Sat May 10 21:01:13 2003
     73.70% done, estimate finish Sat May 10 21:01:12 2003
     85.98% done, estimate finish Sat May 10 21:01:12 2003
     98.26% done, estimate finish Sat May 10 21:01:12 2003
    Total translation table size: 0
    Total rockridge attributes bytes: 2709
    Total directory bytes: 0
    Path table size(bytes): 10
    Max brk space used 8b84
    40720 extents written (79 Mb)
    #

それでは、できた image.iso が正しいかどうかを確認してみましょう。

適用なマウントポイントにマウントしてみると確認することができます。

    #mkdir ~/isoimage
    #mount -t iso9660 -o loop ~/ISO/image.iso ~/isoimage
    #cd ~/isoimage
    #ls -al
    合計 81309
    dr-xr-xr-x    2 root     root         6144  5月 10 21:01 .
    drwxr-x---   64 root     root         4480  5月 10 21:08 ..
    -r--r--r--    1 root     root      3121703  1月  8 07:32 MPlayer-0.90rc2.tar.bz2
    -r--r--r--    1 root     root      3390207  2月 15 20:22 MPlayer-0.90rc4.tar.bz2
    -r--r--r--    1 root     root      1584356  9月 14  2002 MesaLib-4.0.3.tar.bz2
    -r--r--r--    1 root     root       964222 10月 19  2002 TiMidity++-2.11.3.tar.bz2
    -r--r--r--    1 root     root       808216 12月  3 04:47 autoconf-2.56.tar.bz2
    -r--r--r--    1 root     root      9882367  9月  1  2002 binutils-2.13.tar.bz2
    -r--r--r--    1 root     root      1686219 12月 14 23:46 bluefish-0.7.tar.bz2
    -r--r--r--    1 root     root         4654  9月  1  2002 bwbar-1.2.tar.bz2
    -r--r--r--    1 root     root      2962392  9月  1  2002 cups-1.1.15-1-source.tar.bz2
    -r--r--r--    1 root     root       336396  9月 18  2002 fluxbox-0.1.12.tar.bz2
    -r--r--r--    1 root     root       325127  1月  3 19:03 fribidi-0.10.3.tar.bz2
    -r--r--r--    1 root     root       664229 10月  9  2002 gftp-2.0.13.tar.bz2
    -r--r--r--    1 root     root       784470 12月 14 11:18 gftp-2.0.14.tar.bz2
    -r--r--r--    1 root     root      9736877  1月  5 09:09 gimp-1.3.11.tar.bz2
    -r--r--r--    1 root     root      1510735  1月  5 09:14 glib-2.0.7.tar.bz2
    -r--r--r--    1 root     root      1849154 10月  4  2002 gnupg-1.2.0.tar.bz2
    -r--r--r--    1 root     root      2117742  5月  5 20:35 mikachanfontPS-8.8.tar.bz2
    -r--r--r--    1 root     root      2758255  9月 19  2002 php-4.2.3.tar.bz2
    -r--r--r--    1 root     root       646680 12月 14 11:16 proftpd-1.2.7.tar.bz2
    -r--r--r--    1 root     root       708241  1月  3 09:09 proftpd-1.2.8rc1.tar.bz2
    -r--r--r--    1 root     root     12393902 12月 24 18:22 qt-x11-free-3.1.1.tar.bz2
    -r--r--r--    1 root     root      7160186  9月  1  2002 samba-2.2.5-ja-1.0beta3.tar.bz2
    -r--r--r--    1 root     root      7193189  2月 22 16:00 samba-2.2.7a-ja-1.0beta1.tar.bz2
    -r--r--r--    1 root     root      1971996  2月  4 19:09 sylpheed-0.8.10.tar.bz2
    -r--r--r--    1 root     root      1955478 12月 20 17:46 sylpheed-0.8.7.tar.bz2
    -r--r--r--    1 root     root      1959172 12月 25 16:37 sylpheed-0.8.8.tar.bz2
    -r--r--r--    1 root     root      4764177  1月  8 07:46 w32codec.tar.bz2
    #cd
    #umount ~/isoimage

mkisofs のオプションは、man mkisofs で確認してください。

それでは、早速できたイメージを、CD-R(W) に焼いてみましょう。

cdrecord コマンドの実行

cdrecord のオプションは、man cdrecord で確認してください。

よく使うオプションのみ以下に列挙します。

    #cd ~/ISO
    #cdrecord -eject dev=1,0,0 speed=12 driveropts=burnproof image.iso
    Cdrecord 2.0 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jrg Schilling
    scsidev: '1,0,0'
    scsibus: 1 target: 0 lun: 0
    Linux sg driver version: 3.1.24
    Using libscg version 'schily-0.7'
    Device type    : Removable CD-ROM
    Version        : 0
    Response Format: 1
    Vendor_info    : 'AOPEN   '
    Identifikation : 'CD-RW CRW1232PRO'
    Revision       : '1.30'
    Device seems to be: Generic mmc CD-RW.
    Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
    Driver flags   : MMC SWABAUDIO BURNFREE
    Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R96R
    Starting to write CD/DVD at speed 12 in real TAO mode for single session.
    Last chance to quit, starting real write    0 seconds. Operation starts.
    Track 01: Total bytes read/written: 83394560/83394560 (40720 sectors).

-eject を指定しているので、書き込み終了時には CD-R が排出されます。

書き込んだ内容を確認してみましょう。

方法は、書き込んだ CD-R をドライブに入れて、マウントしてみるだけです。

    #mount -t iso9660 /dev/scd0 /mnt/cdrom
    #cd /mnt/cdrom
    #ls -al
    合計 81309
    dr-xr-xr-x    2 root     root         6144  5月 10 21:01 .
    drwxr-x---   64 root     root         4480  5月 10 21:08 ..
    -r--r--r--    1 root     root      3121703  1月  8 07:32 MPlayer-0.90rc2.tar.bz2
    -r--r--r--    1 root     root      3390207  2月 15 20:22 MPlayer-0.90rc4.tar.bz2
    -r--r--r--    1 root     root      1584356  9月 14  2002 MesaLib-4.0.3.tar.bz2
    -r--r--r--    1 root     root       964222 10月 19  2002 TiMidity++-2.11.3.tar.bz2
    -r--r--r--    1 root     root       808216 12月  3 04:47 autoconf-2.56.tar.bz2
    -r--r--r--    1 root     root      9882367  9月  1  2002 binutils-2.13.tar.bz2
    -r--r--r--    1 root     root      1686219 12月 14 23:46 bluefish-0.7.tar.bz2
    -r--r--r--    1 root     root         4654  9月  1  2002 bwbar-1.2.tar.bz2
    -r--r--r--    1 root     root      2962392  9月  1  2002 cups-1.1.15-1-source.tar.bz2
    -r--r--r--    1 root     root       336396  9月 18  2002 fluxbox-0.1.12.tar.bz2
    -r--r--r--    1 root     root       325127  1月  3 19:03 fribidi-0.10.3.tar.bz2
    -r--r--r--    1 root     root       664229 10月  9  2002 gftp-2.0.13.tar.bz2
    -r--r--r--    1 root     root       784470 12月 14 11:18 gftp-2.0.14.tar.bz2
    -r--r--r--    1 root     root      9736877  1月  5 09:09 gimp-1.3.11.tar.bz2
    -r--r--r--    1 root     root      1510735  1月  5 09:14 glib-2.0.7.tar.bz2
    -r--r--r--    1 root     root      1849154 10月  4  2002 gnupg-1.2.0.tar.bz2
    -r--r--r--    1 root     root      2117742  5月  5 20:35 mikachanfontPS-8.8.tar.bz2
    -r--r--r--    1 root     root      2758255  9月 19  2002 php-4.2.3.tar.bz2
    -r--r--r--    1 root     root       646680 12月 14 11:16 proftpd-1.2.7.tar.bz2
    -r--r--r--    1 root     root       708241  1月  3 09:09 proftpd-1.2.8rc1.tar.bz2
    -r--r--r--    1 root     root     12393902 12月 24 18:22 qt-x11-free-3.1.1.tar.bz2
    -r--r--r--    1 root     root      7160186  9月  1  2002 samba-2.2.5-ja-1.0beta3.tar.bz2
    -r--r--r--    1 root     root      7193189  2月 22 16:00 samba-2.2.7a-ja-1.0beta1.tar.bz2
    -r--r--r--    1 root     root      1971996  2月  4 19:09 sylpheed-0.8.10.tar.bz2
    -r--r--r--    1 root     root      1955478 12月 20 17:46 sylpheed-0.8.7.tar.bz2
    -r--r--r--    1 root     root      1959172 12月 25 16:37 sylpheed-0.8.8.tar.bz2
    -r--r--r--    1 root     root      4764177  1月  8 07:46 w32codec.tar.bz2
    #cd
    #umount /mnt/cdrom

どうでしょうか? ISO イメージ作成時に確認した結果と一致していますか?

一致していれば書き込み成功です。

X-CD-Roast を使ってみる

X-CD-Roast を使用しても、ISO イメージはコマンドから作成しなければなりません。

ここでは、先ほどコマンドラインから焼く例で使用した、image.iso を使用します。

まずは、X-CD-Roast を起動して、イメージ作成用のテンポラリディレクトリを指定します。(Fig.1->Fig.2->Fig.3)

それから、Master Tracks から、作成済みの ISO イメージを選択します。(Fig.4->Fig.5->Fig.6)

最後に、Write Tracks を実行します。(Fig.7->Fig.8->Fig.9)

作成した CD-R(W) の内容は、コマンドラインの時と同様に、マウントして中身を確認することができます。

コマンドラインで作成した CD-R(W) と中身が一致していましたか?

一致していれば、OK です。

一般ユーザで CD-R(W) を焼くことはお勧めしません

cdrtools をインストールした直後は、スーパーユーザしか cdrecord を使えません。

一般ユーザが実行できるようにするためには、cdrecord を root に setuid する必要があります。

setuid は使い方によっては、大変危険なのでここではお勧めしません。


$Id: howto.html,v 1.1.1.1 2004/07/10 10:46:40 yasumichi Exp $

Windows To Linux移行支援プロジェクトプロジェクト推薦アプリ集X-CD-Roast>使用方法