マスタからオーディオ CD やデータ CD を記録する
general options
]
dev= device
[
track options
]
track1 ... trackn
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
を使うことができる。
リモートの SCSI デバイスにアクセスするためには、
リモートのデバイスであることを示すインジケータを
SCSI デバイス名の前に付ける必要がある。
リモートデバイスのインジケータは
REMOTE: user@host:
または
REMOTE: host:
という形式である。
指定可能なリモート SCSI デバイス名は、
REMOTE: user@host:
または
REMOTE: user@host:1,0,0
という形式である。
1 つ目の形式では、リモートで SCSI デバイスのスキャンを行わせる。
2 つ目の形式では、
host
の SCSI bus # 1,target 0 lun 0 に接続されている
SCSI デバイスにアクセスする。
scsibus
0 はマシンのデフォルトの SCSI バスである。
マシンの SCSI 設定についてのより詳細な情報は、
ブート時のメッセージや
/var/adm/messages
を参照すること。
scsibus , target , lun
にどのような値を指定してよいか分らない場合は、
以下に記述されている
cdrecord
の
-scanbus
オプションを使ってみること。
Track At Once
モードでは、
各
track
はそのトラックのデータが書かれた個別のファイルに対応する。
引き数が
` - '
の場合は標準入力がトラックとして使われる。
この場合は
stdin
(標準入力) から 1 つのトラックだけが読み込まれる。
-version
-v
-V
debug= #, -d
-dd
を指定した場合、
debug= 2
と等しくなる。
libscg でドライバをオープンする際の問題や、
セクタサイズとセクタタイプの問題を発見するのに役立つ。
-debug
を使うと、処理が遅くなりバッファアンダーランの原因になるかもしれない。
kdebug= #, kd= #
-silent , -s
-force
-dummy
-dao
-multi
Sony
製のドライブはハードウェアが
CD-ROM XA mode 2
に対応していない。
このようなドライブでマルチセッションのディスクを作成するためには、
-data
オプションを指定しなければならない。
cdrecord はデータセクタをオーディオセクタに変換する
コーダーを備えていないので、
マルチセッションディスクを DAO/SAO モードで記録したい場合は、
-data
オプションをつけて
CD-ROM
セクタをマルチセッションにしなければならない。
全てのドライブがマルチセッション CD の DAO/SAO モードに対応している訳ではない。
-msinfo
-toc
-atip
-fix
-nofix
-waiti
-load
-eject
speed=#
speed
オプションを指定しない場合、
cdrecord
は環境変数
CDR_SPEED
から速度を取得する。
speed=2
または
speed=4
で問題がある場合、
speed=0
を試してみること。
blank= type
help
all
fast
track
unreserve
trtail
unclose
session
fs= #
fs=10x63k
は fifo のサイズを 630 kB に指定したことになる。
fs=
引き数で指定されたサイズには、管理に必要な共有メモリの分も含まれている。
このメモリの大きさは、少なくとも 1 ページである。
fs =
オプションが指定されていない場合、
cdrecord
は fifo のサイズを環境変数
CDR_FIFOSIZE
から取得する。
デフォルトの fifo サイズは、現在のところ 4 MB である。
fifo empty count
が 0 であるという表示がされる場合は、
ハードウェア上の問題がある。
この場合、fifo のサイズは充分である。
dev= target
CAM
をサポートしてない
FreeBSD
システムでは、
( /dev/rcd0.ctl
などの) 制御デバイスを使う必要がある。
この場合の正確なデバイス指定は、
dev= /dev/rcd0.ctl:@
である。
dev
オプションが指定されていない場合、
cdrecord
は環境変数
CDR_DEVICE
からデバイスを取得しようとする。
timeout= #
#
秒にする。
SCSI コマンドのデフォルトのタイムアウトは、
SCSI コマンドを送る際の最短タイムアウトとして使われる。
SCSI コマンドがタイムアウトにより失敗した場合、
タイムアウトの値を失敗したコマンドの
デフォルトのタイムアウトより長くすることができる。
タイムアウトを長くしてコマンドが正常に動作した場合は、
成功したときのタイムアウト時間とそのコマンドを、
このプログラムの著者に知らせて下さい。
timeout
オプションが指定されない場合、
デフォルトのタイムアウト 40 秒が使われる。
driver= name
driveropts= option list
-checkdrive
オプションと一緒に指定すること。
現在のところ、
burnproof
オプションのみが実装されている。
これは Sanyo BURN-Proof 技術を使っているドライブで、
バッファアンダーラン検証書き込み
(Buffer Underrun Proof writing) に対応するためのものである。
-checkdrive
-prcap
kB
のマークがあるものは、1000 バイトを kilo-byte とする。
また
KB
のマークがあるものは、1024 バイトを Kilo-byte とする。
-inq
-scanbus
-reset
-ignsize
-useinfo
defpregap =#
-packet
pktsize =#
-noclose
mcn=med_cat_nr
med_cat_nr
に設定する。
isrc=ISRC_number
ISRC_number
にする。
index= list
-audio
-data
と
-audio
がどちらも指定されていない場合、
cdrecord
は、ファイル名が
または
で終るときは
-audio
をデフォルトとし、
それ以外のときは
-data
をデフォルトとする。
-swab
-swab
フラグが必要になるのは、データストリームが
Intel (リトルエンディアン) バイトオーダーの場合のみである。
-swab
フラグが実際にトラックに指定されているかどうかは表示しない。
-data
-data
と
-audio
がどちらも指定されていない場合、
cdrecord
は、ファイル名が
または
で終るときは
-audio
をデフォルトとし、
それ以外のときは
-data
をデフォルトとする。
-mode2
-xa1
-xa2
-cdi
-isosize
stdin
から読み込む場合には、このオプションを使ってはならない。
今のところ -multi オプションが指定されている場合には、
ファイルシステムのサイズを決定するために、このオプションを使うことはできない。
-pad
-pad
がオーディオトラックを参照している場合、
cdrecord
はオーディオデータが 2352 バイトの倍数になるようにデータを埋め込む。
詰め込まれるオーディオデータはバイナリの 0 であり、
全くの無音状態と等しい。
padsize= #
padsize=
の値が 0 にリセットされる。
使用可能な引き数は
fs =
オプションを参照すること。
CD ドライブがトラックの最終セクタを読み込めない場合、
または ISO-9660 ファイルシステムの先読みバグがある
Linux
システム上で CD を読み込ませたい場合は、このオプションを使うこと。
空のファイルをトラックデータとして用いる場合、
このオプションは全てを 0 で埋めたディスクを作成するために使われる。
-nopad
-shorttrack
-noshorttrack
pregap =#
-preemp
-nopreemp
tsize=#
-isosize
オプションを使うこと。
TEAC プログラミングインターフェースを使ういくつかのドライブでは、
Disk at Once モードでも Track at Once モードでも
ディスクの書き込みを始める前に
cdrecord
が各トラックのサイズを知る必要がある。
今のところ cdrecord はサイズをチェックして、書き込みを始める前に中止する。
このような現象が起こった場合は、
mkisofs -print-size
を実行して、得られた結果を
cdrecord
の
tsize =
オプションの引き数として使うこと。
指定可能な引き数は
fs =
オプションを参照すること。
cdimage.raw
にあるデータを使って単純な CD-ROM を 2 倍速で記録する:
cdrecord -v speed=2 dev=2,0 cdimage.raw
Rock Ridge 拡張された ISO 9660 ファイルシステムのイメージを作成する:
mkisofs -R -o cdimage.raw /home/joerg/master/tree
Solaris で CD を書き込む前に上の結果のファイルを検査する:
mount -r -F fbk -o type=hsfs /dev/fbk0:cdimage.raw /mnt
Linux では:
mount cdimage.raw -r -t iso9660 -o loop /mnt
以下のように続ける:
ls -lR /mnt
umount /mnt
システム全体のスピードが充分で、
ファイルシステムの構造がそれほど複雑でない場合、
cdrecord は ISO 9660 ファイルシステムのイメージを作成せずに実行できる。
単純にパイプラインで実行すればよい:
mkisofs -R /master/tree | cdrecord -v fs=6m speed=2 dev=2,0 -
このパイプラインを実行するために推奨される最小の fifo サイズは 4 MB である。
デフォルトの fifo サイズは 4 MB であるので、
別の fifo サイズを指定したい場合以外は
fs=
オプションを指定する必要はない。
システムに負荷がかかっている場合は、
mkisofs もリアルタイムクラスで実行すべきである。
mkisofs
の優先度を上げるためには、コマンド
mkisofs -R /master/tree
XXX
は先に実行した mkisofs の出力で置き換える。
オーディオ CD を最も正確な方法で複製するには、
最初に
cdda2wav -v255 -D2,0 -B -Owav
を実行し、次に
cdrecord -v dev=2,0 -dao -useinfo *.wav
を実行する。
CDR_DEVICE
CDR_SPEED
CDR_FIFOSIZE
/etc/default/cdrecord
CDR_DEVICE
CDR_SPEED
CDR_FIFOSIZE
その他のラベル
speed
と
fifosize
の値を -1 に設定すると、cdrecord はグローバルのデフォルト値を使う。
典型的な例としては以下のようものである:
teac1
という名前のドライブが scsibus 0, target 5, lun 0 にあり、
速度を 4 倍速、FIFO サイズを 8 MB にすることを指示する。
2 番目のドライブは scsibus 1, target 6, lun 0 にあり、
デフォルトの速度とデフォルトの FIFO サイズを使う。
cdburners
グループに追加する。
ディスクの読み込み・書き出し・フォーマットを
全てのユーザーに許可したい場合を除き、
root 以外のユーザーに
/dev/scg?
への書き込みを許可してはならない。
CD レコーダや読み込み元のディスクが接続された SCSI バスに、
切断や再接続に対応していない昔のディスクを接続するべきではない。
CD には 99 トラック以上は入らない。
オーディオトラックとデータトラックが両方入ったディスクを作成する場合は、
データをトラック 1 に入れるべきである。
そうでなければ CDplus ディスクを作成するべきである。
CDplus は、最初のセッションがオーディオトラックで、
以降のセッションがデータトラックになったマルチセッションディスクである。
多くの OS ではデータトラックが 1 つしか読み出せない。
また読むためには特別のソフトが必要である。
HP 製 CD レコーダの SCSI コマンドセットについての
詳しい情報は以下で入手できる。
http://www.hp.com/isgsupport/cdr/index.html
もっと詳しい情報や、現在対応していないCD レコーダの
SCSI コマンドマニュアルがあったら、著者に連絡してください。
Philips CDD 521 にはファームウェアのバグがある。
(アップグレードされたものにもある)。
これらうちのいくつかは、デバイスの電気の周波数を
ある固定のものにしなければならず、
そうしない場合にはマシンをリブートしなければならない。
壊れた
Linux SCSI generic driver
で
cdrecord
を使う場合、
cdrecord
は scg ドライバの機能をエミュレートを試みるという対処療法を使う。
不幸なことに、
Linux
の sg ドライバには以下のような酷いバグがある:
bu
bu
bu
bu
bu
cdrecord: 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 行目は、そのコマンドについて設定されたタイムアウトと、
実際にコマンドが完了するまでにかかった時間が表示される。
以下のメッセージはエラーではない:
Track 01: Total bytes read/written: 2048/2048 (1 sectors). cdrecord: I/O error. flush cache: scsi sendcmd: no error CDB: 35 00 00 00 00 00 00 00 00 00 status: 0x2 (CHECK CONDITION) Sense Bytes: F0 00 05 80 00 00 27 0A 00 00 00 00 B5 00 00 00 00 00 Sense Key: 0x5 Illegal Request, Segment 0 Sense Code: 0xB5 Qual 0x00 (dummy data blocks added) Fru 0x0 Sense flags: Blk -2147483609 (valid) cmd finished after 0.002s timeout 40s
Bill Swartz (Bill_Swartz@twolf.com)
Aaron Newsome (aaron.d.newsome@wdc.com)
Eric Youngdale (eric@andante.jic.com)
Gadi Oxman (gadio@netvision.net.il)
Finn Arne Gangstad (finnag@guardian.no)
Dave Platt (dplatt@feghoot.ml.org)
Chris P. Ross (cross@eng.us.uu.net)
Grant R. Guenther (grant@torque.net)
Kenneth D. Merry (ken@kdm.org)
subscribe
と書いたメールを
へ送って、cdwriting メーリングリストに入ることができる。
other-cdwrite-request@lists.debian.org
がメーリングリストのアドレスである。
other-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 を参照すること。