How to install free softwares in Linux

last update: 29 Sep 2004

home |index |previous |next |contents

CD-Writerの設定



ATAPIのCD-Writerを入手したので、早速CDを焼いてみることにします。
5.1 諸注意

    5.1.1 機材について

    基本的にATAPIのCD-Writerであれば、ほぼ問題なくLinux上で動作するようです。

    因みに今回入手したのは、JVCのCD-R/RW Drive Unit: XR-RW2224で、 1999年年末に秋葉原で12000円弱で購入しました。 他の機種が20000円内外だったので、動作に関してリスクを感じましたが、 結果的には安い買物でした。

    5.1.2 Kernelのバージョン

    2.0.31以前のkernelではコマンド:mkisofsに不具合が発生しますので、 2.0.32以上か、2.2.x系のkernelで使用して下さい。

    5.1.3 SCSIのCD-Writerの場合

    SCSIのCD-Writerの場合は、CDを焼くツール(cdrecord)にpatchを当てたり、 カーネルの設定が多少変わったりしますので、 Linux-Documentation-Projectの文書(CD-Writing-HOWTO)などを参照してください。
5.2 ソフトの入手
5.3 インストール
インストールはいたって簡単です。
適当なディレクトリにcdrecordを展開します。 今回は/usr/local/srcとします。
    % cd /usr/local/src
    % gzip -cd cdreocrd-1.8a37.tar.gz | tar xvf -
    % cd cdrecord-1.8

ディレクトリcdrecord-1.8に移動し、 実行ファイル群(cdrecord, mkisofs, cdda2wav) をインストールするディレクトリを指定するために ファイル~/DEFAULTS/Defaults.linuxを編集します。
今回は/usr/local/bin以下にインストールするので、 項目"INS_BASE"にディレクトリ:/usr/localを指定します。
INS_BASE= /usr/local
とすることで、 /usr/local以下のサブディレクトリ:binにインストールされます。

INS_BASE= /usr/local

~/DEFAULTS/Defaults.linuxの編集


"make"と"make install"を行ないます。
    % make
    % su
    passwd:****
    % make install

5.4 準備

    5.4.1 カーネルの再構築

    カーネルを以下のオプションを有効にして再構築します。
    注: ドキュメントなどではモジュール(M)で設定することも出来るとかかれていますが、 今回試したところうまく動作しませんでした。
    そこで、今回は全てのオプションをカーネル内部に取り込むことにします。 つまりconfig時に(YES)を選択します。
    セクション 説明 IDE
    BLOCK Enhanced IDE/MFM/RLL... Y
    BLOCK IDE/ATAPI CDROM Y (M)
    BLOCK SCSI hostadaptor emulation Y (M)
    BLOCK Loopback device Y (M)
    SCSI SCSI support Y (M)
    SCSI SCSI CD-ROM support Y (M)
    SCSI Enable vendor-specific Y
    SCSI SCSI generic support Y (M)
    FS ISO 9660 CDROM filesystem Y

    カーネルの再構築が終了したら、出来上がったカーネルを ディレクトリ:/に、たとえば"/bzImage-cdrw"としてコピーします。
      % cp /usr/src/linux/arch/i386/boot/bzImage /bzImage.cdrw

    次にkernel起動時のオプションを設定するために/etc/lilo.confの編集を行ないます。
    CD-Writerを使用するときのカーネルの設定部分を追加して下さい。 imageを"bzImage.cdrw"、 カーネル起動時のオプションとして"hdc=ide-scsi"をappendするように設定します。
    boot = /dev/hda
    message = /boot/boot_message.txt
    prompt
    timeout = 50
    vga = normal
    
    # 通常のブートカーネル
    image = /bzImage
      root = /dev/hda3
      label = liunx
      read-only
    
    # CD-Writerを使用するときのカーネル
    image = /bzImage.cdrw
      append="hdc=ide-scsi"
      label = liunx-cdrw
    

    /etc/lilo.confの設定


    ここで一旦システムをrebootして、 再起動時にはカーネル"/bzImage.cdrw"を立ち上げて下さい。
    再起動時にboot:というプロンプトが表示されたら、TABキーを押し、つぎに "liunx-cdrw"と入力する。 ("liunx-cdrw"はカーネル"bzImage.cdrw"のLabel名)

    5.4.2 設定の確認

    CD-Writer対応のカーネルが起動されたら、 次にCD-Writerドライブが認識されたかどうか確認します。
    root権限でコマンド"cdrecord -scanbus"を実行して下さい。
      % cdrecord -scanbus
      Cdrecord release 1.8a37 Copyright (C) 1995-1999 J g Schilling
      scsibus0:
      0,0,0 0) 'RWD ' 'RW2224 ' '2.50' 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) *

    上記のように、ドライブが認識されればOKです。

    もしも認識されない場合には、Kernelのオプションや/etc/lilo.confなどを再確認して下さい。

5.5 書き込み
それでは実際にCDに書き込みます。

ここでは、CDを有効に使うために、1枚のCDに追加書き込みを行なう方法(マルチセッション:multi-seccion)を説明します。

    5.5.1 最初の書き込み

    以下にCDにデータを書き込む方法を示します。適宜、自身の環境に読み換えてください。

    ここではCDに書き込むディレクトリを/home/pub以下とします。 このとき、作業用のディレクトリ -- ここでは/home/cdwrite --を作り、 一時的に/home/pubを作業用ディレクトリ以下に移動します。

      % cd /home
      % mkdir /home/cdwrite
      % mv ./pub cdwrite

    次にコマンド"mkisofs"を使って~/cdwriteディレクトリ以下のデータについて iso9660形式のファイルを生成します。
    この際、生成されるファイルはディレクトリ以下全てのデータ量と同量になりますので、 十分なディスクスペースが必要です。
    注: mkisofsは"-R"を指定して下さい。"-r"は*絶対に指定しないで下さい*

      % pwd
      /home
      % mkisofs -R -o data01 cdwrite/

    ファイルdata01が生成されたら、 ファイルの中身を検査します。この操作は必須ではありません。 ファイルを/mntなど適当なディレクトリにmountして データが正確に生成されたか否か検査します。
      % mount -t iso9660 -o ro,loop=/dev/loop0 data01 /mnt

    いよいよCDを焼く事にします。以下のコマンドを実行して下さい。 ここで"dev"に与える値は"cdrecord -scanbus"で調べたデバイス番号です。
      % cdrecord -v speed=1 dev=0,0,0 -data -multi data01

    CDを焼いている最中は、物理的な振動を与えてはいけません。 またマシンに余分な負荷をかけないように不要な処理を行なわないようにします。
    書き込まれたCDには以下のようにデータが書き込まれています。
      % mount -t iso9660 /dev/scd0 /cdrom
      % ls /cdrom
      pub

    5.5.2 (2度目以降)追加の書き込み

    次にCDにデータを追加する方法を説明します。
    追加でCDに書き込むディレクトリを/home/user以下とします。 このとき、作業用のディレクトリに 一時的に/home/userを作業用ディレクトリ以下に移動します。
      % cd /home
      % mv ./user cdwrite

    ここで、これからデータを書き込むCD-RWディスクのセクタ情報を調べます。
      % cdrecord -msinfo dev=0,0,0
      0,21794

    次にコマンド"mkisofs"を使って~/cdwriteディレクトリ以下のデータについて iso9660形式のファイルを生成します。
    ここで、"-C"オプションには "cdrecord -msinfo dev=0,0,0"コマンドで表示された値を設定します。

    注: "-r"は*絶対に指定しないで下さい*

      % mkisofs -R -o data2 -C 0,21794 -M /dev/scd0 cdwrite

    最後にデータをCDに書き込みます。
      % cdrecord -v speed=1 dev=0,0,0 -data -multi data2

    書き込まれたCDには以下のようにデータが書き込まれています。
      % mount -t iso9660 /dev/scd0 /cdrom
      % ls /cdrom
      pub user


home |index |previous |next |contents


since 04/Oct/2004