#title CD-RW 사용하기 위한 준비과정
= CD-RW 사용하기 위한 준비과정 =
[[TableOfContents]]
== 시작하기전에 ==
 * 본 문서의 원문은 "[http://minzkn.wowdns.com:2744/wiki/wiki.php/usage_cdrecord]" 입니다.
 * 그 밖에 이 문서의 이전 버젼들
  * "[http://minzkn.wowdns.com:2744/phpBB2/viewtopic.php?t=413]"
  * "[http://joinc.co.kr/modules/moniwiki/wiki.php/mz_cdrw]"
  * "[http://wiki.kldp.org/wiki.php/CDRecord]"
=== 커널옵션 확인 ===
 * 여기서 반드시 선택되어야 할 옵션은 다음과 같습니다.
 * 참고로 '''이 옵션은 2.4.18 을 기준'''으로 합니다. (Linux Kernel v2.6 에서도 마찬가지로 비슷한 옵션을 체크하세요.)
  {{{
<M>   SCSI emulation support
<M>   SCSI generic support
<M> ISO 9660 CDROM file system support
[*]   Microsoft Joliet CDROM extensions
}}}
   * 그러나 만약 이것이 안된다면 관련 옵션인 다음을 확인하셔야 합니다.
    {{{
ATA/IDE/MFM/RLL support  ---> 
     <*> ATA/IDE/MFM/RLL support 
       IDE, ATA and ATAPI Block devices  ---> 
         <*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support 
         <*>   Include IDE/ATA-2 DISK support 
         <M>   Include IDE/ATAPI CDROM support 
         <M>   SCSI emulation support 
   SCSI support  ---> 
     <M> SCSI support 
     <M>   SCSI disk support 
     (20) Maximum number of SCSI disks that can be loaded as modules 
     <M>   SCSI CD-ROM support 
     [*]     Enable vendor-specific extensions (for SCSI CDROM) 
     (4) Maximum number of CDROM devices that can be loaded as modules 
     <M>   SCSI generic support 
   File systems  ---> 
     [*] Quota support 
     <M> Kernel automounter support 
     <M> Kernel automounter version 4 support (also supports v3) 
     <M> ISO 9660 CDROM file system support 
     [*]   Microsoft Joliet CDROM extensions
}}}
=== lilo.conf 확인 ===
 {{{
append="hdc=ide-scsi"
}}}
  * 이 항목이 없으면 추가하셔야 합니다. 이 옵션은 ide를 scsi로 보이게 하는 커널 인자입니다.
  * 예로 다음과 같습니다. 
   {{{
image=/boot/bzImage-2.4.18 
       label=CDRWtest 
       read-only 
       append="hdc=ide-scsi"
}}}
  * '''Linux Kernel v2.6에서는 이 작업을 수행할 필요가 전혀 없습니다. 자신의 커널이 v2.6 이상이라면 이 부분은 하지 마세요.'''
=== ISO file을 CD로 굽는 명령 ===
 {{{
bash# cdrecord -v -eject speed=<RW speed> dev=<Device number> <ISO Image file name>
}}}
  * 위와 같은 형식을 통해 CD를 굽게 되는데 여기서 RW speed는 구입당시 박스나 설명서에 나와있을겁니다. 통상 4라고 하면 무난할듯 하지만 자신의 CDRW에 맞게 사용하세요. 그리고 Device number는 "cdrecord -scanbus" 명령을 통해서 알수 있습니다. 
  * Linux Kernel v2.6에서는 "'''cdrecord -scanbus -dev=ATA:'''" 명령으로 방법이 바뀌었습니다.
  * 저의 경우는 다음과 같이 나오는군요. 
   * Linux Kernel v2.4 이하 버젼에서 
    {{{
bash# cdrecord -scanbus 
   Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 J?g Schilling 
   Linux sg driver version: 3.1.22 
   Using libscg version 'schily-0.5' 
   scsibus0: 
        0,0,0     0) 'TOSHIBA ' 'DVD-ROM SD-R2002' '1Q35' Removable CD-ROM 
        0,1,0     1) * 
        0,2,0     2) * 
        0,3,0     3) * 
        0,4,0     4) * 
        0,5,0     5) * 
        0,6,0     6) * 
        0,7,0     7) * 
   bash# _ 
}}}
   * Linux Kernel v2.6 이상 버젼에서 
    {{{
bash# cdrecord -scanbus -dev=ATA:
Cdrecord-Clone 2.01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 J\uffffrg Schilling
cdrecord: Warning: Running on Linux-2.6.12-gentoo-r6
cdrecord: There are unsettled issues with Linux-2.5 and newer.
cdrecord: If you have unexpected problems, please try Linux-2.4 or Solaris.
scsidev: 'ATA:'
devname: 'ATA'
scsibus: -1 target: -1 lun: -1
Warning: Using badly designed ATAPI via /dev/hd* interface.
Linux sg driver version: 3.5.27
Using libscg version 'schily-0.8'.
scsibus1:
        1,0,0   100) 'SAMSUNG ' 'CD-ROM SC-152G  ' 'C401' Removable CD-ROM
        1,1,0   101) 'HL-DT-ST' 'RW/DVD GCC-4480B' '1.02' Removable CD-ROM
        1,2,0   102) *
        1,3,0   103) *
        1,4,0   104) *
        1,5,0   105) *
        1,6,0   106) *
        1,7,0   107) *
}}}
  * 여기서 예를 들자면 저는 backup.iso를 굽고 싶을때 다음과 같이 하면 되겠네요.
   * Linux Kernel v2.4 이하 버젼에서 
    {{{
bash# cdrecord -v -eject speed=4 dev=0,0,0 backup.iso
}}}
   * Linux Kernel v2.6 이상 버젼에서 (''dev부분에 직접 device를 지정하는것이 가능해졌습니다.'') 
    {{{
bash# cdrecord -v -eject speed=4 dev=/dev/cdrom backup.iso
}}}
   * 그리고 만약 자신이 굽고자 하는 CD매체가 CD-RW라면 먼저 깨끗히 청소하는 작업이 필요한데 이렇게 하시면 CD-RW매체를 청소하고 굽게 됩니다. 하지만 "'''-blank=all'''" 의 경우는 완전히 소거해주는 것으로 시간이 많이 필요로 합니다. 때문에 "'''-blank=minimal'''" 옵션을 사용하시는것으로 시간을 단축할수 있습니다.
    {{{
cdrecord -v -eject -blank=all speed=4 dev=0,0,0 backup.iso
}}}
  * 참고로 "root" 유저로 하셔야 됩니다. 일반 유저로 CD를 굽기 위해서는 몇가지 확인 사항이 더 있는데 그부분은 각자 해결해보세요.
=== 실행화면 예 ===
 * 다음은 Linux Kernel v2.6기준 실행화면입니다. ({{{Fedora Core1 CD1 iso}}} image를 굽는 화면) 
  {{{
bash# cdrecord -v -eject -blank=minimal speed=4 dev=/dev/hdd -data yarrow-i386-disc1.iso
cdrecord: No write mode specified.
cdrecord: Asuming -tao mode.
cdrecord: Future versions of cdrecord may have different drive dependent defaults.
cdrecord: Continuing in 5 seconds...
Cdrecord-Clone 2.01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 J\uffffrg Schilling
cdrecord: Warning: Running on Linux-2.6.12-gentoo-r6
cdrecord: There are unsettled issues with Linux-2.5 and newer.
cdrecord: If you have unexpected problems, please try Linux-2.4 or Solaris.
TOC Type: 1 = CD-ROM
scsidev: '/dev/hdd'
devname: '/dev/hdd'
scsibus: -2 target: -2 lun: -2
Warning: Open by 'devname' is unintentional and not supported.
Linux sg driver version: 3.5.27
Using libscg version 'schily-0.8'.
SCSI buffer size: 64512
atapi: 1
Device type    : Removable CD-ROM
Version        : 0
Response Format: 1
Vendor_info    : 'HL-DT-ST'
Identifikation : 'RW/DVD GCC-4480B'
Revision       : '1.02'
Device seems to be: Generic mmc2 DVD-ROM.
Current: 0x000A
Profile: 0x000A (current)
Profile: 0x0009
Profile: 0x0008
Profile: 0x0002 (current)
Profile: 0x0010
Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).
Driver flags   : MMC-2 SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R
Drive buf size : 1944096 = 1898 KB
FIFO size      : 4194304 = 4096 KB
Track 01: data   629 MB
Total size:      723 MB (71:39.12) = 322434 sectors
Lout start:      723 MB (71:41/09) = 322434 sectors
Current Secsize: 2048
ATIP info from disk:
  Indicated writing power: 5
  Reference speed: 2
  Is not unrestricted
  Is erasable
  ATIP start of lead in:  -11615 (97:27/10)
  ATIP start of lead out: 335925 (74:41/00)
  1T speed low:  0 (reserved val  0) 1T speed high:  4
  2T speed low:  0 (reserved val  5) 2T speed high:  0 (reserved val 12)
  power mult factor: 4 5
  recommended erase/write power: 3
  A1 values: 02 4A B0
  A2 values: 5C C6 26
Disk type:    Phase change
Manuf. index: 18
Manufacturer: Plasmon Data systems Ltd.
Blocks total: 335925 Blocks current: 335925 Blocks remaining: 13491
Starting to write CD/DVD at speed 4 in real TAO mode for single session.
Last chance to quit, starting real write    0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
Performing OPC...
Blanking PMA, TOC, pregap
Blanking time:   46.613s
BURN-Free is OFF.
Performing OPC...
Starting new track at sector: 0
Track 01:  629 of  629 MB written (fifo 100%) [buf 100%]   4.2x.
Track 01: Total bytes read/written: 660340736/660340736 (322432 sectors).
Writing  time: 1079.441s
Average write speed   4.0x.
Min drive buffer fill was 100%
Fixating...
Fixating time:   78.796s
cdrecord: fifo had 10402 puts and 10402 gets.
cdrecord: fifo was 0 times empty and 10314 times full, min fill was 76%.
}}}