리눅스에서 CD/DVD-RW를 사용하기 위한 준비과정

* 작성자
조재혁(Mminzkn@minzkn.com)

  • 고친과정
    2004년 11월 27일 : 처음씀, Linux Kernel 2.4.18기준 첫 문서 릴리즈 (cdrecord 1.10, RedHatLinux)
    2005년 8월 12일 : Linux Kernel 2.6.12-gentoo-r6기준 문서 업데이트 (cdrecord-clone 2.10, GentooLinux)

커널옵션 확인

  • 여기서 반드시 선택되어야 할 옵션은 다음과 같습니다.
  • 참고로 이 옵션은 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로 굽는 명령

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 이하 버젼에서
      cdrecord -v -eject speed=4 dev=0,0,0 backup.iso
      
    • Linux Kernel v2.6 이상 버젼에서 (dev부분에 직접 device를 지정하는것이 가능해졌습니다.)
      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%.
    



/*

[ FrontPage | PrintView | RawView | RSS ]

Copyright ⓒ MINZKN.COM
All Rights Reserved.

MINZKN

----

*/