データ CD を読み出す・書き込む
options
]
device
は CD レコーダの
scsibus / target / lun
を指す。
SunOS
での通信は汎用 SCSI ドライバ
scg
を用いて行われる。
他の OS では、このドライバをシミュレートするライブラリを使う。
使用可能な書式は、
dev=
scsibus , target , lun
または
dev=
target , lun
である。
後者の場合、CD-R はマシンのデフォルトの SCSI バスに
接続されていなければならない。
scsibus ,
target ,
lun
は整数である。
OS や SCSI 転送の実装のなかには、これに加えてデバイスファイル名を
指定しなければならないものもある。
この場合の正しい書式は、
dev=
devicename : scsibus , target , lun
または
dev=
devicename : target , lun
である。
このようなシステムでは、指定されたデバイスノード名が
1 つの SCSI デバイスのみを参照している場合、
dev=
devicename : scsibus , target , lun
の代わりに、省略形の
dev=
devicename : @
または
dev=
devicename : @ , lun
を使うことができる。
host
の SCSI bus # 1,target 0 lun 0 に接続されている
SCSI デバイスにアクセスする。
scsibus
0 はマシンのデフォルトの SCSI バスである。
マシンの SCSI 設定についてのより詳細な情報は、
ブート時のメッセージや
/var/adm/messages
を参照すること。
scsibus , target , lun
にどのような値を指定してよいか分らない場合は、
cdrecord
の
-scanbus
オプションを使ってみること。
dev=
以外のオプションが何も指定されていない場合、
readcd
は対話モードになる。
対話モードでは、主要な機能を選択した後、指示に従って操作する。
-version
dev= target
CAM
をサポートしてない
FreeBSD
システムでは、
( /dev/rcd0.ctl
などの) 制御デバイスを使う必要がある。
この場合の正確なデバイス指定は、
dev= /dev/rcd0.ctl:@
である。
dev
オプションが指定されていない場合、
cdrecord
は環境変数
CDR_DEVICE
からデバイスを取得しようとする。
timeout= #
#
秒にする。
SCSI コマンドのデフォルトのタイムアウトは、
SCSI コマンドを送る際の最短タイムアウトとして使われる。
SCSI コマンドがタイムアウトにより失敗した場合、
タイムアウトの値を失敗したコマンドの
デフォルトのタイムアウトより長くすることができる。
タイムアウトを長くしてコマンドが正常に動作した場合は、
成功したときのタイムアウト時間とそのコマンドを、
このプログラムの著者に知らせて下さい。
timeout
オプションが指定されない場合、
デフォルトのタイムアウト 40 秒が使われる。
debug= #, -d
-dd
を指定した場合、
debug= 2
と等しくなる。
libscg でドライバをオープンする際の問題や、
セクタサイズとセクタタイプの問題を発見するのに役立つ。
-debug
を使うと、処理が遅くなりバッファアンダーランの原因になるかもしれない。
kdebug= #, kd= #
-silent , -s
-v
-V
f= file
-w
sectors= range
-notrunc
cdimage.raw
にデータを書き出す:
readcd dev=2,0 f=cdimage.raw
CD-ROM のセクタ範囲 150 〜 10000 を読み出して、ファイル
cdimage.raw
に書き出す:
readcd dev=2,0 sectors=150-10000 f=cdimage.raw
ファイル
cdimage.raw
のデータ (例えば、
mkisofs
で作成したファイルシステムイメージ) を DVD-RAM に書き出す:
readcd dev=2,0 -w f=cdimage.raw
cdburners
グループに追加する。
ディスクの読み込み・書き出し・フォーマットを
全てのユーザーに許可したい場合を除き、
root 以外のユーザーに
/dev/scg?
への書き込みを許可してはならない。
CD レコーダや読み込み元のディスクが接続された SCSI バスに、
切断や再接続に対応していない昔のディスクを接続するべきではない。
壊れた
Linux SCSI generic driver
で
readcd
を使う場合、
readcd
は scg ドライバの機能をエミュレートを試みるという対処療法を使う。
不幸なことに、
Linux
の sg ドライバには以下のような酷いバグがある:
bu
bu
bu
bu
bu
readcd: I/O error. test unit ready: scsi sendcmd: no error CDB: 00 20 00 00 00 00 status: 0x2 (CHECK CONDITION) Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00 Sense Key: 0x5 Illegal Request, Segment 0 Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0 Sense flags: Blk 0 (not valid) cmd finished after 0.002s timeout 40s
copy
の場合にのみ、セグメント番号が続く。
エラーメッセージが現在のコマンドに直接関係していない場合、
deferred error
という文字列が表示される。
6 行目は sense code のエラー文字列である。
存在する場合には sense qualifier も表示される。
デバイスのタイプが既知の場合、
sense data は
scsierrs.c
にあるテーブルを用いてデコードされる。
その文字列の後には field replaceable unit についてのエラー値が続く。
7 行目には、失敗したコマンドに関連したブロック番号と
エラーフラグ文字列が表示される。
ブロック番号は有効ではないかも知れない。
8 行目は、そのコマンドについて設定されたタイムアウトと、
実際にコマンドが完了するまでにかかった時間が表示される。
subscribe
と書いたメールを
へ送って、cdwriting メーリングリストに入ることができる。
other-cdwrite-request@lists.debian.org
がメーリングリストのアドレスである。
cdwrite@lists.debian.org
J\*org Schilling Seestr. 110 D-13353 Berlin Germanyその他の情報は以下で入手できる。 http://www.fokus.gmd.de/usr/schilling/cdrecord.html サポートに関する質問は、 cdrecord-support@berlios.de または other-cdwrite@lists.debian.org にメールを送ってください。 明らかなバグを見付けた場合は、 cdrecord-developers@berlios.de または schilling@fokus.gmd.de にメールを送ってください。 メーリングリストを購読するには、 http://lists.berlios.de/mailman/listinfo/cdrecord-developers または http://lists.berlios.de/mailman/listinfo/cdrecord-support を参照すること。