Vine Linux 3.1 など最近のカーネルでは SCSIエミュレーションを経由しなくてもATAPI接続のCD-RWを使うことができます。 この記事は参考にしないこと。
PLEXTORのATAPI接続の 内蔵CD-RWであるPX-W1210Aを買って来ました。 ついでにVine2.1を入れました。 これまで使って来たSCSI接続のCD-Rはブートアップできませんでしたが、 新しいCD-RWでCDブート。 Vine2.1ではVine2.0と違い、使っているNIC(Planex FNW9800T/ドライバはtulip.o)も、 グラフィックカード(ATIのAll-In-Wonder 128/ドライバはXFree86-SVGA)も自動認識し、 すんなりインストールできました。
CD-R(W)とし ての設定はややこしいぞ!とい うことで以下にまとめておきました。
Vine Linux 3.1 など最近のカーネルでは直接ATAPI接続のCD-RWを使うことができ、以下のようなことは不要。
$ cat /etc/lilo.conf boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 message=/boot/message append="apm=on hdc=ide-scsi" ...hdcのところは、私の場合secondaryのmasterにCD-RWドライブを入れたのでこ うしました。 primary-slaveの場合はhdb, secondary-slaveはhddです。 あらかじめappendの行があったのでそこに追記しましたが、無ければばまるまる一行を新たに書いてください(append="hdc=ide-scsi")。 実際にliloにこれを反映させるには
# /sbin/liloを忘れずに。
$ cat /etc/conf.modules ... # ATAPI CD-RW #alias scsi_hostadapter ide-scsi # これも無くてよいようです。 alias block-major-11 ide-scsi # options ide-cd ignore=hdc # このオプションは効かないみたいですね。前項でliloに設定済。 # alias scd0 sr_mod # Vineではsr_modを組み込んでいるので不要? いや、要るのかな? pre-install sg modprobe ide-scsi pre-install sr_mod modprobe ide-scsi # pre-install ide-scsi modprobe ide-cd # Vineではide-cdを組み込んでいるので不要 # post-install ide-scsi hdparm -d 0 /dev/hdc # DMAまわりで不都合があればこれを試してください。
# rm /dev/cdrom # ln -s /dev/scd0 /dev/cdrom
# eject /mnt/cdromdmesgの最後のほうに次のようなものが現れているはず。
# dmesg | tail ... scsi1 : SCSI host adapter emulation for IDE ATAPI devices scsi : 2 hosts. Vendor: PLEXTOR Model: CD-R PX-W1210A Rev: 1.05 Type: CD-ROM ANSI SCSI revision: 02 Detected scsi CD-ROM sr0 at scsi1, channel 0, id 0, lun 0 sr0: scsi3-mmc drive: 32x/32x writer cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.11 VFS: Disk change detected on device sr(11,0)
SCSIエミュレーションを使う場合は pam に細工をしないと非特権ユーザーで使用するときに不都合が起きる場合があります。 次のようにPAMの設定をしておくと便利です。 SCSIエミュレーションを使わない場合は不要です。
/etc/security/console.perms を編集、<cdrom>の最後に /dev/sg* を追加します。
<cdrom>=/dev/cdrom* /dev/cdroms/* /dev/cdwriter* /mnt/cdrom* /dev/sg*
変更後いったんログアウト、再度ログインを2度ばかり繰り返して /dev/sga などの所有者がログインしたユーザーになっているか確認しておきます。
$ rpm --rebuild cdrecord-*.src.rpm $ cd ~/rpm/RPMS/i386 $ su # rpm -ivh cdrecord-*.i386.rpmこのあと同じくrootで次のコマンドを入れるとディバイス番号が得られます。例えば
# cdrecord -scanbus
scsibus0:
0,0,0 0) 'PLEXTOR ' 'CD-R PX-W1210A' '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) *
$ rpm --rebuild xcdroast-*.src.rpm $ cd ~/rpm/RPMS/i386 $ su # rpm -ivh xcdroast-*.i386.rpm
# mkdir /tmp/cdr # chmod 777 /tmp/cdrxcdroastはまずrootで実行して実行許可を与えるホストやユーザーなどを設定します。