cdrecord.1
上传用户:xiejiait
上传日期:2007-01-06
资源大小:881k
文件大小:39k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. ." @(#)cdrecord.1 1.44 99/12/29 Copyright 1996 J. Schilling
  2. ." 
  3. ." This is free documentation; you can redistribute it and/or
  4. ." modify it under the terms of the GNU General Public License as
  5. ." published by the Free Software Foundation; either version 2 of
  6. ." the License, or (at your option) any later version.
  7. ."
  8. ." The GNU General Public License's references to "object code"
  9. ." and "executables" are to be interpreted as the output of any
  10. ." document formatting or typesetting system, including
  11. ." intermediate and printed output.
  12. ."
  13. ." This manual is distributed in the hope that it will be useful,
  14. ." but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. ." MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16. ." GNU General Public License for more details.
  17. ."
  18. ." You should have received a copy of the GNU General Public
  19. ." License along with this manual; if not, write to the Free
  20. ." Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
  21. ." USA.
  22. ."
  23. .if t .ds a v'-0.55m'h'0.00n'z.h'0.40n'z.v'0.55m'h'-0.40n'a
  24. .if t .ds o v'-0.55m'h'0.00n'z.h'0.45n'z.v'0.55m'h'-0.45n'o
  25. .if t .ds u v'-0.55m'h'0.00n'z.h'0.40n'z.v'0.55m'h'-0.40n'u
  26. .if t .ds A v'-0.77m'h'0.25n'z.h'0.45n'z.v'0.77m'h'-0.70n'A
  27. .if t .ds O v'-0.77m'h'0.25n'z.h'0.45n'z.v'0.77m'h'-0.70n'O
  28. .if t .ds U v'-0.77m'h'0.30n'z.h'0.45n'z.v'0.77m'h'-0.75n'U
  29. .if t .ds s \(*b
  30. .if t .ds S SS
  31. .if n .ds a ae
  32. .if n .ds o oe
  33. .if n .ds u ue
  34. .if n .ds s sz
  35. .TH CDRECORD 1 "Version 1.8" "J*org Schilling" "Schily's USER COMMANDS"
  36. .SH NAME
  37. cdrecord - record audio or data Compact Discs from a master
  38. .SH SYNOPSIS
  39. .B cdrecord
  40. [
  41. .I "general options
  42. ]
  43. .BI dev= device
  44. [
  45. .I track options
  46. ]
  47. .IR track1 .|.|. trackn
  48. .SH DESCRIPTION
  49. .B Cdrecord
  50. is used to record data or audio Compact Discs on an Orange Book
  51. CD-Recorder.
  52. .PP
  53. The
  54. .I device
  55. refers to
  56. .IR scsibus / target / lun
  57. of the CD-Recorder. Communication on 
  58. .I SunOS
  59. is done with the SCSI general driver
  60. .B scg.
  61. Other operating systems are using a library simulation of this driver.
  62. Possible syntax is:
  63. .B dev=
  64. .IR scsibus , target , lun
  65. or
  66. .B dev=
  67. .IR target , lun .
  68. In the latter case, the CD-Recorder has to be connected to the default 
  69. SCSI bus of the machine.
  70. .IR Scsibus ,
  71. .I target 
  72. and 
  73. .I lun
  74. are integer numbers. 
  75. Some operating systems or SCSI transport implementations may require to
  76. specify a filename in addition.
  77. In this case the corect syntax for the device is:
  78. .B dev=
  79. .IR devicename : scsibus , target , lun
  80. or
  81. .B dev=
  82. .IR devicename : target , lun .
  83. If the name of the device node that has been specified on such a system
  84. referres to exactly one SCSI device, a shorthand in the form
  85. .B dev=
  86. .IR devicename : @
  87. or
  88. .B dev=
  89. .IR devicename : @ , lun
  90. may be used instead of
  91. .B dev=
  92. .IR devicename : scsibus , target , lun .
  93. .PP
  94. To make 
  95. .B cdrecord
  96. portable to all s-2UNIXs0 platforms, the syntax
  97. .B dev=
  98. .IR devicename : scsibus , target , lun
  99. is preferred as is hides OS specific knowledge about device names from the user.
  100. A specific OS must not necessarily support a way to specify a real device file name nor a
  101. way to specify 
  102. .IR scsibus , target , lun .
  103. .PP
  104. .I Scsibus 
  105. 0 is the default SCSI bus on the machine. Watch the boot messages for more 
  106. information or look into 
  107. .B /var/adm/messages 
  108. for more information about the SCSI configuration of your machine.
  109. If you have problems to figure out what values for 
  110. .IR scsibus , target , lun
  111. should be used, try the 
  112. .B -scanbus
  113. option of 
  114. .B cdrecord
  115. described below.
  116. .PP
  117. If a file /etc/default/cdrecord exists, the parameter to the
  118. .B dev=
  119. option may also be a drive name label in said file (see FILES section).
  120. .PP
  121. On 
  122. .B SVr4 
  123. compliant systems, 
  124. .B cdrecord 
  125. uses the the real time class to get the highest scheduling priotity that is
  126. possible (higher than all kernel processes).
  127. On systems with 
  128. .B POSIX real time scheduling
  129. cdrecord uses real time scheduling too, 
  130. but may not be able to gain a priority that is higher than all kernel processes.
  131. .PP
  132. In 
  133. .I Track At Once 
  134. mode, each
  135. .I track
  136. corresponds to a single file that contains the prepared data for that track.
  137. If the argument is 
  138. .RB ` - ',
  139. standard input is used for that track. 
  140. Only one track may be taken from 
  141. .IR stdin .
  142. .SH "GENERAL OPTIONS
  143. .PP
  144. General options must be before any track file name or track option.
  145. .TP
  146. .B -version
  147. Print version information and exit.
  148. .TP
  149. .B -v
  150. Increment the level of general verbosity by one.
  151. This is used e.g. to display the progress of the writing process.
  152. .TP
  153. .B -V
  154. Increment the verbose level in respect of SCSI command transport by one.
  155. This helps to debug problems
  156. during the writing process, that occur in the CD-Recorder. 
  157. If you get incomprehensible error messages you should use this flag
  158. to get more detailed output.
  159. .B -VV
  160. will show data buffer content in addition.
  161. Using
  162. .B -V
  163. or
  164. .B -VV
  165. slows down the process and may be the reason for a buffer underrun.
  166. Using
  167. .TP
  168. .B -debug
  169. Print additional debug messages. This may help to find out problems
  170. with sector sizes and sector types.
  171. Using
  172. .B -debug
  173. slows down the process and may be the reason for a buffer underrun.
  174. .TP
  175. .B -force
  176. Force to continue on some errors.
  177. This option currently implements some tricks that will allow 
  178. you to blank bad CD-RW disks.
  179. .TP
  180. .B -dummy
  181. The CD-Recorder will go through all steps of the recording process,
  182. but the laser is turned off during this procedure.
  183. It is recommended to run several tests before actually writing to a 
  184. Compact Disk, if the timing and load response of the system is not known.
  185. .TP
  186. .B -dao
  187. Set 
  188. .B "Disk At Once mode.
  189. This currently only works with MMC drives that support non raw
  190. .B "Session At Once
  191. mode.
  192. .TP
  193. .B -multi
  194. Allow multi session CD's to be made. This flag needs to be present
  195. on all sessions of a multi session disk,
  196. except you want to create a session that will be 
  197. the last session on the media.
  198. The fixation will be done in a way that allows the CD-Recorder to
  199. append additional sessions later. This is done by generation a TOC
  200. with a link to the next program area. The so generated media is not
  201. 100% compatible to manufactured CD's (except for CDplus). 
  202. Use only for recording of multi session CD's.
  203. If this option is present, the default track type is
  204. .BR "CD-ROM XA mode 2" .
  205. The 
  206. .I Sony 
  207. drives have no hardware support for 
  208. .BR "CD-ROM XA mode 2" .
  209. You have to specify the 
  210. .B -data 
  211. option in order to create multi session disks on these drives.
  212. As long as cdrecord does not have a coder for converting data sectors
  213. to audio sectors, you need to force 
  214. .B CD-ROM
  215. sectors by including the
  216. .B -data
  217. option if you like to record a multisession disk in DAO/SAO mode.
  218. Not all drives allow multisession CD's in DAO/SAO mode.
  219. .TP
  220. .B -msinfo
  221. Retrieve multi session info in a form suitable for 
  222. .B "mkisofs-1.10" 
  223. or later.
  224. .sp
  225. This option makes only sense with a CD that contains at least
  226. one closed session and is appendable (not finally closed yet). 
  227. Some drives create error messages if you try to get the multi 
  228. session info for a disk that is not suitable for this operation.
  229. .TP
  230. .B -toc
  231. Retrieve and print out the table of content or PMA of a CD.
  232. With this option, 
  233. .B cdrecord
  234. will work with CD-R drives and with CD-ROM drives.
  235. .TP
  236. .B -atip
  237. Retrieve and print out the ATIP (absolute Time in Pregroove) info of a CD
  238. recordable or CD rewritable media.
  239. With this option, 
  240. .B cdrecord
  241. will try to retrieve the ATIP info. If the actual drive does not support
  242. to read the ATIP info, it may be that only a reduced set of information
  243. records or even nothing is displayed. Only a limited number of MMC compliant
  244. drives support to read the ATIP info.
  245. .sp
  246. If 
  247. .B cdrecord
  248. is able to retrieve the lead-in start time for the first session, it will try to
  249. decode and print the manufacturer info from the media.
  250. .TP
  251. .B -fix
  252. The disk will only be fixated (i.e. a TOC for a CD-Reader will be written). 
  253. This may be used, if for some reason the disk has been written but not
  254. fixated. This option currently does not work with TEAC drives.
  255. .TP
  256. .B -nofix
  257. Do not fixate the disk after writing the tracks. This may be used
  258. to create an audio disk in steps. An un-fixated disk can usually not be used
  259. on a non CD-writer type drive but there are audio CD players that will
  260. be able to play such a disk.
  261. .TP
  262. .B -load
  263. Load the media and exit. This only works with a tray loading mechanism
  264. but seems to be useful when using the Kodak disk transporter.
  265. .TP
  266. .B -eject
  267. Eject disk after doing the work.
  268. Some Devices (e.g. Philips) need to eject the medium before creating a new
  269. disk. Doing a -dummy test and immediately creating a real disk would not
  270. work on these devices.
  271. .TP
  272. .B "speed=#
  273. Set the speed factor of the writing process to #.
  274. # is an integer, representing a multiple of the audio speed.
  275. This is about 150 KB/s for CD-ROM and about 172 KB/s for CD-Audio.
  276. If no 
  277. .I speed
  278. option is present, 
  279. .B cdrecord
  280. will try to get the speed value from the 
  281. .B CDR_SPEED
  282. environment.
  283. If your drive has problems with
  284. .I "speed=2 
  285. or 
  286. .IR "speed=4" , 
  287. you should try 
  288. .IR "speed=0" .
  289. .TP
  290. .BI blank= type
  291. Blank a CD-RW and exit or blank a CD-RW before writing. The blanking type may be one of:
  292. .RS
  293. .TP 12
  294. help
  295. Display a list of possible blanking types.
  296. .TP
  297. all
  298. Blank the entire disk. This may take a long time.
  299. .TP
  300. fast
  301. Minimally blank the disk. This results in erasing the PMA, the TOC and the pregap.
  302. .TP
  303. track
  304. Blank a track.
  305. .TP
  306. unreserve
  307. Unreserve a reserved track.
  308. .TP
  309. trtail
  310. Blank the tail of a track.
  311. .TP
  312. unclose
  313. Unclose last session.
  314. .TP
  315. session
  316. Blank the last session.
  317. .RE
  318. If used together with the 
  319. .B -force
  320. flag, this option may be used to blank CD-RW disks that otherwise cannot be
  321. blanked. Note that you may need to specify
  322. .BI blank= all
  323. because some drives will not continue with certain types of bad CD-RW
  324. disks. Note also that
  325. .B cdecord
  326. does it's best if the 
  327. .B -force 
  328. flag is used but it finally depends on the drive's firmware 
  329. whether the blanking operation will succeed or not.
  330. .TP
  331. .BR fs= #
  332. Set the fifo (ring buffer) size to #.
  333. You may use the same method as in 
  334. .BR dd (1),
  335. .BR sdd (1)
  336. or
  337. .BR star (1).
  338. The number representing the size is taken in bytes unless otherwise specified.
  339. If a number is followed directly by the letter `b', `k', `m', `s' of `f',
  340. the size is multiplied by 512, 1024, 1024*1024, 2048 or 2352.
  341. If the size consists of numbers separated by `x' or `*', multiplication of the 
  342. two numbers is performed.
  343. Thus 
  344. .I "fs=10x63k
  345. will specify a fifo size of 630 kBytes.
  346. .sp
  347. The size specified by the 
  348. .I fs=
  349. argument includes the shared memory that is needed for administration. This
  350. is at least one page of memory.
  351. If no
  352. .IR fs =
  353. option is present, 
  354. .B cdrecord
  355. will try to get the fifo size value from the 
  356. .B CDR_FIFOSIZE
  357. environment.
  358. The default fifo size is currently 4 MB.
  359. .sp
  360. The fifo is used to increase buffering for the real time writing process.
  361. It allows to run a pipe from 
  362. .B mkisofs
  363. directly into 
  364. .BR cdrecord .
  365. If the fifo is active and a pipe from 
  366. .B mkisofs
  367. into 
  368. .B cdrecord
  369. is used to create a CD, 
  370. .B cdrecord
  371. will abort prior to do any modifications on the disk if 
  372. .B mkisofs 
  373. dies before it starts writing.
  374. The recommended fifo size is between 4 and 32 MBytes.
  375. As a rule of thumb, the fifo size should be at least equal to the size
  376. of the internal buffer of the CD-Recorder and no more than half of
  377. the physical amount of RAM available in the machine.
  378. If the fifo size is big enough, the fifo statistics will print a fifo
  379. empty count of zero and the fifo min fill is not below 20%.
  380. It is not wise to use too much space for the fifo. If you need more
  381. than 8 MB to write a CD on an idle machine, your machine is either
  382. underpowered, has hardware problems or is mis-configured.
  383. The sun4c architecture (e.g. a Sparcstation-2) has only MMU page table entries
  384. for 16 MBytes per process. Using more than 14 MBytes for the fifo
  385. may cause the operating system in this case to spend much time to constantly
  386. reload the MMU tables. Newer machines from Sun do not have this MMU
  387. hardware problem. I have no information on PC-hardware reflecting
  388. this problem.
  389. .sp
  390. If you have buffer underruns or similar problems and observe a zero
  391. .IR "fifo empty count" ,
  392. you have hardware problems. The fifo size in this case is sufficient.
  393. .TP
  394. .BI dev= target
  395. Sets the SCSI target for the CD-Recorder, see notes above.
  396. A typical device specification is
  397. .BI dev= 6,0
  398. &.
  399. If a filename must be provided together with the numerical target 
  400. specification, the filename is implementation specific.
  401. The correct filename in this case can be found in the system specific
  402. manuals of the target operating system.
  403. On a 
  404. .I FreeBSD
  405. system without 
  406. .I CAM
  407. support, you need to use the control device (e.g.
  408. .IR /dev/rcd0.ctl ).
  409. A correct device specification in this case may be
  410. .BI dev= /dev/rcd0.ctl:@
  411. &.
  412. .sp
  413. On Linux, drives connected to a parallel port adapter are mapped
  414. to a virtual SCSI bus. Different adapters are mapped to different
  415. targets on this virtual SCSI bus.
  416. .sp
  417. If no 
  418. .I dev
  419. option is present, 
  420. .B cdrecord
  421. will try to get the device from the 
  422. .B CDR_DEVICE
  423. environment.
  424. .sp
  425. If the argument to the
  426. .B dev=
  427. option does not contain the characters ',', '/', '@' or ':',
  428. it is interpreted as an label name that may be found in the file
  429. /etc/default/cdrecord (see FILES section).
  430. .TP
  431. .BI timeout= #
  432. Set the default SCSI command timeout value to 
  433. .IR # .
  434. The default SCSI command timeout is the minimum timeout used for sending
  435. SCSI commands.
  436. If a SCSI command fails due to a timeout, you may try to raise the
  437. default SCSI command timeout above the timeout value of the failed command.
  438. If the command runs correctly with a raised command timeout,
  439. please report the better timeout value and the corresponding command to 
  440. the author of the program.
  441. If no 
  442. .I timeout 
  443. option is present, a default timeout of 40 seconds is used.
  444. .TP
  445. .BI driver= name
  446. Allows to use a user supplied driver name for the device.
  447. To get a list of possible drivers use
  448. .BR "driver=help" .
  449. The reason for the existence of this option is to allow users to use 
  450. .B cdrecord
  451. with drives that are similar to supported drives but not known
  452. directly by
  453. .BR cdrecord .
  454. Use this option with extreme care. If a wrong driver is used for a
  455. device, the possibility of creating corrupted disks is high.
  456. The minimum problem related to a wrong driver is that the 
  457. .B -speed
  458. or 
  459. .B -dummy
  460. will not work.
  461. .sp
  462. There are two special driver entries in the list:
  463. .B cdr_simul
  464. and
  465. .BR dvd_simul .
  466. These driver entries are designed to make timing tests at any speed
  467. or timing tests for drives that do not support the 
  468. .B -dummy
  469. option.
  470. The simulation drivers implement a drive with a buffer size of 1MB
  471. that can be changed via the 
  472. .B CDR_SIMUL_BUFSIZE
  473. environment variable.
  474. The simultaion driver correctly simulates even a buffer underrun condition.
  475. If the 
  476. .B -dummy 
  477. option is present, the simultaion is not aborted in case of a buffer underrun.
  478. .TP
  479. .B -checkdrive
  480. Checks if a driver for the current drive is present and exit.
  481. If the drive is a known drive, 
  482. .B cdrecord
  483. uses exit code 0.
  484. .TP
  485. .B -prcap
  486. Print the drive capabilities for SCSI-3/mmc compliant drives
  487. as obtained from mode page 0x2A. Values marked with 
  488. .I kB
  489. use 1000 bytes as kilo-byte, values marked with
  490. .I KB
  491. use 1024 bytes as Kilo-byte.
  492. .TP
  493. .B -inq
  494. Do an inquiry for the drive, print the inquiry info and exit.
  495. .TP
  496. .B -scanbus
  497. Scan all SCSI devices on all SCSI busses and print the inquiry
  498. strings. This option may be used to find SCSI address of the 
  499. CD-Recorder on a system.
  500. The numbers printed out as labels are computed by: 
  501. .B "bus * 100 + target
  502. .TP
  503. .B -reset
  504. Try to reset the SCSI bus where the CD recorder is located. This works not
  505. on all operating systems.
  506. .TP
  507. .B -ignsize
  508. Ignore the known size of the medium. This options should be used with extreme
  509. care, it exists only for debugging purposes don't use it for other reasons.
  510. It is not needed to write disks with more than the nominal capacity.
  511. .TP
  512. .B -useinfo
  513. Use *.inf files to overwrite audio options.
  514. If this option is used, the pregap size information is read from 
  515. the *.inf file that is associated with the file that contains the audio
  516. data for a track.
  517. .TP
  518. .BR defpregap =#
  519. Set the default pre-gap size for all tracks except track number 1.
  520. This option currently only makes sense with the TEAC drive when
  521. creating track-at-once disks without the 2 second silence before each track.
  522. .br
  523. This option may go away in future. 
  524. .TP
  525. .B -packet
  526. Set 
  527. .B "Packet writing mode. 
  528. This is an experimental interface.
  529. .TP
  530. .BR pktsize =#
  531. Set the paket size to #, forces fixed packet mode.
  532. This is an experimental interface.
  533. .TP
  534. .B -noclose
  535. Do not close the current track, useful only when in packet writing mode.
  536. This is an experimental interface.
  537. .TP
  538. .B mcn=med_cat_nr
  539. Set the 
  540. .B "Media Catalog Number
  541. of the CD to 
  542. .IR med_cat_nr .
  543. .SH "TRACK OPTIONS
  544. .PP
  545. Track options may be mixed with track file names.
  546. .TP
  547. .B isrc=ISRC_number
  548. Set the 
  549. .B "International Standard Recording Number
  550. for the next track to
  551. .IR ISRC_number .
  552. .TP
  553. .BI index= list
  554. Sets an index list for the next track.
  555. In index list is a comma separated list of numbers that are counting
  556. from index 1. The first entry in this list must contain a 0, the following 
  557. numbers must be an ascending list of numbers (counting in 1/75 seconds) that 
  558. represent the start of the indices. An index list in the form:
  559. 0,7500,15000 sets index 1 to the start of the track, index 2 100 seconds from
  560. the start of the track and index 3 200 seconds from the start of the track.
  561. .TP
  562. .B -audio
  563. If this flag is present, all subsequent tracks are written in
  564. .B "CD-DA 
  565. (similar to Red Book) audio format.
  566. The file with data for this tracks should
  567. contain stereo, 16-bit digital audio with 44100 samples/s.
  568. The byte order should be the following: MSB left, LSB left, 
  569. MSB right, LSB right, MSB left and so on. The track should be a multiple of 
  570. 2352 bytes. It is not possible to put the master image of an audio track 
  571. on a raw disk because 
  572. data will be read in multiple of 2352 bytes during the recording process.
  573. .sp
  574. If a filename ends in 
  575. .I .au
  576. or
  577. .I .wav
  578. the file is considered to be a structured audio data file.
  579. .B Cdrecord
  580. assumes that the file in this case is a Sun audio file or a
  581. Microsoft .WAV file
  582. and extracts the audio data from the files by skipping over the
  583. non-audio header information.
  584. In all other cases, cdrecord will only work correctly if the
  585. audio data stream does not have any header.
  586. Because many structured audio files do not have an integral
  587. number of blocks (1/75th second) in length,
  588. it is often necessary to specify the
  589. .B -pad
  590. option as well.
  591. .B cdrecord
  592. recognizes that audio data in a .WAV file is stored in Intel
  593. (little-endian) byte order, and will automatically byte-swap the data
  594. if the CD recorder requires big-endian data.  
  595. .B Cdrecord
  596. will reject any audio file that does not match the Red Book requirements
  597. of 16-bit stereo samples in PCM coding at 44100 samples/second.
  598. .sp
  599. Using other structured audio data formats as input to 
  600. .B cdrecord
  601. will usually work if the structure of the data is the 
  602. structure described above (raw pcm data in big-endian byte order).
  603. However, if the data format includes a header,
  604. you will hear a click at the start of a track.
  605. .TP
  606. .I " "
  607. If neither 
  608. .I -data 
  609. nor
  610. .I -audio
  611. have been specified, 
  612. .B cdrecord
  613. defaults to 
  614. .I -audio
  615. for all filenames that end in
  616. .I .au
  617. or 
  618. .I .wav
  619. and to
  620. .I -data 
  621. for all other files.
  622. .TP
  623. .B -swab
  624. If this flag is present, audio data is assumed to be in byte-swapped
  625. (little-endian) order.  Some types of CD-Writers e.g. Yamaha, Sony and the
  626. new SCSI-3/mmc drives require audio data to be presented in
  627. little-endian order,
  628. ." (which is the order in which it's actually recorded on the CD) ????
  629. while other writers require audio data to be
  630. presented in the big-endian (network) byte order normally used by the
  631. SCSI protocol.
  632. .B Cdrecord
  633. knows if a CD-Recorder needs audio data in big- or little-endian order,
  634. and corrects the byte order of the data stream to match the needs
  635. of the recorder.
  636. You only need the 
  637. .I -swab 
  638. flag if your data stream is in Intel (little-endian) byte order.
  639. .sp
  640. Note that the verbose output of
  641. .B cdrecord
  642. will show you if swapping is necessary to make the byte order of 
  643. the input data fit the required byte order of the recorder.
  644. .B Cdrecord
  645. will not show you if the 
  646. .I -swab 
  647. flag was actually present for a track.
  648. .TP
  649. .B -data
  650. If this flag is present, all subsequent tracks are written in
  651. .B "CD-ROM mode 1
  652. (Yellow Book) format. The data is a multiple of 2048 bytes.
  653. The file with track data should contain an 
  654. .BR ISO-9660 " or " "Rock Ridge
  655. filesystem image (see 
  656. .B mkisofs
  657. for more details). If the track data is an
  658. .B ufs
  659. filesystem image, fragment size should be set to 2 KB or more to allow
  660. CR-drives with 2 KB sector size to to be used for reading.
  661. .TP
  662. .I " "
  663. -data is the default, if no other flag is present.
  664. .TP
  665. .I " "
  666. If neither 
  667. .I -data 
  668. nor
  669. .I -audio
  670. have been specified, 
  671. .B cdrecord
  672. defaults to 
  673. .I -audio
  674. for all filenames that end in
  675. .I .au
  676. or 
  677. .I .wav
  678. and to
  679. .I -data 
  680. for all other files.
  681. .TP
  682. .B -mode2
  683. If this flag is present, all subsequent tracks are written in
  684. .B "CD-ROM mode 2
  685. format. The data is a multiple of 2048 bytes.
  686. .TP
  687. .B -xa1
  688. If this flag is present, all subsequent tracks are written in
  689. .B "CD-ROM XA mode 1
  690. format. The data is a multiple of 2048 bytes.
  691. .TP
  692. .B -xa2
  693. If this flag is present, all subsequent tracks are written in
  694. .B "CD-ROM XA mode 2
  695. format. The data is a multiple of 2048 bytes.
  696. .TP
  697. .B -cdi
  698. If this flag is present, all subsequent tracks are written in
  699. .B "CDI
  700. format. The data is a multiple of 2048 bytes.
  701. .TP
  702. .B -isosize
  703. Use the 
  704. .B "ISO-9660
  705. file system size as the size of the next track.
  706. This option is needed if you want to read the image of a track from
  707. a raw disk partition or on a master CD. In the first case the option
  708. .B -isosize
  709. is needed to limit the size of the CD to the size of the ISO filesystem.
  710. In the second case the option
  711. .B -isosize
  712. is needed to prevent 
  713. .B cdrecord
  714. from reading the two run out blocks that are appended by each CD-recorder
  715. in track at once mode. These two run out blocks cannot be read and would
  716. cause a buffer under run that would cause a defective copy.
  717. Do not use this option if 
  718. .B cdrecord
  719. reads the track data from 
  720. .IR stdin .
  721. This option currently cannot be used to determine the size of a file system
  722. if the multi session option is present.
  723. .TP
  724. .B -pad
  725. If the track is a data track, 15 sectors of zeroed data
  726. will be added to the end of this and each subsequent data track.
  727. In this case, the 
  728. .B -pad 
  729. option is superseded by the 
  730. .B padsize=
  731. option. It will remain however as a shorthand for
  732. .BI padsize=15s.
  733. If the 
  734. .I -pad 
  735. option refers to an audio track,
  736. .B cdrecord 
  737. will pad the audio data to be a multiple of 2352 bytes. 
  738. The audio data padding is done with binary zeroes which is 
  739. equal to absolute silence.
  740. .sp
  741. .B -pad 
  742. remains valid until disabled by 
  743. .BR -nopad .
  744. .TP
  745. .BR padsize= #
  746. Set the amount of data to be appended as padding to the next track to #.
  747. Opposed to the behavior of the 
  748. .B -pad
  749. option, the value for 
  750. .I padsize=
  751. is reset to zero for each new track.
  752. See
  753. .BR fs =
  754. option for possible arguments.
  755. Use this option if your CD-drive is not able to read the last sectors of
  756. a track or if you want to be able to read the CD
  757. on a 
  758. .B Linux 
  759. system with the ISO-9660 filesystem read ahead bug.
  760. If an empty file is used for track data, 
  761. this option may be used to create a disk that is entirely made of padding.
  762. .TP
  763. .B -nopad
  764. Do not pad the following tracks - the default.
  765. .TP
  766. .BR pregap =#
  767. Set the  pre-gap size for the next track.
  768. This option currently only makes sense with the TEAC drive when
  769. creating track-at-once disks without the 2 second silence before each track.
  770. .br
  771. This option may go away in future. 
  772. .TP
  773. .B -preemp
  774. If this flag is present, all TOC entries for subsequent audio tracks 
  775. will indicate that the audio data has been sampled with 50/15 祍ec
  776. preemphasis.
  777. The data, however is not modified during the process of transferring from file
  778. to disk. 
  779. This option has no effect on data tracks.
  780. .TP
  781. .B -nopreemp
  782. If this flag is present, all TOC entries for subsequent audio tracks 
  783. will indicate that the audio data has been mastered with linear data - 
  784. this is the default.
  785. .TP
  786. .B tsize=#
  787. If the master image for the next track has been stored on a raw disk, 
  788. use this option
  789. to specify the valid amount of data on this disk. If the image of the next 
  790. track is stored in a regular file, the size of that file is taken to determine
  791. the length of this track.
  792. If the track contains an ISO 9660 filesystem image use the 
  793. .I -isosize
  794. option to determine the length of that filesystem image.
  795. .br
  796. In Disk at Once mode and with some drives that use
  797. the TEAC programming interface, even in Track at Once mode,
  798. .B cdrecord
  799. needs to know the size of each track before starting to write the disk.
  800. Cdrecord now checks this and aborts before starting to write.
  801. If this happens you will need to run
  802. .B "mkisofs -print-size
  803. before and use the output as an argument to the 
  804. .BR tsize =
  805. option of 
  806. .BR cdrecord .
  807. .br
  808. See
  809. .BR fs =
  810. option for possible arguments.
  811. .SH EXAMPLES
  812. .PP
  813. For all examples below, it will be assumed that the CD-Recorder is
  814. connected to the primary SCSI bus of the machine. The SCSI target id is
  815. set to 2.
  816. .PP
  817. To record a pure CD-ROM at double speed, using data from the file
  818. .IR cdimage.raw :
  819. .PP
  820.     cdrecord -v speed=2 dev=2,0 cdimage.raw
  821. .PP
  822. To create an image for a ISO 9660 filesystem with Rock Ridge extensions:
  823. .PP
  824.     mkisofs -R -o cdimage.raw /home/joerg/master/tree
  825. .PP
  826. To check the resulting file before writing to CD on Solaris:
  827. .PP
  828.     mount -r -F fbk -o type=hsfs /dev/fbk0:cdimage.raw /mnt
  829. .PP
  830. On Linux:
  831. .PP
  832.     mount cdimage.raw -r -t iso9660 -o loop /mnt
  833. .PP
  834. Go on with:
  835. .br
  836.     ls -lR /mnt
  837. .br
  838.     umount /mnt
  839. .PP
  840. If the overall speed of the system is sufficient and the structure of
  841. the filesystem is not too complex, cdrecord will run without creating an
  842. image of the ISO 9660 filesystem. Simply run the pipeline:
  843. .PP
  844.     mkisofs -R /master/tree | cdrecord -v fs=6m speed=2 dev=2,0 -
  845. .PP
  846. The recommended minimum fifo size for running this pipeline is 4 MBytes.
  847. As the default fifo size is 4 MB, the 
  848. .B fs=
  849. option needs only be present if you want to use a different fifo size.
  850. If your system is loaded, you should run mkisofs in the real time class too.
  851. To raise the priority of 
  852. .B mkisofs
  853. replace the command
  854. .PP
  855.     mkisofs -R /master/tree
  856. .br
  857. by
  858. .br
  859.     priocntl -e -c RT -p 59 mkisofs -R /master/tree
  860. .sp
  861. on Solaris and by
  862. .sp
  863.     nice --18 mkisofs -R /master/tree
  864. .sp
  865. on systems that don't have
  866. .B "UNIX International
  867. compliant realtime scheduling.
  868. .PP
  869. Cdrecord runs at priority 59 on Solaris, you should run mkisofs
  870. at no more than priority 58. On other systems, you should run mkisofs
  871. at no less than nice --18.
  872. .PP
  873. Creating a CD-ROM without file system image on disk has been tested
  874. on a Sparcstation-2 with a Yamaha CDR-400. It did work up to quad speed
  875. when the machine was not loaded.
  876. A faster machine may be able to handle quad speed also in the loaded case.
  877. .PP
  878. To record a pure CD-DA (audio) at single speed, with each track contained
  879. in a file named
  880. .IR track01.cdaudio ,
  881. .IR track02.cdaudio ,
  882. etc:
  883. .PP
  884.     cdrecord -v speed=1 dev=2,0 -audio track*.cdaudio
  885. .PP
  886. To check if it will be ok to use double speed for the example above. 
  887. Use the dummy write option:
  888. .PP
  889.     cdrecord -v -dummy speed=2 dev=2,0 -audio track*.cdaudio
  890. .PP
  891. To record a mixed-mode CD with an ISO 9660 filesystem from
  892. .I cdimage.raw
  893. on the first track, the other tracks being audio tracks from the files
  894. .IR track01.cdaudio ,
  895. .IR track02.cdaudio ,
  896. etc:
  897. .PP
  898.     cdrecord -v -dummy dev=2,0 cdimage.raw -audio track*.cdaudio
  899. .PP
  900. To handle drives that need to know the size of a track before starting to write,
  901. first run
  902. .PP
  903.     mkisofs -R -q -print-size /master/tree
  904. .PP
  905. and then run
  906. .PP
  907.     mkisofs -R /master/tree | cdrecord speed=2 dev=2,0 tsize=XXXs -
  908. .PP
  909. where 
  910. .I XXX
  911. is replaced by the output of the previous run of mkisofs.
  912. .SH ENVIRONMENT
  913. .TP
  914. CDR_DEVICE
  915. This may either hold a device identifier that is suitable to the open
  916. call of the SCSI transport library or a label in the file /etc/default/cdrecord.
  917. .TP
  918. CDR_SPEED
  919. Sets the default speed value for writing (see also 
  920. .B -speed
  921. option).
  922. .TP
  923. CDR_FIFOSIZE
  924. Sets the default size of the FIFO (see also 
  925. .B fs=#
  926. option).
  927. .SH FILES
  928. .TP
  929. /etc/default/cdrecord
  930. Default values can be set for the following options in /etc/default/cdrecord.
  931. For example:
  932. .SM CDR_FIFOSIZE=8m
  933. or
  934. .SM CDR_SPEED=2
  935. .RS
  936. .TP
  937. CDR_DEVICE
  938. This may either hold a device identifier that is suitable to the open
  939. call of the SCSI transport library or a label in the file /etc/default/cdrecord 
  940. that allows to identify a specific drive on the system.
  941. .TP
  942. CDR_SPEED
  943. Sets the default speed value for writing (see also 
  944. .B -speed
  945. option).
  946. .TP
  947. CDR_FIFOSIZE
  948. Sets the default size of the FIFO (see also 
  949. .B fs=#
  950. option).
  951. .TP
  952. Any other label
  953. is an identifier for a specific drive on the system.
  954. Such an identifier may not contain the characters ',', '/', '@' or ':'.
  955. .sp
  956. Each line that follows a label contains a TAB separates list of items.
  957. Currently, three items are recognized: the SCSI ID of the drive, the
  958. default speed that should be used for this drive and the default FIFO size
  959. that should be used for this drive. The values for 
  960. .I speed
  961. and
  962. .I fifosize
  963. may be set to -1 to tell cdrecord to use the global defaults.
  964. A typical line may look this way:
  965. .sp
  966. teac1= 0,5,0 4 8m
  967. .sp
  968. yamaha= 1,6,0 -1 -1
  969. .sp
  970. This tells
  971. .B cdrecord
  972. that a drive named
  973. .I teac1
  974. is at scsibus 0, target 5, lun 0 and should be used with speed 4 and
  975. a FIFO size of 8 MB.
  976. A second drive may be found at scsibus 1, target 6, lun 0 and uses the
  977. default speed and the default FIFO size.
  978. .RE
  979. .SH SEE ALSO
  980. .BR mkisofs (1),
  981. .BR scg (7),
  982. .BR fbk (7).
  983. .SH NOTES
  984. Disks made in 
  985. .B "Track At Once 
  986. mode are not suitable as a master for direct mass production by CD manufacturers.
  987. You will need the 
  988. .B "disk at once
  989. option to record such disks.
  990. Nevertheless the disks made in
  991. .B "Track At Once 
  992. will normally be read in all CD players. Some old
  993. audio CD players however may produce a two second click between two audio tracks.
  994. .PP
  995. The minimal size of a track is 4 seconds or 300 sectors. If you write 
  996. smaller tracks, the CD-Recorder will add dummy blocks. This is not an
  997. error, even though the SCSI-error message looks this way.
  998. .PP
  999. .B Cdrecord
  1000. has been tested on an upgraded Philips CDD-521 recorder at single and 
  1001. double speed on a SparcStation 20/502 with no problems, slower computer systems
  1002. should work also. 
  1003. The newer Philips/HP/Plasmon/Grundig
  1004. drives as well as Yamaha CDR-100 and CDR-102 work also. The Plasmon RF-4100
  1005. work, but has not tested in multi session.
  1006. A Philips CDD-521 that has not been upgraded will not work.
  1007. The Sony CDU-924 has been tested, but does not support XA-mode2 in hardware.
  1008. The sony therefore cannot create conforming multi session disks.
  1009. The Ricoh RO-1420C works, but some people seem to have problems to 
  1010. use them with speed=2, try speed=0 in this case.
  1011. .PP
  1012. The Yamaha CDR-400 and all new SCSI-3/mmc conforming drives are supported
  1013. in single and multi-session.
  1014. .PP
  1015. You should run several tests in all supported speeds of your drive with the
  1016. .B -dummy
  1017. option turned on if you are using 
  1018. .B cdrecord
  1019. on an unknown system. Writing a CD is a realtime process. 
  1020. .B NFS
  1021. will not always deliver constantly the needed data rates.
  1022. If you want to use 
  1023. .B cdrecord 
  1024. with CD-images that are located on a
  1025. .B NFS
  1026. mounted filesystem, be sure that the fifo size is big enough.
  1027. I used
  1028. .B cdrecord 
  1029. with with medium load on a SS20/502 and even at quad speed 
  1030. on a Sparcstation-2 which was heavily loaded, 
  1031. but it is recommended to leave the system
  1032. as lightly loaded as possible while writing a CD.
  1033. If you want to make sure that buffer underrungs are not
  1034. caused by your source disk, you may use the command
  1035. .PP
  1036. .B "    cdrecord -dummy dev=2,0 padsize=600m /dev/null
  1037. .PP
  1038. to create a disk that is entirely made of dummy data.
  1039. .B Cdrecord
  1040. needs to run as root to get access to the 
  1041. .B /dev/scg?
  1042. device nodes and to be able to lock itself into memory.
  1043. .PP
  1044. If you don't want to allow users to become root on your system,
  1045. .B cdrecord
  1046. may safely be installed suid root. This allows all users or a group of
  1047. users with no root privileges to use 
  1048. .B cdrecord.
  1049. .B Cdrecord 
  1050. in this case checks, if the real user would have been able to read 
  1051. the specified files.
  1052. To give all user access to use 
  1053. .B cdrecord, 
  1054. enter:
  1055. .PP
  1056. chown root /usr/local/bin/cdrecord
  1057. .br
  1058. chmod 4711 /usr/local/bin/cdrecord
  1059. .PP
  1060. To give a restricted group of users access to cdrecord enter:
  1061. .PP
  1062. chown root /usr/local/bin/cdrecord
  1063. .br
  1064. chgrp cdburners /usr/local/bin/cdrecord
  1065. .br
  1066. chmod 4710 /usr/local/bin/cdrecord
  1067. .PP
  1068. and add a group 
  1069. .I cdburners
  1070. on your system.
  1071. .PP
  1072. Never give write permissions for non root users to the 
  1073. .I /dev/scg?
  1074. devices unless you would allow anybody to read/write/format
  1075. all your disks.
  1076. .PP
  1077. You should not connect old drives that do not support
  1078. disconnect/reconnect to either the SCSI bus that is connected to the
  1079. CD-Recorder or the source disk.
  1080. .PP
  1081. A Compact Disc can have no more than 99 tracks.
  1082. .PP
  1083. When creating a disc with both audio and data tracks, 
  1084. the data should be on track 1 otherwise you should create
  1085. a CDplus disk which is a multi session disk with the first session 
  1086. containing the audio tracks and the following session containing the data track.
  1087. .PP
  1088. Many operating systems are not able to read more than a single data track, or
  1089. need special software to do so.
  1090. .PP
  1091. More information on the SCSI command set of a HP CD-Recorder can be found at:
  1092. .PP
  1093. http://www.hp.com/isgsupport/cdr/index.html
  1094. .PP
  1095. If you have more information or SCSI command manuals for currently 
  1096. unsupported CD-Recorders please contact the author.
  1097. .PP
  1098. The Philips CDD 521 CD-Recorder (even in the upgraded version)
  1099. has several firmware bugs. Some of them will
  1100. force you to power cycle the device or to reboot the machine.
  1101. .PP
  1102. When using 
  1103. .B cdrecord
  1104. with the broken 
  1105. .B "Linux SCSI generic driver."
  1106. You should note that 
  1107. .B cdrecord
  1108. uses a hack, that tries to emulate the functionality of the scg driver.
  1109. Unfortunately, the sg driver on 
  1110. .B Linux
  1111. has several severe bugs:
  1112. .TP
  1113. (bu
  1114. It cannot see if a SCSI command could not be sent at all.
  1115. .TP
  1116. (bu
  1117. It cannot get the SCSI status byte. 
  1118. .B Cdrecord
  1119. for that reason cannot report failing SCSI commands in some
  1120. situations.
  1121. .TP
  1122. (bu
  1123. It cannot get real DMA count of transfer. 
  1124. .B Cdrecord
  1125. cannot tell you if there is an DMA residual count.
  1126. .TP
  1127. (bu
  1128. It cannot get number of bytes valid in auto sense data.
  1129. .B Cdrecord
  1130. cannot tell you if device transfers no sense data at all.
  1131. .TP
  1132. (bu
  1133. It fetches to few data in auto request sense (CCS/SCSI-2/SCSI-3 needs >= 18).
  1134. .PP
  1135. The fifo percent output is computed just after a block of data has been written
  1136. to the CD-Recorder. For this reason, there will never be 100% fifo fill,
  1137. while the fifo is in streaming mode.
  1138. .SH DIAGNOSTICS
  1139. .PP
  1140. You have 9 seconds to type ^C to abort 
  1141. .B cdrecord
  1142. after you see the message:
  1143. .PP
  1144. Starting to write CD at speed %d in %s mode for %s session.
  1145. .PP
  1146. A typical error message for a SCSI command looks like:
  1147. .sp
  1148. .RS
  1149. .nf
  1150. cdrecord: I/O error. test unit ready: scsi sendcmd: no error
  1151. CDB:  00 20 00 00 00 00
  1152. status: 0x2 (CHECK CONDITION)
  1153. Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00
  1154. Sense Key: 0x5 Illegal Request, Segment 0
  1155. Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0
  1156. Sense flags: Blk 0 (not valid)
  1157. .fi
  1158. .sp
  1159. .RE
  1160. The first line gives information about the transport of the command.
  1161. The text after the first colon gives the error text for the system call
  1162. from the view of the kernel. It usually is:
  1163. .B "I/O error
  1164. unless other problems happen. The next words contain a short description for
  1165. the SCSI command that fails. The rest of the line tells you if there were
  1166. any problems for the transport of the command over the SCSI bus.
  1167. .B "fatal error
  1168. means that it was not possible to transport the command (i.e. no device present
  1169. at the requested SCSI address).
  1170. .PP
  1171. The second line prints the SCSI command descriptor block for the failed command.
  1172. .PP
  1173. The third line gives information on the SCSI status code returned by the 
  1174. command, if the transport of the command succeeds. 
  1175. This is error information from the SCSI device.
  1176. .PP
  1177. The fourth line is a hex dump of the auto request sense information for the 
  1178. command.
  1179. .PP
  1180. The fifth line is the error text for the sense key if available, followed
  1181. by the segment number that is only valid if the command was a
  1182. .I copy
  1183. command. If the error message is not directly related to the current command,
  1184. the text
  1185. .I deferred error
  1186. is appended.
  1187. .PP
  1188. The sixth line is the error text for the sense code and the sense qualifier if available.
  1189. If the type of the device is known, the sense data is decoded from tables
  1190. in
  1191. .IR scsierrs.c " .
  1192. The text is followed by the error value for a field replaceable unit.
  1193. .PP
  1194. The seventh line prints the block number that is related to the failed command
  1195. and text for several error flags. The block number may not be valid.
  1196. .PP
  1197. The following message is not an error:
  1198. ..sp
  1199. .RS
  1200. .nf
  1201. Track 01: Total bytes read/written: 2048/2048 (1 sectors).
  1202. cdrecord: I/O error. flush cache: scsi sendcmd: no error
  1203. CDB:  35 00 00 00 00 00 00 00 00 00
  1204. status: 0x2 (CHECK CONDITION)
  1205. Sense Bytes: F0 00 05 80 00 00 27 0A 00 00 00 00 B5 00 00 00 00 00
  1206. Sense Key: 0x5 Illegal Request, Segment 0
  1207. Sense Code: 0xB5 Qual 0x00 (dummy data blocks added) Fru 0x0
  1208. Sense flags: Blk -2147483609 (valid)
  1209. .fi
  1210. .sp
  1211. .RE
  1212. It simply notifies, that a track that is smaller than the minimum size has been
  1213. expanded to 300 sectors.
  1214. .SH BUGS
  1215. .PP
  1216. .B Cdrecord
  1217. has even more options than 
  1218. .BR ls .
  1219. .PP
  1220. .B Cdrecord
  1221. currently only warns if the input data will not fit on the disk.
  1222. If you don't abort the command you will get unpredictable results.
  1223. .PP
  1224. There should be an option to write index numbers for audio tracks.
  1225. .PP
  1226. There should be a recover option to make disks usable, that have been written
  1227. during a power failure.
  1228. .SH CREDITS
  1229. .PP
  1230. .TP 15
  1231. Bill Swartz (Bill_Swartz@twolf.com)
  1232. .br
  1233. For helping me with the TEAC driver support
  1234. .TP
  1235. Aaron Newsome (aaron.d.newsome@wdc.com)
  1236. .br
  1237. For letting me develop Sony support on his drive
  1238. .TP
  1239. Eric Youngdale (eric@andante.jic.com)
  1240. .br
  1241. For supplying mkisofs
  1242. .TP
  1243. Gadi Oxman (gadio@netvision.net.il)
  1244. .br
  1245. For tips on the ATAPI standard
  1246. .TP
  1247. Finn Arne Gangstad (finnag@guardian.no)
  1248. .br
  1249. For the first FIFO implementation.
  1250. .TP
  1251. Dave Platt (dplatt@feghoot.ml.org)
  1252. .br
  1253. For creating the experimental packet writing support,
  1254. the first implementation of CD-RW blanking support,
  1255. the first .wav file decoder 
  1256. and many nice discussions on cdrecord.
  1257. .TP
  1258. Chris P. Ross (cross@eng.us.uu.net)
  1259. .br
  1260. For the first implementation os a BSDI SCSI rtansport.
  1261. .TP
  1262. Grant R. Guenther   (grant@torque.net)
  1263. .br
  1264. For creating the first parallel port transport implementation
  1265. for Linux.
  1266. .TP
  1267. Kenneth D. Merry (ken@kdm.org)
  1268. .br
  1269. for providing the CAM port for FreeBSD together with Michael Smith (msmith@freebsd.org)
  1270. .SH "MAILING LISTS
  1271. If you want to actively take part on the development of cdrecord,
  1272. you may join the cdwriting mailing list by sending mail to:
  1273. .nf
  1274. .sp
  1275. other-cdwrite-request@lists.debian.org
  1276. .sp
  1277. .fi
  1278. and include the word 
  1279. .I subscribe
  1280. in the body.
  1281. The mail address of the list is:
  1282. .nf
  1283. .sp
  1284. cdwrite@lists.debian.org
  1285. .fi
  1286. .SH AUTHOR
  1287. .nf
  1288. J*org Schilling
  1289. Seestr. 110
  1290. D-13353 Berlin
  1291. Germany
  1292. .fi
  1293. .PP
  1294. Additional information can be found on:
  1295. .br
  1296. http://www.fokus.gmd.de/nthp/employees/schilling/cdrecord.html
  1297. .PP
  1298. Mail bugs and suggestions to:
  1299. .PP
  1300. .B
  1301. joerg@schily.isdn.cs.tu-berlin.de
  1302. or
  1303. .B
  1304. js@cs.tu-berlin.de
  1305. or
  1306. .B
  1307. schilling@fokus.gmd.de