SCSIエミュレーション
SCSIエミュレーションとは
- SCSIエミュレーションは、ATAPI(IDE)接続の機器(CD-ROM/R/R/W等)をSCSI機器としてで使える様にするための技術です。SCSIエミュレーションを利用すると、ATAPI(IDE)接続の機器を使ってSCSI機器を前提にしたアプリケーションを動かす事が出来る様になります。
- 例えば、MP3作成のためのリッパー「cdda2wav」とか、CD-R作成ソフト「cdrecord」等が利用できる様になります。
SCSIエミュレーションのインストール
- SCSIエミュレーションのためには、以下のドライバモジュールがカーネル組込みか、モジュールとして組込まれる必要があります。組込み状況は、/usr/src/linuxディレクトリに移動して「make xconfig」コマンドを実行すると「Linux Kernel Configuration」画面で確認します。Red Hat Linux7Jでは、以下の様になっていました。ここで、「m」はモジュール組込で、「y」はKernel組込みを示しています。
- BLOCK device 設定
設定項目 |
モジュール名 |
組込み状況 |
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support |
ide |
y |
Include IDE/ATAPI CDROM support |
ide-cd |
m |
SCSI emulation support |
ide-scsi |
m |
- SCSI support 設定
設定項目 |
モジュール名 |
組込み状況 |
SCSI support |
scsi_mod |
y |
SCSI CD-ROM support |
sr_mod |
y |
SCSI generic support |
sg |
m |
- 上記で、モジュール組込み「m」となっているモジュールを組込むため、/etc/rc.d/rc.localに下記を追加します。
modprobe ide-cd
modprobe ide-scsi
modprobe sg
- CD-ROMをIDEデバイスとして認識しない様にするため、lilo.confに下記を追加します。lilo.confの全体はこちらを参照して下さい。
append="hdc=idc-scsi hdd=idc-scsi"
- CD-ROMのシンボリックリンクをIDEからSCSIデバイスに変更します。通常は、cdromのみでいいはずです。私のマシンでは、なぜか使用していないcdrom1も認識される現象があり、cdrom1も追加しています。経緯については、linux-usersメーリングリストのこのスレッドを参照して下さい。
#rm /dev/cdrom <- /dev/hdcからリンクしていたもの
#rm /dev/cdrom1 <- /dev/hddからリンクしていたもの
#ln -s /dev/scd0 /dev/cdrom
#ln -s /dev/scd1 /dev/cdrom1
インストール後の確認
- 再起動後、dmesgコマンドでSCSIデバイスとして認識されている事を確認します。
# dmesg
Linux version 2.2.16-22 (root@porky.devel.redhat.com) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Tue Aug 22 16:49:06 EDT 2000
Detected 736036 kHz processor.
ide_setup: hdc=ide-scsi <-LILOで設定した部分
ide_setup: hdd=ide-scsi <-LILOで設定した部分
(途中略)
ncr53c8xx: at PCI bus 0, device 10, function 0
ncr53c8xx: 53c815 detected
ncr53c815-0: rev=0x04, base=0xdf800000, io_port=0xb800, irq=5
ncr53c815-0: ID 7, Fast-10, Parity Checking
ncr53c815-0: restart (scsi reset).
scsi0 : ncr53c8xx - version 3.2a-2 <-こちらは本物のSCSIボード
scsi : 1 host.
(途中略)
scsi1 : SCSI host adapter emulation for IDE ATAPI devices <-SCSIエミュレーションで認識
scsi : 2 hosts. <-本来は1となるべきところ
Vendor: MATSHITA Model: CD-RW CW-7585 Rev: 1.04 <-認識されたCD-ROM
Type: CD-ROM ANSI SCSI revision: 02
Detected scsi CD-ROM sr0 at scsi1, channel 0, id 0, lun 0
hdd: status error: status=0x01 { Error } <-なぜか認識される2台目のデバイス
hdd: status error: error=0x04
ide-scsi: Strange, packet command initiated yet DRQ isn't asserted
(途中略)
sr0: scsi3-mmc drive: 8x/32x writer cd/rw xa/form2 cdda tray
- mountコマンドでCD-ROMがマウントできる事を確認します。
# mount -t iso9660 -r /dev/cdrom /mnt/cdrom
- cdrecordコマンドがインストールされていれば接続状態が確認できます。cdrecordコマンドは、Red Hat Linux7Jではフルインストールしていれば組込まれています。
# cdrecord -scanbus
Cdrecord 1.9 (i686-pc-linux-gnu) Copyright (C) 1995-2000 Jg Schilling
Linux sg driver version: 2.1.38
Using libscg version 'schily-0.1'
scsibus1:
1,0,0 100) 'MATSHITA' 'CD-RW CW-7585 ' '1.04' Removable CD-ROM
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) *
1,6,0 106) *
1,7,0 107) *
トップへもどる
Copyright (c) 2000 Hiroshi Nakamura. All rights reserved.
|
|