1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530
|
.\" @(#)cdrecord.1 1.57 01/04/17 Copyright 1996 J. Schilling
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
.\" USA.
.\"
.\" Japanese Version Copyright (c) 2001 Yuichi SATO
.\" all rights reserved.
.\" Translated Sun Nov 25 18:34:39 JST 2001
.\" by Yuichi SATO <ysato@h4.dion.ne.jp>
.\"
.if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a
.if t .ds o \v'-0.55m'\h'0.00n'\z.\h'0.45n'\z.\v'0.55m'\h'-0.45n'o
.if t .ds u \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'u
.if t .ds A \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'A
.if t .ds O \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'O
.if t .ds U \v'-0.77m'\h'0.30n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.75n'U
.if t .ds s \\(*b
.if t .ds S SS
.if n .ds a ae
.if n .ds o oe
.if n .ds u ue
.if n .ds s sz
.TH CDRECORD 1 "Version 1.10" "J\*org Schilling" "Schily\'s USER COMMANDS"
.SH 名前
cdrecord \- マスタからオーディオ CD やデータ CD を記録する
.SH 書式
.B cdrecord
[
.I "general options
]
.BI dev= device
[
.I track options
]
.IR track1 .\|.\|. trackn
.SH 説明
.B cdrecord
は Orange Book CD-Recorder で
データ CD やオーディオ CD を記録するために使う。
.PP
.I device
は CD レコーダの
.IR scsibus / target / lun
を指す。
.I SunOS
での通信は汎用 SCSI ドライバ
.B scg
を用いて行われる。
他の OS では、このドライバをシミュレートするライブラリを使う。
使用可能な書式は、
.B dev=
.IR scsibus , target , lun
または
.B dev=
.IR target , lun
である。
後者の場合、CD-R はマシンのデフォルトの SCSI バスに
接続されていなければならない。
.IR scsibus ,
.IR target ,
.I lun
は整数である。
OS や SCSI 転送の実装のなかには、これに加えてデバイスファイル名を
指定しなければならないものもある。
この場合の正しい書式は、
.B dev=
.IR devicename : scsibus , target , lun
または
.B dev=
.IR devicename : target , lun
である。
このようなシステムでは、指定されたデバイスノード名が
1 つの SCSI デバイスのみを参照している場合、
.B dev=
.IR devicename : scsibus , target , lun
の代わりに、省略形の
.B dev=
.IR devicename : @
または
.B dev=
.IR devicename : @ , lun
を使うことができる。
.PP
リモートの SCSI デバイスにアクセスするためには、
リモートのデバイスであることを示すインジケータを
SCSI デバイス名の前に付ける必要がある。
リモートデバイスのインジケータは
.BI REMOTE: user@host:
または
.BI REMOTE: host:
という形式である。
.br
指定可能なリモート SCSI デバイス名は、
.BI REMOTE: user@host:
または
.BI REMOTE: user@host:1,0,0
という形式である。
1 つ目の形式では、リモートで SCSI デバイスのスキャンを行わせる。
2 つ目の形式では、
.I host
の SCSI bus # 1,target 0 lun 0 に接続されている
SCSI デバイスにアクセスする。
.PP
.B cdrecord
を全ての \s-2UNIX\s0 系プラットフォームで汎用的にするためには、
.B dev=
.IR devicename : scsibus , target , lun
という書式が好ましい。
これによりデバイスについての各 OS 特有の知識を
ユーザーに対して隠蔽することができる。
またこれにより、実際のデバイスファイル名や
.IR scsibus , target , lun
を指定する方法を、特定の OS 上でサポートする必要がなくなる。
.PP
.I scsibus
0 はマシンのデフォルトの SCSI バスである。
マシンの SCSI 設定についてのより詳細な情報は、
ブート時のメッセージや
.B /var/adm/messages
を参照すること。
.IR scsibus , target , lun
にどのような値を指定してよいか分らない場合は、
以下に記述されている
.B cdrecord
の
.B \-scanbus
オプションを使ってみること。
.PP
ファイル /etc/default/cdrecord が存在する場合、
.B dev=
のパラメータはこのファイル中のドライブ名ラベルにもなる
(「ファイル」セクションを参照)。
.PP
.B SVr4
互換のシステムでは、
.B cdrecord
はリアルタイムクラスを使い、
可能な限りスケジューリング優先度を高くする
(全てのカーネルプロセスより優先度を高くする)。
\fBPOSIX リアルタイムスケジューリング\fR
を備えたシステムでも、
cdrecord はリアルタイムスケジューリングを使う。
ただし、カーネルプロセスより高い優先度は得られない。
.PP
.I Track At Once
モードでは、
各
.I track
はそのトラックのデータが書かれた個別のファイルに対応する。
引き数が
.RB ` \- '
の場合は標準入力がトラックとして使われる。
この場合は
.I stdin
(標準入力) から 1 つのトラックだけが読み込まれる。
.SH 一般的なオプション
.PP
一般オプションはトラックファイル名や
トラックオプションより前に指定しなければならない。
.TP
.B \-version
バージョン情報を表示して、終了する。
.TP
.B \-v
一般的な表示の詳細度を 1 つ上げる。
例えば、書き込み処理の進捗状況を表示するために使われる。
.TP
.B \-V
SCSI コマンド転送に関する表示の詳細度を 1 つ上げる。
CD レコーダにおける書き込み処理での問題をデバックするのに役立つ。
簡単なエラーメッセージしか表示されない場合は、
このフラグを使って詳細な表示を行わせることができる。
.B \-VV
を指定すると、データバッファの内容も表示される。
.B \-V
や
.B \-VV
を使うと、処理が遅くなりバッファアンダーランの原因になるかもしれない。
.TP
.BI debug= "#, " -d
(debug=# を使って) その他のデバッグレベルを # に設定する。
または (-d を使って) デバッグレベルを 1 つ上げる。
.I -dd
を指定した場合、
.BI debug= 2
と等しくなる。
libscg でドライバをオープンする際の問題や、
セクタサイズとセクタタイプの問題を発見するのに役立つ。
.B \-debug
を使うと、処理が遅くなりバッファアンダーランの原因になるかもしれない。
.TP
.BR kdebug= "#, " kd= #
.B scg
ドライバに対して、SCSI コマンドを動作させているときの
カーネルデバッグレベルを変更させる。
.TP
.BR \-silent ", " \-s
SCSI コマンドが失敗したときの状況報告を表示させない。
.TP
.B \-force
エラーが起こった場合でも処理を続行させる。
このオプションは、壊れた CD-RW ディスクを空にできるように、
いくつかのトリックを使って実装している。
.TP
.B \-dummy
記録プロセスの全ての段階を CD レコーダに行わせるが、
処理中にレーザーをオフにしておく。
システムにおけるタイミングと負荷がかかった場合の応答が不明な場合は、
実際に CD に書き込む前に何回かテストしておくことを薦める。
.TP
.B \-dao
\fBDisk At Once モード\fRに設定する。
今のところ、non raw
.B "Session At Once"
モードをサポートしている MMC ドライブでしか動作しない。
.TP
.B \-multi
マルチセッション CD の作成を可能にする。
メディアの最後のセッションを作成するのでなければ、
マルチセションディスクの全てのセッションについて、
このオプションを指定する必要がある。
CD レコーダが後でセッションを追加できるように修正を行う。
次のプログラム領域へのリンクを含んだ TOC が作成される。
ここで作成されたメディアは、
(CDplus 以外の) 製品版 CD とは 100% 互換ではない。
マルチセッション CD の記録だけに使用すること。
このオプションを指定した場合、デフォルトのトラックタイプは
.B "CD-ROM XA mode 2"
である。
.I Sony
製のドライブはハードウェアが
.B "CD-ROM XA mode 2"
に対応していない。
このようなドライブでマルチセッションのディスクを作成するためには、
.B \-data
オプションを指定しなければならない。
cdrecord はデータセクタをオーディオセクタに変換する
コーダーを備えていないので、
マルチセッションディスクを DAO/SAO モードで記録したい場合は、
.B \-data
オプションをつけて
.B CD-ROM
セクタをマルチセッションにしなければならない。
全てのドライブがマルチセッション CD の DAO/SAO モードに対応している訳ではない。
.TP
.B \-msinfo
.B "mkisofs-1.10"
以降に適した形式のマルチセッション情報を取得する。
.sp
このオプションは、少なくとも 1 つの閉じたセッションがあり、
セッションを追加できる (まだ閉じられていない) CD のみで動作する。
この操作に適さないディスクからマルチセッション情報を取得しようとした場合、
エラーメッセージを出すドライブもある。
.TP
.B \-toc
CD の table of content (内容一覧) または PMA を取得して表示する。
このオプションを使うと、
.B cdrecord
は CD-R ドライブと CD-ROM ドライブで動作する。
.TP
.B \-atip
CD-R メディアや CD-RW メディアの
ATIP (absolute Time in Pregroove) 情報を取得して表示する。
このオプションを使うと、
.B cdrecord
は ATIP 情報を取得する。
ドライブが ATIP 情報の読み取りに対応していない場合、
記録されている情報の一部もしくは何も表示されない。
ATIP 情報の読み取りは、
MMC 互換のわずかなドライブでしかサポートされていない。
.sp
.B cdrecord
が最初のセッションの lead-in start time を取得できる場合、
メディアにかかれた製造者情報をデコードして表示しようとする。
.TP
.B \-fix
ディスクの固定 (fixated) のみを行う (つまり、CD-R の TOC が書き込まれる)。
何らかの理由により、ディスクには書かれたが固定が行われなかった場合に、
このオプションを使うことができる。
現在のところ、このオプションは昔の TEAC 製ドライブ
(CD-R50S と CD-R55S) では動作しない。
.TP
.B \-nofix
トラックを書き込んだ後にディスクを固定しない。
このオプションはオーディオディスクを段階的に作成するために使用できる。
固定していないディスクは、一般には CD を記録するドライブ以外では使えないが、
このようなディスクを再生できるオーディオ CD プレーヤもある。
.TP
.B \-waiti
SCSI ドライバをオープンする前に、標準入力からの入力が可能になるのを待つ。
このオプションを使うと
.B cdrecord
がマルチセッションディスクに追加セッションを書き込んでいる間でも、
パイプからの入力を読み取ることができるようになる。
マルチセッションディスクに追加セッションを書き込んでいる場合、
.B mkisofs
は出力を書き出す前に前のセッションを読み込む必要がある。
標準入力からの入力が可能になるのと同時に、
.B cdrecord
が SCSI ドライバをオープンする場合は、このオプションを使用できない。
.TP
.B \-load
メディアをロードして終了する。
このオプションはトレーのロード機構があるドライブでしか動作しないが、
Kodak のディスクトランスポータを使う場合にも便利である。
.TP
.B \-eject
動作後にディスクを取り出す。
(Philips などの) いつかのデバイスでは、
新しいディスクを作成する前にメディアを取り出す必要がある。
これらのデバイスでは、
\-dummy テストをした直後に実際のディスクを作成できない。
.TP
.B "speed=#
書き込みプロセスの速度ファクタを # にする。
# はオーディオ速度の何倍の速さにするかを表す整数である。
オーディオ速度は CD-ROM では約 150 KB/s、
CD-Audio では約 172 KB/s である。
.I speed
オプションを指定しない場合、
.B cdrecord
は環境変数
.B CDR_SPEED
から速度を取得する。
.I "speed=2"
または
.I "speed=4"
で問題がある場合、
.I "speed=0"
を試してみること。
.TP
.BI blank= type
CD-RW を空 (blank) にして終了する。または、書き込む前に CD-RW を空にする。
空にする方法は以下のいずれかである。
.RS
.TP 12
help
空にする方法の一覧を表示する。
.TP
all
ディスク全体を空にする。長い時間がかかる。
.TP
fast
最小限の手間でディスクを空にする。
PMA, TOC, pregap を消去する。
.TP
track
トラックを空にする。
.TP
unreserve
予約済みトラックの予約を解除する。
.TP
trtail
トラックの末尾を空にする。
.TP
unclose
最後のセッションを閉じない。
.TP
session
最後のセッションを空にする。
.RE
このオプションを
.B \-force
フラグと一緒に使うと、
.B \-force
フラグなしでは空にできない CD-RW ディスクを空にすることができる。
ドライブの中にはある種の壊れた CD-RW ディスクの消去を
続行することができないものもあるので、
.BI blank= all
を指定する必要があるかもしれない。
.B \-force
が指定された場合、
.B cdecord
はできる限りのことを行うが、空にする操作が成功するか否かは、
最終的にはドライブのファームウェアに依存する。
.TP
.BR fs= #
fifo (リングバッファ) サイズを # にする。
このオプションは
.BR dd (1),
.BR sdd (1),
.BR star (1)
のものと同じ方法で使うことができる。
他の単位が指定されない限り、サイズはバイト数であるとする。
数字の直後に `b', `k', `m', `s', `f' を付けることができる。
それぞれサイズが 512, 1024, 1024*1024, 2048, 2352 倍であることを表す。
`x' や `*' で区切ってサイズを指定した場合、2 つの数の掛け算が行われる。
よって、
.I "fs=10x63k
は fifo のサイズを 630\ kB に指定したことになる。
.sp
.I fs=
引き数で指定されたサイズには、管理に必要な共有メモリの分も含まれている。
このメモリの大きさは、少なくとも 1 ページである。
.IR fs =
オプションが指定されていない場合、
.B cdrecord
は fifo のサイズを環境変数
.B CDR_FIFOSIZE
から取得する。
デフォルトの fifo サイズは、現在のところ 4 MB である。
.sp
fifo はリアルタイム書き込みプロセスのバッファを増やすために使われる。
これによって、
.B mkisofs
と
.B cdrecord
をパイプで直接つないで動作させることができる。
fifo がアクティブで、かつ CD を作成するために
.B mkisofs
から
.B cdrecord
へのパイプを使った場合、
.B cdrecord
が書き込みをする前に
.B mkisofs
が落ちると、
.B cdrecord
はディスクの何も変更せずに終了する。
推奨される fifo サイズは 4 〜 32 MB である。
経験則として、fifo サイズは少なくとも
CD レコーダの内部バッファのサイズと同じなければならない。
また、マシンで使用されている RAM の物理サイズの半分以下でなければならない。
fifo サイズが充分大きい場合、
fifo empty count が 0 で、fifo min fill が 20% 以上であるという
fifo の統計情報が表示される。
fifo のためにあまり多くのメモリ量を使わない方がよい。
他に何もしていないマシンで、
CD を書き込むのに 8 MB 以上のメモリが必要になるのは、
マシンパワーが足りないか、ハードウェアに問題があるか、
設定が間違っている場合である。
(Sparcstation-2 などの) sun4c アーキテクチャでは、
1 プロセス当たりの MMU ページテーブルエントリは 16MB しかない。
sun4c では fifo に 14 MB 以上を使うと、
OS が MMU テーブルを絶えず再読み込みするために非常に時間がかかる。
Sun の新しいマシンでは、このような MMU のハードウェア問題はない。
PC ハードウェアがこの問題に影響されるかについての情報はない。
.sp
バッファアンダーランやそれと同様な問題があり、かつ
.I "fifo empty count"
が 0 であるという表示がされる場合は、
ハードウェア上の問題がある。
この場合、fifo のサイズは充分である。
.TP
.BI dev= target
CD レコーダの SCSI target を設定する。上記を参照。
一般的なデバイス指定では
.BI dev= 6,0
である。
数値での target 指定の他に、
ファイル名も指定しなければならない場合、
そのファイル名は実装依存である。
この場合の正確なファイル名は、
対象とする OS の独自のマニュアルに書かれているだろう。
.I CAM
をサポートしてない
.I FreeBSD
システムでは、
.RI ( /dev/rcd0.ctl
などの) 制御デバイスを使う必要がある。
この場合の正確なデバイス指定は、
.BI dev= /dev/rcd0.ctl:@
である。
.sp
Linux では、パラレルポートアダプタに接続されたデバイスは、
仮想 SCSI bus に対応付けされる。
別のパラレルポートアダプタは、
この仮想 SCSI bus の別の target に対応付けされる。
.sp
.I dev
オプションが指定されていない場合、
.B cdrecord
は環境変数
.B CDR_DEVICE
からデバイスを取得しようとする。
.sp
.B dev=
オプションの引き数に文字 ',', '/', '@', ':' がない場合、
ファイル /etc/default/cdrecord に書かれたラベル名として扱われる
(「ファイル」セクションを参照すること)。
.TP
.BI timeout= #
SCSI コマンドのデフォルトのタイムアウトを
.I #
秒にする。
SCSI コマンドのデフォルトのタイムアウトは、
SCSI コマンドを送る際の最短タイムアウトとして使われる。
SCSI コマンドがタイムアウトにより失敗した場合、
タイムアウトの値を失敗したコマンドの
デフォルトのタイムアウトより長くすることができる。
タイムアウトを長くしてコマンドが正常に動作した場合は、
成功したときのタイムアウト時間とそのコマンドを、
このプログラムの著者に知らせて下さい。
.I timeout
オプションが指定されない場合、
デフォルトのタイムアウト 40 秒が使われる。
.TP
.BI driver= name
このオプションを指定すると、
デバイスに対してユーザーが指定したドライバ名を使える。
使用可能なドライバのリストを取得するには、
.B "driver=help"
を使うこと。
このオプションは存在するのは、
サポートされているドライブに似ているが、
.B cdrecord
が直接検出できないドライブで
.B cdrecord
を使うことができるようにするためである。
このオプションは細心の注意を払って使用すること。
デバイスに合わないドライバを使うと、
ディスクを使えなくしてしまう可能性が高くなる。
合わないドライバを使った場合、最も良くても
.B \-speed
または
.B \-dummy
が動作しない。
.sp
リストには
.B cdr_simul
と
.B dvd_simul
という 2 つの特別なドライバエントリがある。
これらのドライバエントリは、いろいろなスピードでのタイミングテストや、
.B \-dummy
オプションに対応していないドライバでのタイミングテストを
行うために作られている。
シミュレーションドライバは、バッファサイズが 1MB のドライブを実装している。
また、このバッファサイズは環境変数
.B CDR_SIMUL_BUFSIZE
で変更できる。
シミュレーションドライバはバッファアンダーランも正しくシミュレートする。
.B \-dummy
オプションを指定すると、バッファアンダーランの場合でも終了しない。
.TP
.BI driveropts= "option list"
ドライバ特有のオプションを設定する。
オプションはコンマで区切ったリストで指定する。
使用可能なオプションのリストを取得するには、
.BI driveropts= help
を
.I \-checkdrive
オプションと一緒に指定すること。
現在のところ、
.B burnproof
オプションのみが実装されている。
これは Sanyo BURN-Proof 技術を使っているドライブで、
バッファアンダーラン検証書き込み
(Buffer Underrun Proof writing) に対応するためのものである。
.TP
.B \-checkdrive
現在のドライブに対応したドライバが存在するかをチェックして、終了する。
ドライブが既知のものであれば、
.B cdrecord
は終了コード 0 で終了する。
.TP
.B \-prcap
SCSI-3/mmc 互換ドライブでモードページを 0x2A としたときに取得できる
ドライブの機能を表示する。
.I kB
のマークがあるものは、1000 バイトを kilo-byte とする。
また
.I KB
のマークがあるものは、1024 バイトを Kilo-byte とする。
.TP
.B \-inq
ドライブから情報の取得 (inqurity) を行い、
取得された情報を表示して、終了する。
.TP
.B \-scanbus
全ての SCSI バス上のドライブをスキャンし、
取得できた文字列を表示する。
このオプションは、システム上の CD レコーダの SCSI アドレスを
知るために使われる。
ラベルに使われる数字は
.B "bus * 100 + target"
で計算される。
.TP
.B \-reset
CD レコーダのある SCSI バスをリセットする。
このオプションは全ての OS 上で動作するわけではない。
.TP
.B \-ignsize
メディアの既知のサイズを無視する。
このオプションは特に注意して使うべきである。
このオプションはデバッグのためだけに存在するので、
他の目的に使用してはならない。
通常の容量以上にディスクに書き込む必要はない。
.TP
.B \-useinfo
audio オプションを上書きするのに *.inf ファイルを使う。
このオプションを使うと、*.inf ファイルから
プレギャップサイズ情報を読み込む。
*.inf ファイルは 1 トラック毎のオーディオデータが書かれた
ファイルと関連づけられる。
.TP
.BR defpregap =#
第 1 トラック以外の全てのトラックのデフォルトのプレギャップサイズを設定する。
このオプションは現在のところ、
track-at-once ディスクを作成する際に
各トラックの先頭に 2 秒の無音領域がない場合には、
TEAC ドライブでしか機能しない。
.br
このオプションは将来なくなるかもしれない。
.TP
.B \-packet
.B "packet writing mode"
に設定する。
これは実験的なインターフェースである。
.TP
.BR pktsize =#
パケットサイズを # に設定し、修正パケットモードを使わせる。
これは実験的なインターフェースである。
.TP
.B \-noclose
現在のトラックを閉じない。パケット書き込みモードでのみ役立つ。
これは実験的なインターフェースである。
.TP
.B mcn=med_cat_nr
CD の
.B "メディアカタログ番号 (Media Catalog Number)"
を
.I med_cat_nr
に設定する。
.SH トラックオプション
.PP
トラックオプションはトラックファイル名と合わせて指定する。
.TP
.B isrc=ISRC_number
次のトラックの
.B "国際標準録音資料コード (International Standard Recording Code)"
を
.I ISRC_number
にする。
.TP
.BI index= list
次のトラックのインデックスリストを設定する。
インデックスリストは、コンマで区切られた数値のリストで、
インデックスは 1 から始める。
このリストの最初のエントリには 0 が書かれていなければならない。
以降はこれより大きな数値が順番にリストされていなければならず、
それぞれの数値は 1 単位を 1/75 秒として、インデックスの開始を表す。
インデックスリストは以下のような形式である:
0,7500,15000 はインデックス 1 を開始トラックとし、
インデックス 2 を開始トラックから 100 秒後、
インデックス 3 を開始トラックから 200 秒後とする。
.TP
.B \-audio
このフラグが指定されると、以降の全てのトラックが (Red Book と同じ)
.B "CD-DA"
オーディオフォーマットで書かれる。
このトラック用のデータファイルは、
ステレオ 16-bit デジタルオーディオデータで、
サプリングレートは 1 秒あたり 44100 回にすべきである。
バイトオーダーは、MSB left, LSB left, MSB right, LSB right, MSB left, ...
というようにする。
トラックは 2352 バイトの倍数にする。
書き込みプロセスにおいて、データが 2352 バイトの倍数で読み込まれるので、
オーディオトラックのマスタイメージを raw ディスクにおくことはできない。
.sp
ファイル名が
.I .au
または
.I .wav
で終る場合、ファイルは構造化オーディオファイルデータファイルとして扱われる。
この場合
.B cdrecord
は、ファイルを Sun オーディオファイルまたは
Microsoft .WAV ファイルと仮定して、
オーディオヘッダ情報以外をスキップしてオーディオデータを抽出する。
それ以外の場合は、オーディオデータストリームに
ヘッダが含まれていないときにしか cdrecord は正常に動作しない。
多くの構造化オーディオファイルは
長さが (1/75 秒の) ブロックの倍数でないので、
.B \-pad
オプションも指定しなければならないことが多い。
.B cdrecord
は .WAV ファイルのオーディオデータが
Intel (リトルエンディアン) バイトオーダーで書かれていると認識して、
CD レコーダがビッグエンディアンのデータを必要としているときには、
データのバイト交換を行う。
.B cdrecord
は、(1 秒あたり 44100 回の 16 ビットステレオサンプリングを行い
PCM コーディングする) Red Book の必要条件を満たさない
オーディオファイルの使用を拒否する。
.sp
他の構造化オーディオデータ形式を
.B cdrecord
の入力に使う場合は、
データの構造が上記の (ビッグエンディアンバイトオーダー) 構造であれば、
通常は動作する。
しかし、データ形式にヘッダが含まれている場合は、
トラックの開始時にクリック音が聞こえてしまうだろう。
.TP
.I " "
.I \-data
と
.I \-audio
がどちらも指定されていない場合、
.B cdrecord
は、ファイル名が
.I .au
または
.I .wav
で終るときは
.I \-audio
をデフォルトとし、
それ以外のときは
.I \-data
をデフォルトとする。
.TP
.B \-swab
このフラグが指定されている場合、オーディオデータは
バイトスワップ (リトルエンディアン) オーダーであると仮定する。
Yamaha, Sony, new SCSI-3/mmc などの CD ライタでは、
オーディオデータがリトルエンディアンオーダーでなければならない。
.\" (リトルエンディアンは、実際に CD に記録されるバイトオーダーである) ????
他の CD ライタでは、オーディオデータは SCSI プロトコルで使われる
ビッグエンディアン (ネットワーク) バイトオーダーなければならない。
.B cdrecord
は、CD レコーダがビッグエンディアンのオーディオデータを必要とするのか、
リトルエンディアンのオーディオデータを必要とするのかを認識して、
データストリームのバイトオーダーをレコーダの必要にあったものに修正する。
.I \-swab
フラグが必要になるのは、データストリームが
Intel (リトルエンディアン) バイトオーダーの場合のみである。
.sp
.B cdrecord
の詳細な出力には、入力データをレコーダが必要とする
バイトオーダーに合わせるのために入れ換える必要があるかが表示される。
.B cdrecord
は
.I \-swab
フラグが実際にトラックに指定されているかどうかは表示しない。
.TP
.B \-data
このフラグが指定されている場合、これ以降の全てのトラックは
.B "CD-ROM mode 1
(Yellow Book) フォーマットで書き込まれる。
データは 2048 バイトの倍数である。
The file with track data should contain an
トラックデータのファイルは、
.BR ISO-9660 " または " Rock Ridge
ファイルシステムイメージでなければならない
(詳細は
.B mkisofs
を参照すること)。
トラックデータが
.B ufs
ファイルシステムイメージの場合、
フラグメントサイズを 2 KB バイトに設定するれば、
セクタサイズが 2 KB の CD ドライブを読み込みに使うことができる。
.TP
.I " "
他のフラグが指定されていない場合、\-data がデフォルトである。
.TP
.I " "
.I \-data
と
.I \-audio
がどちらも指定されていない場合、
.B cdrecord
は、ファイル名が
.I .au
または
.I .wav
で終るときは
.I \-audio
をデフォルトとし、
それ以外のときは
.I \-data
をデフォルトとする。
.TP
.B \-mode2
このフラグが指定されると、これ以降の全てのトラックは
.B "CD-ROM mode 2
フォーマットで書き込まれる。
データは 2048 バイトの倍数である。
.TP
.B \-xa1
このフラグが指定されると、これ以降の全てのトラックは
.B "CD-ROM XA mode 1
フォーマットで書き込まれる。
データは 2048 バイトの倍数である。
.TP
.B \-xa2
このフラグが指定されると、これ以降の全てのトラックは
.B "CD-ROM XA mode 2
フォーマットで書き込まれる。
データは 2048 バイトの倍数である。
.TP
.B \-cdi
このフラグが指定されると、これ以降の全てのトラックは
.B "CDI
フォーマットで書き込まれる。
データは 2048 バイトの倍数である。
.TP
.B \-isosize
.B "ISO-9660
ファイルシステムサイズを次のトラックのサイズとする。
raw ディスクパーティションまたはマスタ CD から
トラックのイメージを読み込ませたい場合、
このオプションが必要になる。
raw ディスクパーティションの場合は、
CD のサイズを ISO ファイルシステムのサイズに制限するために
.B \-isosize
オプションが必要となる。
マスタ CD の場合は、
track at once モードのときに
CD レコーダに 2 つのランアウト (run out) ブロックを読み込ませないために、
.B \-isosize
オプションが必要になる。
この 2 つのランアウトブロックは読み込むことができず、
defective コピーを引き起こすバッファアンダーランの原因になる。
.B cdrecord
がトラックデータを
.I stdin
から読み込む場合には、このオプションを使ってはならない。
今のところ \-multi オプションが指定されている場合には、
ファイルシステムのサイズを決定するために、このオプションを使うことはできない。
.TP
.B \-pad
データトラックの場合は、
各データトラックの後ろにデータ 0 が 15 セクタ分追加される。
この場合、
.B \-pad
オプションは
.B padsize=
オプションによって上書きされる。
ただし、このオプションは
.BI padsize=15s
の省略形のままである。
.I \-pad
がオーディオトラックを参照している場合、
.B cdrecord
はオーディオデータが 2352 バイトの倍数になるようにデータを埋め込む。
詰め込まれるオーディオデータはバイナリの 0 であり、
全くの無音状態と等しい。
.sp
.B \-pad
は
.B \-nopad
によって無効にされるまで有効であり続ける。
.TP
.BR padsize= #
次のトラックに詰め込まれるデータ 0 の数を # に設定する。
.B \-pad
オプションの動作とは反対に、新たなトラックでは
.I padsize=
の値が 0 にリセットされる。
使用可能な引き数は
.BR fs =
オプションを参照すること。
CD ドライブがトラックの最終セクタを読み込めない場合、
または ISO-9660 ファイルシステムの先読みバグがある
.B Linux
システム上で CD を読み込ませたい場合は、このオプションを使うこと。
空のファイルをトラックデータとして用いる場合、
このオプションは全てを 0 で埋めたディスクを作成するために使われる。
.TP
.B \-nopad
以降のトラックに対して 0 の埋め込みを行わない \-
これがデフォルトである。
.TP
.B \-shorttrack
これ以降のトラックで、Red Book トラック長基準を破っても構わないことにする。
トラック長は最短でも 4 秒なければならない。
このオプションは DAO モードで用いられた場合にのみ有効である。
全てのドライブがこの機能に対応しているわけではない。
ドライブは結果として得られる CUE シートを受け付けなければならない。
.TP
.B \-noshorttrack
Red Book トラック長基準を再び守らせる。
トラックは少なくとも 4 秒でなければならない。
.TP
.BR pregap =#
次のトラックのプレギャップサイズを設定する。
このオプションは現在のところ、TEAC 製ドライブで
各トラックの前に 2 秒間の無音を入れずに
track-at-once ディスクを作成するときにしか動作しない。
.br
このオプションは将来なくなる。
.TP
.B \-preemp
.\"ysato:
.\"ysato: 原文では "micro" の部分が「μ」の 1 バイト文字で書かれているが、
.\"ysato: EUC-JP で保存できないので変更した。
.\"ysato:
このフラグを指定すると、オーディオトラックの全ての TOC エントリは、
オーディオデータが 50/15 μ秒のプレ・エンファシス (pre-emphasis) で
サンプリングされているとする。
ただし、このデータがファイルからディスクに移される際に変更されることはない。
このオプションはデータトラックには何も影響しない。
.TP
.B \-nopreemp
このフラグが指定されていると、
これ以降のオーディオトラックの TOC エントリは、
オーディオデータのマスタがリニアデータとして作成されているものとする
\- これがデフォルトである。
.TP
.B tsize=#
次のトラックのマスタイメージが raw ディスクに格納されている場合、
ディスク上の有効なデータ量を指定するために、このオプションを使うこと。
次のトラックのイメージが通常のファイルとして格納されている場合、
ファイルのサイズからそのトラックの長さを決定する。
トラックに ISO 9660 ファイルシステムイメージがある場合は、
ファイルシステムイメージの長さを決定するために
.I \-isosize
オプションを使うこと。
.br
TEAC プログラミングインターフェースを使ういくつかのドライブでは、
Disk at Once モードでも Track at Once モードでも
ディスクの書き込みを始める前に
.B cdrecord
が各トラックのサイズを知る必要がある。
今のところ cdrecord はサイズをチェックして、書き込みを始める前に中止する。
このような現象が起こった場合は、
.B "mkisofs -print-size
を実行して、得られた結果を
.B cdrecord
の
.BR tsize =
オプションの引き数として使うこと。
.br
指定可能な引き数は
.BR fs =
オプションを参照すること。
.SH 例
.PP
以下の例では、CD レコーダがマシンのプライマリ SCSI バスに
接続されていると仮定している。
SCSI ターゲット ID は 2 に設定されている。
.PP
ファイル
.I cdimage.raw
にあるデータを使って単純な CD-ROM を 2 倍速で記録する:
.PP
cdrecord \-v speed=2 dev=2,0 cdimage.raw
.PP
Rock Ridge 拡張された ISO 9660 ファイルシステムのイメージを作成する:
.PP
mkisofs \-R \-o cdimage.raw /home/joerg/master/tree
.PP
Solaris で CD を書き込む前に上の結果のファイルを検査する:
.PP
mount \-r \-F fbk \-o type=hsfs /dev/fbk0:cdimage.raw /mnt
.PP
Linux では:
.PP
mount cdimage.raw \-r \-t iso9660 \-o loop /mnt
.PP
以下のように続ける:
.br
ls \-lR /mnt
.br
umount /mnt
.PP
システム全体のスピードが充分で、
ファイルシステムの構造がそれほど複雑でない場合、
cdrecord は ISO 9660 ファイルシステムのイメージを作成せずに実行できる。
単純にパイプラインで実行すればよい:
.PP
mkisofs \-R /master/tree | cdrecord \-v fs=6m speed=2 dev=2,0 -
.PP
このパイプラインを実行するために推奨される最小の fifo サイズは 4 MB である。
デフォルトの fifo サイズは 4 MB であるので、
別の fifo サイズを指定したい場合以外は
.B fs=
オプションを指定する必要はない。
システムに負荷がかかっている場合は、
mkisofs もリアルタイムクラスで実行すべきである。
.B mkisofs
の優先度を上げるためには、コマンド
.PP
mkisofs \-R /master/tree
.sp
を Solaris では
.sp
priocntl \-e \-c RT \-p 59 mkisofs \-R /master/tree
.sp
に、
.B "UNIX International"
互換のリアルタイムスケジューリングのないシステムでは
.sp
nice --18 mkisofs \-R /master/tree
.sp
に変更する。
.PP
Solaris では cdrecord は優先度 59 で実行されるので、
mkisofs は優先度 58 以下で実行すべきである。
他のシステムでは nice -18 以上で mkisofs で実行すべきである。
.PP
Sparcstation-2 で Yamaha CDR-400 を使って
ディスク上にファイルシステムイメージを置かずに
CD-ROM を作成するテストを行ってみたが、
マシンに負荷がかかっていない場合でも
4 倍速では動作しなかった。
より高速なマシンでは、負荷がかかった場合でも 4 倍速で動作できるだろう。
.PP
.IR track01.cdaudio ,
.IR track02.cdaudio ", ..."
というファイルに各トラックのデータがある場合に、
単純な CD-DA (オーディオ) を等速で記録するには:
.PP
cdrecord \-v speed=1 dev=2,0 -audio track*.cdaudio
.PP
上の例が 2 倍速でできるかをチェックするためには、
dummy 書き込みオプションを使うこと:
.PP
cdrecord \-v \-dummy speed=2 dev=2,0 \-audio track*.cdaudio
.PP
最初のトラックは ISO 9660 ファイルシステム
.IR cdimage.raw 、
それ以外は
.IR track01.cdaudio ,
.IR track02.cdaudio ", ..."
というオーディオトラック、というようなミックスモード CD を記録するには:
.PP
cdrecord \-v \-dummy dev=2,0 cdimage.raw \-audio track*.cdaudio
.PP
書き込みを始める前にトラックのサイズを知らせる必要がある
ドライブを操作するには、最初に
.PP
mkisofs -R -q -print-size /master/tree
.PP
を実行し、次に
.PP
mkisofs -R /master/tree | cdrecord speed=2 dev=2,0 tsize=XXXs -
.PP
を実行する。
ここで
.I XXX
は先に実行した mkisofs の出力で置き換える。
.PP
オーディオ CD を最も正確な方法で複製するには、
最初に
.PP
cdda2wav -v255 -D2,0 -B -Owav
.PP
を実行し、次に
.PP
cdrecord -v dev=2,0 -dao -useinfo *.wav
.PP
を実行する。
.SH 環境変数
.TP
CDR_DEVICE
SCSI 転送ライブラリの open コールに適したデバイス識別子と、
ファイル /etc/default/cdrecord にかかれたラベルを設定できる。
.TP
CDR_SPEED
デフォルトの書き込みの速度を設定する
.RB ( \-speed
オプションを参照)。
.TP
CDR_FIFOSIZE
FIFO のデフォルトサイズを設定する
.RB ( fs=#
オプションを参照)。
.SH ファイル
.TP
/etc/default/cdrecord
デフォルトの値は、/etc/default/cdrecord にある以下のオプションで設定できる。
例えば、
.SM CDR_FIFOSIZE=8m
や
.SM CDR_SPEED=2
のように設定できる。
.RS
.TP
CDR_DEVICE
SCSI 転送ライブラリの open コールに適したデバイス識別子と、
ファイル /etc/default/cdrecord にかかれたラベルを設定できる。
これによりシステム上の特定のドライブを識別できる。
.TP
CDR_SPEED
デフォルトの書き込みの速度を設定する
.RB ( \-speed
オプションを参照)。
.TP
CDR_FIFOSIZE
FIFO のデフォルトサイズを設定する
.RB ( fs=#
オプションを参照)。
.TP
その他のラベル
システム上の特定のドライブを識別する。
識別子は文字 ',', '/', '@', ':' を含んではならない。
.sp
ラベルに続く行には、タブで区切られたアイテムのリストが書かれる。
今のところ、ドライブの SCSI ID・ドライブのデフォルトの速度・
デフォルトの FIFO サイズ、という3 つのアイテムが認識される。
.I speed
と
.I fifosize
の値を -1 に設定すると、cdrecord はグローバルのデフォルト値を使う。
典型的な例としては以下のようものである:
.sp
teac1= 0,5,0 4 8m
.sp
yamaha= 1,6,0 -1 -1
.sp
これは
.B cdrecord
に対して、
.I teac1
という名前のドライブが scsibus 0, target 5, lun 0 にあり、
速度を 4 倍速、FIFO サイズを 8 MB にすることを指示する。
2 番目のドライブは scsibus 1, target 6, lun 0 にあり、
デフォルトの速度とデフォルトの FIFO サイズを使う。
.RE
.SH 関連項目
.BR cdda2wav (1),
.BR readcd (1),
.BR scg (7),
.BR fbk (7),
.BR mkisofs (8).
.SH 注意
.PP
Solaris において USCSI フォールバック SCSI 転送コードを使いたい場合は、
ボリューム管理を停止する必要がある。
ボリューム管理が動作していると、
.B "cdrecord -scanbus
すらも動作しない。
.PP
.B "Track At Once
モードで作られたディスクは、CD 製造業者によって
大量生産される製品のマスタには向いていない。
このようなディスクを記録するには
.B "disk at once
オプションを指定する必要がある。
.B "Track At Once
で作られたディスクは、通常はどの CD プレーヤでも読めるが、
古いオーディオ CD プレーヤのなかには
オーディオトラックの間に 2 秒間のクリック音を出してしまうものもある。
.PP
トラックの最小サイズは 4 秒または 300 セクタである。
これよりも小さいトラックを書き込んだ場合、
CD レコーダがダミーブロックを追加する。
これが SCSI エラーメッセージに現れたとしてもエラーではない。
.PP
.B cdrecord
は、SparcStation 20/502 上のアップグレードされた Philips CDD-521 レコーダで
等速と 2 倍速でテストして問題がなかった。
もっと遅いコンピュータシステムでも動作するだろう。
Philips/HP/Plasmon/Grundig の新しいドライブでも、
Yamaha の CDR-100 と CDR-102 でも動作する。
Plasmon RF-4100 でも動作するが、マルチセッションについてはテストしていない。
アップグレードされていない Philips CDD-521 では動作しない。
Sony CDU-924 をテストしたが、ハードウェアが XA-mode2 に対応していない。
よって Sony 製ドライブでは適合した
マルチセッションディスクを作成することはできない。
Ricoh RO-1420C でも動作するが、
speed=2 で使うと問題が発生することがあるようなので、
このような場合には speed=0 を試してみること。
.PP
Yamaha CDR-400 や SCSI-3/mmc に適合した全ての新しいドライブは、
シングルセッションとマルチセッションに対応している。
.PP
不明なシステム上で
.B cdrecord
を使う場合は、
.B \-dummy
オプションをオンにして、ドライブでサポートされている
全ての速度について何回かテストすべきである。
CD の書き込みはリアルタイムプロセスである。
.B NFS
は必要とされるデータ転送率を絶えず提供するわけではない。
.B NFS
でマウントされたファイルシステム上にある CD イメージを
.B cdrecord
で使いたい場合は、fifo サイズが充分大きいこと確認すること。
.B cdrecord
を SS20/502 において中間的な負荷状態で使用したことや、
Sparcstation-2 においてかなりの負荷状態で 4 倍速で使用したこともあるが、
CD を書き込むときはシステムの負荷を出来る限り軽くしておくことを勧める。
読み込み元のディスクが原因でバッファアンダーランが起こっていないことを
確認したいなら、コマンド
.PP
.B " cdrecord -dummy dev=2,0 padsize=600m /dev/null
.PP
を実行して、全てをダミーデータから作ったディスクを作成すればよい。
.B cdrecord
は、
.B /dev/scg?
デバイスノードにアクセスして、
プログラム自身をメモリ内にロックできるように、
root で実行する必要がある。
.PP
システム上でユーザーが root になるのを許可したくない場合は、
.B cdrecord
を root に suid することで安全にインストールできる。
これにより、root 権限を持たない全てのユーザーやユーザーのグループが
.B cdrecord
を使うことができる。
この場合
.B cdrecord
は、実際のユーザーが特定のファイルを読めるかを調べる。
全てのユーザーに
.B cdrecord
を使う権限を与えたいならば以下を実行する:
.PP
chown root /usr/local/bin/cdrecord
.br
chmod 4711 /usr/local/bin/cdrecord
.PP
特定のユーザーのグループに
cdrecord を使う権限を与えたいならば以下を実行する:
.PP
chown root /usr/local/bin/cdrecord
.br
chgrp cdburners /usr/local/bin/cdrecord
.br
chmod 4710 /usr/local/bin/cdrecord
.PP
そして、システムの
.I cdburners
グループに追加する。
.PP
ディスクの読み込み・書き出し・フォーマットを
全てのユーザーに許可したい場合を除き、
root 以外のユーザーに
.I /dev/scg?
への書き込みを許可してはならない。
.PP
CD レコーダや読み込み元のディスクが接続された SCSI バスに、
切断や再接続に対応していない昔のディスクを接続するべきではない。
.PP
CD には 99 トラック以上は入らない。
.PP
オーディオトラックとデータトラックが両方入ったディスクを作成する場合は、
データをトラック 1 に入れるべきである。
そうでなければ CDplus ディスクを作成するべきである。
CDplus は、最初のセッションがオーディオトラックで、
以降のセッションがデータトラックになったマルチセッションディスクである。
.PP
多くの OS ではデータトラックが 1 つしか読み出せない。
また読むためには特別のソフトが必要である。
.PP
HP 製 CD レコーダの SCSI コマンドセットについての
詳しい情報は以下で入手できる。
.PP
http://www.hp.com/isgsupport/cdr/index.html
.PP
もっと詳しい情報や、現在対応していないCD レコーダの
SCSI コマンドマニュアルがあったら、著者に連絡してください。
.PP
Philips CDD 521 にはファームウェアのバグがある。
(アップグレードされたものにもある)。
これらうちのいくつかは、デバイスの電気の周波数を
ある固定のものにしなければならず、
そうしない場合にはマシンをリブートしなければならない。
.PP
壊れた
.B "Linux SCSI generic driver"
で
.B cdrecord
を使う場合、
.B cdrecord
は scg ドライバの機能をエミュレートを試みるという対処療法を使う。
不幸なことに、
.B Linux
の sg ドライバには以下のような酷いバグがある:
.TP
\(bu
SCSI コマンドが全く送られていないかを調べることができない。
.TP
\(bu
SCSI status バイトを取得できない。
このため、
.B cdrecord
は失敗した SCSI コマンドをある状況下では報告できない。
.TP
\(bu
転送時の実際の DMA カウントを取得できない。
.B cdrecord
は、DMA の残余カウントがあるかをユーザーに知らせることができない。
.TP
\(bu
auto sense データのうち有効なバイト数を取得できない。
.B cdrecord
は、認識したデータをデバイスが全く転送していないかを
ユーザーに知らせることができない。
.TP
\(bu
auto request sense では非常に少ないデータしか取得できない
(CCS/SCSI-2/SCSI-3 では 18 以上でなければならない)。
.PP
fifo 率の表示は、CD レコーダにデータブロックが書き込まれた直後に計算される。
このため、fifo がストリーミングモードであるにもかかわらず、
100% fifo fill になることはない。
.SH 返り値
.PP
以下のようなメッセージが表示されてから、
9 秒間の間に ^C で
.B cdrecord
を中止できる。
.PP
Starting to write CD at speed %d in %s mode for %s session.
.PP
SCSI コマンドの典型的なエラーメッセージは以下のようなものである:
.sp
.RS
.nf
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
.fi
.sp
.RE
1 行目はコマンドの転送についての情報である。
最初のコロンのあとの文字列は、
カーネルの視点からみたシステムコールのエラーである。
他の問題が起こらないときに、一般的なのは
.B "I/O error
である。
次の文字列は失敗した SCSI コマンドの簡単な説明である。
残りの部分は SCSI バス越しにコマンドを転送する際に
問題が発生したことを示す。
.B "fatal error
はコマンドを転送できなかったことを示す
(つまり、要求された SCSI アドレスにデバイスが存在しなかった)。
.PP
2 行目には失敗したコマンドの SCSI コマンドの
ディスクリプターブロックが表示される。
.PP
3 行目には、コマンドの転送が成功した場合に、
コマンドによって返される SCSI status コードについての情報が表示される。
これは SCSI デバイスからのエラー情報である。
.PP
4 行目はコマンドの auto request sense 情報の 16 進ダンプである。
.PP
5 行目は (もし存在すれば) sense key のエラー文字列である。
コマンドが
.I copy
の場合にのみ、セグメント番号が続く。
エラーメッセージが現在のコマンドに直接関係していない場合、
.I deferred error
という文字列が表示される。
.PP
6 行目は sense code のエラー文字列である。
存在する場合には sense qualifier も表示される。
デバイスのタイプが既知の場合、
sense data は
.I scsierrs.c"
にあるテーブルを用いてデコードされる。
その文字列の後には field replaceable unit についてのエラー値が続く。
.PP
7 行目には、失敗したコマンドに関連したブロック番号と
エラーフラグ文字列が表示される。
ブロック番号は有効ではないかも知れない。
.PP
8 行目は、そのコマンドについて設定されたタイムアウトと、
実際にコマンドが完了するまでにかかった時間が表示される。
.PP
以下のメッセージはエラーではない:
..sp
.RS
.nf
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
.fi
.sp
.RE
これは単に、最小サイズより小さいトラックを
300 セクタに拡張したことを知らせているだけである。
.SH バグ
.PP
.B cdrecord
には
.B ls
よりも多くのオプションがある。
.PP
現在のところ、
.B cdrecord
は入力データがディスクに合わない場合に警告しか出さない。
コマンドを中止しないと、予想できない結果になる。
.PP
オーディオトラックのインデックス番号を
書き込むオプションが存在するべきである。
.PP
パワー不足の時に書き込まれたディスクを
修復して使えるようにするオプションが存在するべきである。
.SH 謝辞
.PP
.TP 15
Bill Swartz (Bill_Swartz@twolf.com)
.br
TEAC ドライバのサポートに協力してくれた。
.TP
Aaron Newsome (aaron.d.newsome@wdc.com)
.br
彼のドライブで Sony 製ドライブのサポートを開発させてくれた。
.TP
Eric Youngdale (eric@andante.jic.com)
.br
mkisofs を提供してくれた。
.TP
Gadi Oxman (gadio@netvision.net.il)
.br
ATAPI 標準規格についてのいろいろな情報をもらった。
.TP
Finn Arne Gangstad (finnag@guardian.no)
.br
最初の FIFO 実装をしてくれた。
.TP
Dave Platt (dplatt@feghoot.ml.org)
.br
実験的なパケット書き込みの作成、
CD-RW を空にする機能の最初の実装、
\&.wav ファイルの最初のデコーダの実装、
cdrecord に関する有益な議論をしてくれた。
.TP
Chris P. Ross (cross@eng.us.uu.net)
.br
BSDI SCSI 転送を最初に実装してくれた。
.TP
Grant R. Guenther (grant@torque.net)
.br
Linux におけるパラレルポート転送を最初に実装してくれた。
.TP
Kenneth D. Merry (ken@kdm.org)
.br
Michael Smith (msmith@freebsd.org) とともに、
FreeBSD の CAM ポートを提供してくれた。
.SH メーリングリスト
cdrecord の開発に積極的に参加したいなら、本文に
.I subscribe
と書いたメールを
.nf
.sp
other-cdwrite-request@lists.debian.org
.sp
.fi
へ送って、cdwriting メーリングリストに入ることができる。
.nf
.sp
other-cdwrite@lists.debian.org
.sp
.fi
がメーリングリストのアドレスである。
.SH 著者
.nf
J\*org Schilling
Seestr. 110
D-13353 Berlin
Germany
.fi
.PP
その他の情報は以下で入手できる。
.br
http://www.fokus.gmd.de/usr/schilling/cdrecord.html
.PP
サポートに関する質問は、
.PP
.B
cdrecord-support@berlios.de
.br
または
.B
other-cdwrite@lists.debian.org
.PP
にメールを送ってください。
.PP
明らかなバグを見付けた場合は、
.PP
.B
cdrecord-developers@berlios.de
.br
または
.B
schilling@fokus.gmd.de
.PP
にメールを送ってください。
.PP
メーリングリストを購読するには、
.PP
.B
http://lists.berlios.de/mailman/listinfo/cdrecord-developers
.br
または
.B
http://lists.berlios.de/mailman/listinfo/cdrecord-support
.PP
を参照すること。
|