CD-Writing HOWTO

�@�̡GWinfried Tr�mper <[email protected]>
Ķ�̡G���I�j <[email protected]>

  v2.4.1, 16 December 1997
    _________________________________________________________________

  �o�@�����B�z�b LINUX �ؼg CDs ���ƨ�E
    _________________________________________________________________

1. ²��

    * 1.1 �����n�� ( �o�q��Ķ )
    * 1.2 Suggested readings
    * 1.3 �W����� ( �o�q��Ķ )
    * 1.4 �䴩�����пN����
    * 1.5 �䴩���S��
    * 1.6 �q�T�׾�
    * 1.7 �i�o��

2. �]�w�A�� Linux �t�ΨӿN������

    * 2.1 �]�w Linux �֤�
    * 2.2 �w��M devicefiles
    * 2.3 ���o�n��ӿN������

3. �N������

    * 3.1 �N�����Ф� (�¸��)
    * 3.2 �N�����֥���
    * 3.3 �V�X������

4. �`�ݰ��D�ε���

    * 4.1 "�N���{�Ǧ��h�ӷP"
    * 4.2 "fragmentation �|�_�v�T��X�O�H"
    * 4.3 "�O�_�i�H�N���мv����x�s�b UMSDOS �ɮרt�Τ��O�H "
    * 4.4 "���L��k�i�H�J�A iso9660 ������H"
    * 4.5 "���Ū���μg�J���֥��СH"
    * 4.6 "�Ұʨt�Ϋ��˧�MSCSI-devices?"
    * 4.7 "�i�H�i��@��@�����нƻs�H"
    * 4.8 "Linux �i���i�HŪ�� Joliet ���СH"
    * 4.9 "��˥Υi�g���о�Ū�����СH"
    * 4.10 "��˩�h�Ǹ�ƨ��Ф��H"
    * 4.11 "How to make bootable CD-ROMs?"
    * 4.12 "How to make CD-ROMs writable somehow?"
    * 4.13 "Is it possible to use several writers at once?"
    * 4.14 "Which media is the best?"

5. ���D�ѨM

    * 5.1 �b Linux �U����
    * 5.2 Error-message: No read access for 'dev=2,0'.
    * 5.3 ������b DOS �@�ϥ�
    * 5.4 �N���L�{���� SCSI ���~

6. ��� (�o�q��Ķ)
    _________________________________________________________________

1. ²��

  �{�b���ܦh�H�ϥ� Linux �ӿN�����ЬO�]������í�w�M�e���C�S���Ŧ�e���M
  �S����X�n�w��զX���x��C�u�n�A�@�����T�]�w�n����N��ϥΡC�o��
  CD-Writing HOWTO����F��˳]�w�A��˱N��Ʃ�W���ФW�H�Τ��Ф@�Ǧ��쪺
  �{���C

1.1 �����n�� ( �o�q��Ķ )

  Copyright Winfried Tr�mper 1996,1997,1998,1999. All rights reserved.

  Redistribution and use, with or without modification, are permitted
  provided that the name of the author may not be used to endorse or
  promote products derived from this software without specific prior
  written permission.

  The author disclaims all warranties with regard to this document,
  including all implied warranties of merchantability and fitness for a
  certain purpose; in no event shall the author be liable for any
  special, indirect or consequential damages or any damages whatsoever
  resulting from loss of use, data or profits, whether in an action of
  contract, negligence or other tortious action, arising out of or in
  connection with the use of this document.

  Short: read and use at your own risk.

1.2 Suggested readings

  �o��} [1]CD-R FAQ �ئ��@�몺 FAQ ���ťե��СA���пN�����M�N�����Щ�
  �ݪ��n ��C

  �n�O�A�����Я�Ū�����СA�A�_�X�n�� Linux CD-ROM HOWTO Linux SCSI
  HOWTO �M Linux Kernel HOWTO.

1.3 �W����� ( �o�q��Ķ )

  CD-ROM stands for Compact Disc Read Only Memory, a storage medium
  utilizing an optical laser to sense microscopic pits on a silver
  shimmering disk. The silver shimmering comes from an aluminized layer
  which is the carrier. The pits represent the bits of the information
  (in some way) and are so petite that some billions of them fit on the
  disc. Thus a CD is a mass-storage medium.

  The term CD-R is a short form of CD-ROM recordable and refers to a CD
  that doesn't have those "microscopic pits" on it's surface. Thus it's
  empty. Instead of the silver aluminium layer a CD-R has a special film
  (colored) into which "microscopic pits" can be burned in. This is done
  by giving the laser which normally only senses the pits a little bit
  more power so he burns the pits. This action can only be taken once on
  a CD-R, although you can leave out some areas for later writing,
  creating a so called multi-session CD.

  The CD-ROM rewritable (short: CD-RW) was developed to come around the
  limitation of CD-R media. Here the laser can not even burn pits into
  the media, but it can also melt the media back into it's original
  state. This is possible, because the laser does not really burn holes
  into the media - you do not see a puff of smoke while burning and no
  voice from above tells you "target destroyed". What the laser really
  does is to trigger a phase change, thus the name "phase change
  devices" for CD-RW-writers. An example for a very similar technique
  used in daily life is the cleaning car in an ice-hockey stadion:
  during the pauses of the game, the car drives over the ice and fills
  the scratches in the ice (-> bits containing some sort of information
  about the game... hehehe) with melted splinter.

  This HOWTO deals with the task of writing CD-Rs and CD-RWs. Welcome on
  board, captain.

1.4 �䴩�����пN����

  �A�i�H�b�o�رo��@�ӸԺɥi�ΤΤ��i�Φb�U unix �@�~�t�Ϊ������C��
  [2]http://www.guug.de:8080/cgi-bin/winni/lsc.pl.

  �H�U�O�@�ӯ��b cdrecord �U�ϥΪ��������g�C��G

Acer:           CDRW 6206A
BTC:            BCE 621E (IDE)
Compro:         CW-7502, CW-7502B
Dysan:          CRW-1622
Elite:          Elite b444.41
Grundig:        CDR 100 IPW
Guillemot:      Maxi CD-R 4X/8X
HP:             SureStore 4020i, SureStore 6020i,
               C4324, C4325
               CD-Writer+ 7100, CD-Writer+ 7200i,
               CD-Writer+ 8100i, CD-Writer+ 8110i,
Hi-Val:         CDD-3610
JVC:            XR-W2001, XR-W2010, XR-W2042, R-2626
Kodak:          PCD 200, PCD 225, PCD 260, PCD 600
Matsushita:     CW-7502
Memorex:        CRW-620, CRW-1622
Microboards:    PlayWrite 2000, PlayWrite 4000RW, PlayWrite 4001RW
MicroNet:       MasterCD Plus 4x4, MasterCD Plus 4x6
Mitsubishi:     CDRW-226
Mitsumi:        CR-2401-TS, CR-2600 TE,  CR-2801 TE, CR-4801 TE
Nomai:          680.RW
OTI:            CDRW 965
Olympus:        CDS 615E, CDS 620E
Optima:         DisKovery 650 CD-R
OTI:            CDRW 965
Panasonic:      CW-7502, CW-7582
Philips:        CDD-521/10, CDD-522
               CDD-2000, CDD-2600, CDD-3600, CDD-3610
               Omniwriter 26, Omniwriter 26A
Plasmon:        CDR 480, CDR 4220, RF-4100, RF-4102, CDR 4400
Plextor:        CDR PX-24 CS, PX-412 C, PX-R412 C
               PX-R810Ti, PleXwriter 412C
Procom:         PCDR 4
Ricoh:          RO-1420C+, MP 1420C, MP 6200S, MP 6201S
Sanyo:          CRD-R24S
Smart and
Friendly:       CD-RW226, CD-R1002, CD-R1002/PRO, CD-R1004,
               CD-R2004, CD-R2006 PLUS, CD-R2006 PRO,
               CD-R4000, CD-R4006, CD-R4012
Sony:           CDU 920S, CDU 924, CDU 926S, CDU-928E,
               CDU 948S, CDRX 100E
Taiyo Yuden:    EW-50
TEAC:           CD-R50S, CD-R55S, CDR-55S
Traxdata:       CRW 2260, CDR 4120, CDRW 4260,
Turtle Beach:   2040R
WPI (Wearnes):  CDRW-622, CDR-632P
YAMAHA:         CDR-100, CDR 102, CDR-200, CDR-200t, CDR-200tx
               CDR-400, CDR-400c, CDR-400t, CDR-400tx, CDR-400Atx
               CRW-2260, CRW-2260t,
               CRW-4250tx, CRW-4260 t, CRW-4260 tx, CRW-4261,
               CRW-4416 S

    Table 1: CD-writers supported under Linux

  �p�G�A���w�󤣳Q�䴩���ܡA�A���M�i�H�� Linux �ӫإߥ��мv���ɤ��L�A�ݭn
  �� DOS ���n��ӱN�o�ӥ��мv���ɿN���� CD-R �E

1.5 �䴩���S��

  �{�b��������u��Χ@�N�� CD-Rs �G�w���X�ʵ{���M��Ʈ榡�ơC�w���X�ʵ{��
  �䴩�H�U���\��G

Supported Feature   cdwrite-2.1     cdrecord-1.6
------------------------------------------------
IDE/ATAPI           no              yes
Parallel Port       no              yes
CD-RW               no              yes
Multisession        only partial    yes

    Table 2:

  cdwrite �O�@���ª��n��A�b�o�ش��X�u���L�O���F����Ӥw�C�Шϥ�
  cdrecord �ӥN���A�]������䴩���h�����пN�����M�������h���\��C��Ʈ榡
  �ƪ��ت��O�n��´���ФW����� ( ��@��ɮרt�Φb���ФW )

Feature         mkisofs         mkhybrid
--------------------------------------------
ISO 9660        yes             yes
RockRidge       yes             yes
El Torito       yes             yes
HFS             no              yes
Joliet          no              yes

    Table 3:

  ISO 9660 �ɮרt�ΩM Extended-2 �ɮרt�Ϊ��̤j���O�b��A�@���A�N��Ƽg�J
  ���Ф��N����@�ק�CISO 9660 �ɮרt�Ϊ�����H�U�X�ӡG

    * �ؿ���u�঳ 8 �Ӥl�ؿ� (�ѥ��Ъ��ڥؿ��}�l��_) (�� RockRidge �N�i
      �H��}�o�ӭ���)
    * �ɦW�̪��u�঳ 32 �Ӧr��
    * 650 MB �e�q

  RockRidge �O�@�ӯ�O ISO-9660 �ɮרt�Τ䴩���ɦW�θ��`�h�ؿ����c������
  �C��A�b DOS �� Windows ���UŪ�����Юɳo�ǩ������O���i�Ϊ��C

  El Torito �O�@�ӯ��N���}�����Ъ������C�A���ӤH�q�� �򥻿�J/��X�t��
  �]�����䴩�o�ӯS�ʡC�ʲ��a���A���а�Ū�O ����}�l�� 1.44 Mbyte �t���ѧA
  �ѵ����n�Ϥ��ϽL�v���C�򥻿� �J/��X�t�η|��o�Ӽv����@�n�Ϥ���Ұʥ�
  �C

  HFS ��� macintosh Ū�����Ф�����ơA�p�G���Ф������ �O HFS �ɮרt�Ϊ�
  �ܡE( �o�O MacOS �����ɮרt�� )�C

  Joliet ���ɦW�a�� Windows ���s������ (95, 98, NT)�E�ڧ@ �̩Ҫ��A�Ȯ�
  �S���@�ؤu����O DOS �� Windows 3.11 �䴩���� �W�C

  ���� 2.8 �ⴣ�쪺�n�鳣�@�@�C�X�C

1.6 �q�T�׾�

  �p�G�A�Q�ѥ[�}�o�ζ� (���@�ӥD�� ���U �L�̪���), �q�l��
  [email protected] �M�b�q�l���e�g�W subscribe�C

1.7 �i�o��

  �o����󪺳̷s�����i�g�`�b�o���o
  [3]http://www.guug.de/~winni/linux/.

2. �]�w�A�� Linux �t�ΨӿN������

  �p�G�A���\�]�w�A���w��M�A Linux �t�Ϊ���l�����A �R�O cdrecord -
  scanbus �|���A�ݨ�@�ӥi�g�J�˸m���C��C �o�� ���`���ت��O�n�b�]�w�A��
  Linux �t�ήɾɤާA�A�]���̫�A�|�ݨ� �p�U���T���G

shell> cdrecord -scanbus
Cdrecord release 1.7a1 Copyright (C) 1995-1998 J�rg Schilling
scsibus0:
         0) 'Quantum ' 'XP34300         ' 'F76D' Disk
         1) 'SEAGATE ' 'ST11200N        ' '8334' Disk
         2) *
         3) 'TOSHIBA ' 'MK537FB/        ' '6258' Disk
         4) 'WANGTEK ' '5150ES SCSI-36  ' 'ESB6' Removable Tape
         5) 'EXABYTE ' 'EXB-8500-85QUE  ' '0428' Removable Tape
         6) 'TOSHIBA ' 'XM-3401TASUNSLCD' '3593' Removable CD-ROM
         7) *
scsibus1:
       100) 'Quantum ' 'XP31070W        ' 'L912' Disk
       101) *
       102) *
       103) 'TEAC    ' 'CD-R55S         ' '1.0H' Removable CD-ROM
       104) 'MATSHITA' 'CD-R   CW-7502  ' '4.02' Removable CD-ROM
       105) *
       106) 'YAMAHA  ' 'CDR400t         ' '1.0d' Removable CD-ROM
       107) *

    Listing 1: Detecting devices on your SCSI-bus

  �o�ӨҤl�O�� J�rg Schilling �V�Ѫ��A�A�{�b�|�ݨ�@�@���|�ӥi�N �����C��
  �M�A�{�b�O�����O���@�ӥ��о��O�_���@�ӥi�g�J���� ���A���L�A�i�H�b���~
  ���ѧO�����ݥX���O�@�Ӱ�Ū�B�i�g�άO�i ���g���о��C

2.1 �]�w Linux �֤�

  �@�� Linux �֤ߥi�H�]�t�ܦh�X�ʵ{���M�\��C�A�i�H�N�����X�ʵ{�� �sĶ�i
  �֤߼v�����Ϊ̧A�i�H�N���̽sĶ���ҲաA�M��ݦ��ݭn���ɭ� �~�N���̸��J��
  �ߤ��C�ӫ�ij����k�O�N�����i�֪��X�ʵ{���sĶ�i�� �ߡC�|�ҡA�p�G�A���@��
  IDE �� Harddisk�A���A�@�w�NIDE Harddisk ���X�ʵ{���sĶ�i�֤ߤ� ( ���n�s
  Ķ���Ҳ� )�C

  �{�s���T������пN�����GSCSI�AIDE/ATAPI �M�~�m�����C���|�i�ܥX ���
  �]�w Linux ���֤ߨӤ䴩�o�X�إ��пN�����C��檺�Ĥ@�C�O�]�w��� �A�A�i
  �H�b�o�˧�즳����]�w�C��檺�ĤG�C�O�\�໡���C��檺�ĤT�C�O �ҲզW��
  �C

  Y �N��O�M�N���ۧA���ӧ�o�ө��~��J�֤ߡCM �N��ҲթM�N���ۧA���ӧ⥦
  �sĶ���ҲաC Y/M �N��A�i�H�b��̤�����ܨ�@�C�Ū��]�w�N�d�U���n��ʡA
  ����ʥ��i�H�O�A�ন�\�sĶ�֤ߪ����|�W�[�C

  �n�ˬd�����X�ʵ{���b�A���֤ߤ� ( ���׬O�R�A�ΰʺA���J�� )�A�A�i�H�ݳo��
  �ɮ� /dev/devices �C�n�ˬd���ǼҲդw���J�A�A�i�H�� 'lsmod'�C�n�ˬd����
  �� �� �i�H ���J���ܡA��J'modprobe -l'�C�p�G�A�ݭn���Ҳդ��b�A�� �t�Ϊ�
  �ܡA�A�N�n���s�sĶ�֤ߤΦw�˥��C�A�i�H�Ѧ� Kernel-HOWTO ����U�A�� �s�s
  Ķ�֤ߡC�����˳B�z�֤߼Ҳժ��̷s��T�A�i�H�Ѧ� Module-HOWTO�C

Sect.  Description                 Module   SCSI  IDE   PP
------------------------------------------------------------
BLOCK  Enhanced IDE/MFM/RLL...                     Y
BLOCK  IDE/ATAPI CDROM             ide-cd        M/N/Y
BLOCK  SCSI hostadaptor emulation  ide-scsi        M
BLOCK  Loopback device             loop       M    M     M

PARIDE Parallel port IDE device    paride               Y/M
PARIDE Parallel port ATAPI CD-ROMs                       M
PARIDE Parallel port generic ATAPI                       M
PARIDE (select a low-level driver)                       Y

SCSI   SCSI support                scsi_mod  Y/M  Y/M
SCSI   SCSI CD-ROM support         sr_mod    Y/M  Y/M
SCSI     Enable vendor-specific               Y    Y
SCSI   SCSI generic support        sg        Y/M  Y/M
SCSI   (select a low-level driver)            Y

FS     ISO 9660 CDROM filesystem   iso9660    Y    Y     Y
FS     Microsoft Joliet cdrom...   joliet     M    M     M

    Table 4:

  �p�x�A���\�إߩΧ��һݪ��Ҳդ���A�A�i�N���̪��W�٥[�J /etc/modules��
  �Ѧ۰ʤu��Ӹ��J���� (kmod,kerneld)�C�p�G�A���֩w���ܡA�аѦ� Linux �M
  �� ���������ɡC

  "SCSI hostadaptor emulation" �o�ӥ\��b���e�������O�s�� "SCSI
  emulation" ( �j���O 2.0.36 )�C�p�x�A���}�o�ӿﶵ�A�A�N�n�NIDE/ATAPI ��
  �Ъ��X�ʵ{�� �sĶ���ҲաC�n���M�A�N�n�N�������M�ϥ� SCSI �������X�ʵ{��
  �C�]�� 2.2 �t�C ���֤ߤw����P�ɨϥ� IDE �M SCSI ���X�ʵ{���b�P�@�ӵw��
  �W ( �p�x�A�O�ϥ� 2.0.36 �֤ߪ��ܡA�ЬݥH�U������ )�C

  Loopback device �O�@�ӿ�ܩʪ��\��A�����A�b�N���v�����e���դ@�U�A��
  �v���ɡC

  �p�G�A�nŪ�����СA���A�N�ݭn ISO 9660 �ɮרt�Ϊ��䴩�C�o���X�ʵ{���w��
  �ʥ]�tRockRidge �����C�p�G�A�ݭnMS Joliet ���Щ����A�A�K�ݭn�sĶ������
  �յM���J���C

  �b��󪺱��p�U�A���ݭn�@�ӧC�����X�ʵ{���C�C���O�������X�ʵ{���|�����P
  �w �鷾�q�C�ܩ� SCSI �M�����A���ܦh�C�����X�ʵ{���i�ΡA�ЬݥH�U������
  �C

 �� 2.2 �t�Ϊ��S�O����

  �b�֤ߪ��� 2.2.1 ���A���n�P�ɥ��}CONFIG_SCSI_MULTI_LUN �Mide-scsi
  support �o��ӿﶵ�A�]�� ide-scsi ���ΦӦܤ���o�˰��C�L�צp��A����ij
  �j�a����֤� �ɯŬ� 2.2.5 �C

  �@�ǥΤ��i���w�sĶ�n�� cdrecord �M 2.2 �֤ߦ��Ĭ�C�o�O Linux �֤ߪ�
  ���D�C�ѨM����k�p�U�G

    * �A�A���sĶ cdrecord �H�O���A���b linux/include/scsi/sg.h �ت��u��
      �ƭȫ�A���D�N�i��ѨM�F�C �]�� sg �ϥΪ̤����O�ת��A�ҥH���ǼƭȤ@
      �w�n�M�֤ߤ����ƭȤ@�ˤ~��C
    * �o��i��ѩ� sg �X�ʵ{�������o�������O����ӵ� DMA�CJ�rg
      Schillings FTP-site :
      [4]ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/ �� sg_buffer
      patch �ӸѨM�o�Ӱ��D�C

 �� 2.0 �t�C���S�O����

  �b�֤� 2.0.31 �H�e�O���ܦh�Τަܤ���Ū�����Ф��̫�@��ɮסC�ФɯŨ��
  �� 2.0.36�C

  ��� 2.0.36 �ΥH�W�������A�A�i�H��ܨ����X�ʵ{��(IDE or SCSI) �b����
  ATAPI-device�W�ϥΡC���T�a���A�A�i�H�[�J"SCSI emulation" �o�ӥ\���
  �A���֤ߤ��M�A�i�H�b�֤ߩR�O�C�����S�w�� device �Ұʼ�� ( �b�t�αҰ�
  �e�αҰʤ� )�C�|�ҡA�p�G�A�����пN�������o�� devicefile /dev/hdb�A�o��
  �[�J�H�U���y�l hdb=ide-scsi�C

image=/boot/zImage-2.0.36
 label=Linux
 read-only
 append="hdb=ide-scsi"

    Listing 2: Example configuration for lilo (/etc/lilo.conf)

linux "Linux 2.0.36" {
       image=/boot/zImage-2.0.36
       cmdline= root=/dev/hda5 readonly hdb=ide-scsi
}

    Listing 3: Example configuration for chos (/etc/chos.conf)

2.2 �w��M devicefiles

  �b�A�w�˩Ҧ����ݪ��X�ʵ{���H��, ���s�o�ӷs�֤ߡC�����Ӧ��A�b���᳡����
  �� �n���Ҧ��\��C

  [ �p�G�A�O devfs ���ϥΪ̡A�A�N���ݭn�z�|�H�U��ʳ]�w device files ���B
  �J�A�]�� devfs �|���A��z�@�����Ʊ��C]

  �i�J /dev �ؿ��M��ˬd�@�U�A���S�� loopback devices�C ���M�o���O�Ӥj��
  �D�p�G�A�S���o�� devices�A���O���F���̴N�|��K�@�� (�Ь� 3.5 )�E �p�G�A
  �����̪��ܧA�|�ݨ� ls ���O���loop0-loop7�G

shell> cd /dev
shell> ls loop*
loop0 loop1 loop2 loop3 loop4 loop5 loop6 loop7

    Listing: devicefiles for loopback

  �p�G�A�S���o�� device-files ���ܡA�A�i�H��/dev/MAKEDEV-script �ӫإߥ�
  �̡G

shell> cd /dev/
shell> modprobe loop
shell> ./MAKEDEV loop

    Listing: commands to create loopback devices

  �p�G�A��loop �ҲսsĶ�i�֤ߡA�̫᪺���O�A�~�i�H���\����C�A�b�o �جݨ�
  �����˳B�z loop-devicefiles ����k�A�P�˥i�H���Φb��L devicefiles
  ��(sg*, pg*, hd*, ...) ���L�b�H�᪺���`�N���|���T�����C

 IDE/ATAPI ���пN����

  ATAPI �N�� "SCSI ���R�O�b IDE-bus �W����"�C���y�ܻ��A�A��IDE/ATAPI ����
  �N�����|�� SCSI ��w(���L�a���@�ǭ���)�A���Y�O���|������n���@�� SCSI��
  �пN�����@�ˡC

  �b Linux ���U�u�n�A�B��"SCSI (hostadaptor) emulation" �o�Ӯ֤ߥ\�਺�A
  �N�i�H�O�A�� IDE ���пN�����X�{�p�P SCSI-devices ���ˡC�p�G�A��
  ide-scsi �֤߼Ҳլ��ʰ_�Ӫ��ܡA�A�N�|�n���֦��@�� SCSI ���пN�������ˡC

 SCSI ���пN����

  �нT�w�A�����пN�������Q�A�q�����򥻿�J/��X�t�Τ䴩�C�Ʊ��N�ܱo�N�N
  �� �p�G�A�֦��w��ӹq���S����䴩���C

  �p�x�A�Q�N�A�� SCSI-drive �s���ܧA�q���������W���ܡA�A�ݭn�S�O���l�u
  �M�S�O���֤��X�ʵ{���C�ݳo�Ӻ�}
  [5]http://www.torque.net/parport/parscsi.html �H���o��h����ơC

 �@�� SCSI devices

  /dev/sd* �M /dev/sr* �o�� devicefiles �O�ΨӦs�� SCSI �w�ЩM SCSI ����
  �X�ʾ����L SCSI �����X�ʾ����s���u���� block-oriented ��ƶǰe�C�o�� ��
  �̨���ֳt�M�A�X���Ʀs�x�C���L�X�ʥ��пN�������p�g�O�@���[����� ��
  ���A�Ӥ��Oblock-oriented ��ƶǰe����²��C�n�� sd* �M sr* devices �O
  �����b�M�ֳt�A�@�طs���˸m �w generic SCSI-devices�N�l�ͥX�ӡC �]���Ҧ�
  �� SCSI �w�骺�ާ@���i�H�z�L generic devices �ӹF���ӥ��̤S�S�� �S�w��
  �ت��ҥH���̴N�s�� generic�E

  �p�G�A�n��o�� device�A�A�i�H�� /dev ���ؿ��G

shell> cd /dev
shell> ls sg*
sg0  sg1  sg2  sg3  sg4  sg5  sg6  sg7

  �p�G�A�S���o�� device-files �A�A�i�H�b�ΤU�C�� script �ӫإߥ���the
  /dev/MAKEDEV-script:

shell> cd /dev/
shell> ./MAKEDEV sg

 ����𪺥��пN����

  �u�藍�_�A�ڨS���o�譱���ѨM��סC �Ь�
  [6]http://www.torque.net/parport/paride.html �ΧA���Ϫ���
  ��/usr/src/linux/Documentation/paride.txt.

2.3 ���o�n��ӿN������

  �A�i�H�b�o�ا��@�t�C�N�����Ъ��n��
  [7]http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling
  /private/cdb.html.The CD building project for UNIX

 �R�O�C�u��

  �A�ݭn�H�U�{���]������ܨ�@�Ӳ��ͥ��Э쫬�G

    [8]ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/ (mkisofs)

    [9]ftp://ftp.ge.ucl.ac.uk/pub/mkhfs (mkhybrid)

  ���A�����пN���������өw�A�A�ݭn�H�U�䤤���@�ӵ{���ӱN���Э쫬�g�J�G

    [10]ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/ (cdrecord)

  �d�U���n�۫Hmkisofs �ª������ɡA�����A�ݭn cdwrite ���� 1.5 �A�A�u�ݭn
  cdrecord �N�n�F�C�`�N�Gcdrecord �ҥ]�A�� mkiosfs ���@�Ǫ��[���\��E

 Graphical user interfaces (optional)

  Front-ends �b Linux ���u���u�O front-ends�C�Y�O�A���M�ݭn�w�˩R�O�C�u��
  �A ���L�A�i�H�Τ@�Ӹ��n�������Ӥw�C

  X-CD-Roast �O�@�Ӧb Linux �U�e���N�����Ъ��{�����C�����X�F cdrecord �M
  mkisofs �b�@�Ӭ��R�������H���C

    [11]http://www.fh-muenchen.de/home/ze/rz/services/projects/xcdroast
    /e_overview.html

  BurnIT �O�@�� cdrecord, mksiofs and cdda2wav-0.95 �� JAVA front-end �A
  �A�o�ϥ������@�Ӧb Unix ���x�U���㪺���пN���]�ˡA�A�i�H�b�o�ب��o�G

    [12]http://sunsite.auc.dk/BurnIT/

3. �N������

    "If to smoke you turn I shall not cease to fiddle while you burn."
    (Roman emperor Nero about burning his own classic-CDs, AD64. He
    misunderstood it completely.)

  �b Linux �U�N�����Ц��H�U��ӨB�J�G

    * �N�һݪ���ͨ ( �ɮסA���֩Υ��� ) �]�˦��@�ǯS�O�榡���ɮסC
    * ��cdrecord �N�o��ɮ׼g�J���Ф��C

  �o�@���|�Ժ���ѿN����Ƥέ��֥��Ъ��B�J�C

3.1 �N�����Ф� (�¸��)

  �Яd�N�A�ѩ󦬶��n��һݪ��ɶ��`�|��w�p�������A�G�����@�ӻݭn�Ҽ{�� ��
  �D�A�K�O���~��쪺�ɮפ���g�J���N���L�Τw�����N�������СC

  <!- �i���g����H�ɳ��i�H�b�žl����m�g�J��ơA�u�n�A�S��������СA�A�b
  �� �ж}�@�Ӱϰ�A�ܦ�multi-session ���СA�K�i�g�J��ơA���L�o�Ӱ��k�]
  �����I�A�N�O�|���O�ɮץؿ����Ŷ��C --> �٭n��O���Ф����@�w�e�q���Ŷ�
  �|�Χ@�x�sISO-9660-�ɮרt�Ϊ���ơA�q �`�|�ΤW��MB�A�ҥH�@��650MB������
  �A��ڤW�u����620MB�i�ΡC

 �إߥ��мv����

  ���@��x�s�C��A���׳n���A�w�СA��Υ��СA�b�ϥΫe���������إ� �ɮרt
  �ΡA�bDOS�Ө��Y�榡�ơA�Ϩ�֦��@��ɮרt�ΡC�o��ɮרt�� �N�|�Χ@��´
  �ΦX��x�s�C��W���ɮסC

  �@��ΨӮ榡�Ƶw�о����ΰϪ��u�㳣�|���g�J�@�ӪŪ��ɮרt�Ψ�w�Ф��ΰ�
  ���A �M�ᥦ�K�|�Q���W�M�b�ϥΪ̦��ݪ��ɤ~�ۼg�ɮצb�䤤�C���L�@���i�N��
  ���Хu�� �g�J�@���A�p�G�ڭ̼g�J�@�ӪŪ��ɮרt�ΡA���N�|�Q�榡�� �w ���L
  ���û����|�O �@���Ū����СC�i���g�����г��O�@�˪��A�]���A�������
  arbritary sectors �A�� �L�A�i�H�����㰦���Ъ����e�C

  �ҥH�ڭ̻ݭn�@�Ӥu����@��ۼg�ɮפ@��إ�ɮרt�Φb ���Ф��E�o�u��s
  �� mkisofs�E�H�U�N�O�o�u�㪺�ϥ� �Ҥl�G

mkisofs  -r   -o cd_image   private_collection/
             `---------'   `-----------------'
                  |               |
               �g�J��      �H�o�ӥؿ�����J

  '-r' �ﶵ�]�w�Ҧ��b���Ф����ɮ׬������iŪ�M�}�� Rock Ridge �����C �o�O
  �ܦh�H�Q�n���F�褣�L�ϥΫe�A�����֩w���D�A�ۤv�b������C (���ܡG�S��
  '-r' �ﶵ���ܨ��� mount-point �N�|�ܦ� private_collection!)�C

  mkisofs �|���ձN�Ҧ��ɮת��ର DOS ��8.3�榡�H�T�O�̰����ݮe�ʡC �Y�J�W
  �R�W�Ĭ� (���P�ɮצ��ۦP���W��)�A�o�ɴN�|�b�ɮפ��ϥμƦr�Ӧ����� ��
  ����ƴN�|�b STDERR (�q�`���O�ù�) ����ܡC ���n��ߡG�b Linux ���A�û�
  ���|�ݨ� 8.3 �榡���ɮצ]�� Linux �|�ϥ� Rock Ridge �����өҦ��ɮת���
  �Ƴ� �|�b Rock Ridge ������ (�ϥ��v���A�ɮצW�١A����)�C

  ��{�b�A�i��|�ݬ����� mkisofs ����X�������g�J�i�g���о����C�o�� ���
  ��]�G

    * mkisofs ����o����X�ʥi�g���СC
    * �A�i��ݭn�b�N���e���դ@�U�v���ɡC
    * �b�C�����������|�i�a�� (�ݳ��` 4.).

  �|�b�U�����z��˿N���@�����СC

  ���ǤH�i��|�Q���p�إߤ@�ӿW�ߪ����ΰϨӼg�J�v���H�N���ɮסC �ڨä��٦P
  �o�P��k�]���p�G�A�g�J���~�����ΰ�(�ѥ��r���~�ҳy��)���� �A�A�K�|��
  ��� Linux �t�� (�ڴN�չL�o���p)�C�A�̡A�o�˰��|�y���Ϻ� �Ŷ����O�]����
  �мv���O�@�ؼȮɩʪ���ơA���Q�N�����Ыᥦ�K�i�H�R ���C���L�εw�Ф�
  �ΰϥi�H�`�٧A�R���@�� 650 MB �ɮת��ɶ��C (���L�p�G �A���@���B�~������
  �ϥi�H�O�A�`�٧R���v���ɪ��ɶ��C)

 ���ե��мv����

  Linux �i�H�n���ϺФ��ΰϯ�N�ɮױ��W�C�o�O�@�ӫܦn�Ϊ��\�०�i�H�Ψ� ��
  �d�ؿ��t�m�M�ɮרϥ��v���O���O�A�ҭn�D���ˡC���M�{�b�����ЫܫK�y�A ���O
  �N���L�{�̵M�O�ܶO�ɪ��A�ҥH�A�_�X�ݭn���@�ӧֳt�����աC

  �n�N ���мv���� ���W /cdrom �A�ХΥH�U�����O

mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom

  �A�{�b�i�H�b /cdrom ���U�ˬd�U�A���ɮ� �w �{�b����m�K�O�� �̦b�u������
  ������m�C�n�������мv���ɡA�A�u�ݭn�� umount /cdrom �C(ĵ�i�G�p�G�A�O
  �ϥ� Linux �֤� 2.0.31 �ΥH�e�������A�A�N���i��ݤ��� �̫᪺�X��ɮסC
  �Шϥθ��s���֤ߡC The option -pad for cdrecord applies to audio-CDs
  only and the optional option -pad for mkisofs requires a patch, which
  is as much work to apply than to upgrade to a bug-free Linux-kernel.)

  �`�N:

    ���ª� mount �O����B�z loopback-devices�C�p�G�A�O�ϥ��ª� mount
    ���ܲ{�b�O�ɭԧ�s�A�� Linux �F�C

    ���ܦh�H����ij�ڼW�[�@�����p��o�̷s mout �u�㪺��� �b�o��
    mini-HOWTO ���C���ڳ��@�@�ڵ��C�p�x�A�� Linux �M�� ���e�F�ª�����
    mount�G���i�o�O�@�ӯ��ΡC�p�G�A�� �A�� Linux �M��O���໴���ɯšA��
    �i�o�O�@�ӯ��ΡC

    �p�G�ڱN�Ҧ������˧󥿳]�p���} Linux �M�󪺸�ơA�o�� mini-HOWTO
    �N�|�ܱo�ܪ��Ϋ���\Ū�C

 �g�J���мv�����Ф�

  �S���Ӧh���F��n���C�p�G�A���չL�o�ӫ��O�A�{�b�O�ɭԸդU�դF

cdrecord -scanbus

  �o�ӫ��O�|�i�D�A�A���i�g���о��O���b���� SCIS-device ���C�Ҧ� ��L����
  �դ�k���w�g�Q�R�� (�ר�O��� generic SCSI devices �R �W�W�h (naming
  scheme) ���M�I��k)�C

  ���L�b���г̫�@�ӫ����e����ڴ���A��ơA�]���i�g�J���о����w �İϬO��
  �֡A�ҥH���n�D�ҿ�J����Ƭy�O�s�򪺡C���]�p���A�b�N�� ���L�{���O���i��
  �_���A�_�h�|�N�����ѡC�p�G�A�R���@�ӫܤj���ɮ� �N�|�ܮe�����_��Ƭy�C��
  �p�G�A�R���@�� 650 MB �j�p�ɮת��ɭԡA �֤߫K�ݭn��s�w�Фj�� 650,000
  �� blocks (���]�A���ɮרt�άO 1k �@�� block ����) �o�ݭn�ܪ����ɶ��M��
  �i��|�O��Ƭy����X ��C���L�A�p�G�b�@���ܧ֪��q���W�ݹq�l�A�s����
  �ƦܽsĶ�֤� �����|�v�T�N���{�ǡC

  �Ъ`�N�@�W�O�S���@�ӿN�����i�H���m�p�g����m�M�������^ ���z�Z���I�W�A
  ���i��N���C�ҥH���_�ʩμ�������ϧA�� �b�N�������Ш���}�a�C

  �p�G�A�dzƦn���ܡA�A�i�H�U�H�U�������G

shell> SCSI_BUS=0   # taken from listing 1 "scsibus0:"
shell> SCSI_ID=6    # taken from listing 1 "TOSHIBA XM-3401"
shell> SCSI_LUN=0
shell> cdrecord -v speed=2 dev=$SCSI_BUS,$SCSI_ID,$SCSI_LUN \
                  -data  cd_image

# �P�W���@�ˡA���L�u�ǡG
shell> cdrecord -v speed=2 dev=0,6,0  -data  cd_image

  ���F�W�[�iŪ�ʡA�i�g�J���о�����T���x�s�b�o�T�����ܼƤ��G SCSI_BUS,
  SCSI_ID, SCSI_LUN�C�ӿﶵ -data �h�O�ΨӿN����ƥ� �ХΪ��C

  �p�G�A�O�ϥ� cdrecord ���мg CD-RW�A�A�@�w�n�� "blank= . . ." �ӧR����
  ���¦����e�C�Ь� man-page �ӾDzߦ������k�ӲM���Ҧ� CD-RW ���Ҧ����e�C

  �p�G�A���@�� 400 Mhz �q���A�A�i�H�N mkisofs ����X������X�� cdrecord
  ���G

shell> IMG_SIZE=`mkisofs -R -q -print-size private_collection/`
shell> mkisofs -r  private_collection/  \
|cdrecord  speed=2  dev=0,6,0
           tsize=${IMG_SIZE}s  -data  -
#       don't forget the s --^         ^-- read data from STDIN

  �Ĥ@�ӫ��O�u�O�Ψ�ˬd�@�U���мv�������e�èS�����γ~ (�A�ݭn��
  cdrecord-distribution ���� mkisofs �~�i�ϥγo�ӫ��O)�C�A���i�g�J ���Хi
  �ण�ݭn���D���мv���ɪ��j�p�A�o�˧A�K���ݭn�U�o�ӫ��O�C�� �X���j�p����
  �� tsize-parameter �Ӷǻ��� cdrecord�C (�o�ӼƦr�O�x �s IMG_SIZE �o���
  ���ܼƤ�)�C�̫᪺���O�O�� pipe �Ӧ�s mkisofs �M cdrecord �o��ӫ��O�C

3.2 �N�����֥���

  �n�N���@�����֥��Ъ��B�J�P�N����ƥ��Ъ��B�J���j�P�p���C �̥D�n���G�Ӥ�
  �O���@�O���֥��Х]�t���y�A�ӳo�ǭ��y���ݲ�´�� �W�ߪ��v���C�ҥH�p�G�A�Q
  �N���Q�����y���ܡA�A�N�n�إߤQ�Ӽv�� �ɡC�t�@�Ӥ��O�O���мv�����榡���O
  ISO-9660 (�Ϊ̧A�Q�n�����)�A ���L���O "16 bit stereo samples in PCM
  coding at 44100 samples/second (44,1 kHz)".

  �䤤�@�ӳn��s�� sox ���i�H�N����ɮ��ର�һݪ��榡�C �����Ϊk�O��²��
  �����G

shell> sox  killing-my-software.wav  killing-my-software.cdr

  �o�ӫ��O�|�N killing-my-software �o���q�� WAV �榡�ର CDR �榡�C �Ь�
  man-page �Ө��o��h��� sox �ҽT�{���榡�Ω����ɦW�C�]������ �L�{�ݭn��
  �εw�ЪŶ��A�ҥH cdrecord �w���ؤ䴩 WAV �M AU �榡�F�C �ҥH�p�G�A����
  ��ɮצ� .wav �� .au (and the samplerate "stereo, 16 bit, 44,1 kHz")��
  �����ܡA�A�K���ݭn���H���ഫ�C

  �p�G�A���� -audio �ﶵ�Acdrecord �N�|�N�v���ɿN�������y�C�Ө�L���ﶵ
  �N�p�P�N���@���Ƥ@�� (���D�A���D�S�O���n�D)�C�H�U�T�ӫ��O���O�ۦP����
  �L����Ū�����P����ɮ׮榡�G

shell> cdrecord -v speed=2 dev=0,6,0  -audio  track1.cdr track2.cdr...
shell> cdrecord -v speed=2 dev=0,6,0  -audio  track1.wav track2.wav...
shell> cdrecord -v speed=2 dev=0,6,0  -audio  track1.au  track2.au...

  �䤤�@�ӯS�O�Ҥl�O MPEG-3 �ɮסA���i�H�� "mpg123 -s track1.mp3 >
  track.cdr" ���ഫ���һݭn���榡�C�t�@�Ӥ�k�O�� "8hz-mp3" ���ഫ�� WAV
  �ɮ׮榡�C

  �p�G�A�{�b�N�����֥��Ъ��ܡA�A�|�o�{���y�����|�� 2 ������C �p�G�A��
  �i�g�J���о��䴩 "disc at once" (DAO) ���ܡA�A�i�H���եγ̷s��
  cdrecord �ӸѨM���@���D�C

3.3 �V�X������

  �S���Ӧh�n���C�u�ܽd�F��˲V�X�ϥ� -data�@�M�@-audio �ﶵ�H�F��N���V�X
  ���СG

cdrecord  -v dev=0,6,0  -data  cd_image  -audio  track*.cdr

4. �`�ݰ��D�ε���

4.1 "�N���{�Ǧ��h�ӷP"

  ���סG�o�N�n�ݧA���N�����F�C�q�`���s���������|�� 1MB �Χ�h�A�o�˥��K�i
  �H �� 1-2 ��S����ơC�p�G�A�Q�o���h����ƧA�i�H�ݥͲ��өάݬݵw��
  ��U�C

  ���ި��Ǹ�ƽw�ľ����j�p�p��A���ݭn�O�Ҥ@�Ӫ��ɶ� 300 kb/s �� 600
  kb/s ���g�` ��X�C

  �@�ǵw�бK�����u�@�Ҧp��s locate-��Ʈw�C ��C maxium flow rate �N�֩w
  �|�l�a�A�����СF�A�̦n�b�N�����Ыe�� cron�A at �� anacron ��ˬd�@�U�A
  ���_����o�Ǥu�@�C

  �t�@�譱�A���ǤH���L�̯�@���sĶ�֤ߤ@���N�����г��S�������D�C ���T�A
  �n�@���ܧ֪������~�వ�o�ӹ���C

4.2 "fragmentation �|�_�v�T��X�O�H"

  Fragmentation �q�`�����|�v�T��X�C���L�A�i�H�ܮe����y pathological
  cases of fragmentation �Ӵ�C�A���w�п�X�j�� 100 kbyte/second�C�ҥH�d
  �U���n�o�˰��C:-)

  �O���A�A���w�з| fragmented �g�L�g�~���ϥΡC�p�G�V��fragmented�A���ɮ�
  �t�ΫK�V ���C�g�`�O�� 10% �� 20% ���Ŷ��A�o�˿N�����ЫK�S�����D�F�C

  �p�G�A���֩w���ܧA�i�H�ݬݱҰʮɪ��T���A�A�N�i�H�ݨ�A���ɮרt�Φ��X�h
  �ϺЪŶ� fragmentation ���ʥ���C�A�i�H�Τ@�ӫD�`�M�I�����O

shell> e2fsck -n  /dev/sda5        # '-n' is important!
[stuff deleted - ignore any errors]
/dev/sda5: 73/12288 files (12.3% non-contiguous)

  �b�o�ӽd�Ҥ��ϺЪŶ����G�D�`�P�� �w ���L�o�إu�� 73 �ӫD�`�p���ɮצb�o
  ��ɮרt�Τ��A�ҥH�o�ӥu���L�O�@�ӫܤ֪��ȡC

  �{�b���@�ӹ���ʪ��u��n��s�� e2defrag ���i�H�Ψ� defragment
  extended-2 �ɮרt�ΡC���L�{�b�������b�p�H��Ҥ��٬O����í�w�C�p�G�A�u�Q
  defragment �A ���ɮרt�ΡA�Х��ƥ� (�̦n�G��)�A���� restore �ƥ��A�M
  ��إߤ@�ӷs���ɮרt �� (�|�}�a�¦���) �̫�A restore �ƥ��C�`���o�O��
  �w�����ޥ��C

4.3 "�O�_�i�H�N���мv����x�s�b UMSDOS �ɮרt�Τ��O�H "

  �i�H�C�u���@��ɮרt�άO����i�a�M�ֳt�ӿN�����Ъ��A�o�N�O network
  filesystem (NFS)�C

  �ڲ{�b�O�b�@�� (486/66) PC ���ϥ� UMSDOS ���Linux �M DOS/Win �@�ɺϺ�
  �Ŷ��A�ӳo�� 486 �O�M���ӿN�����ХΪ��C

4.4 "���L��k�i�H�J�A iso9660 ������H"

  �i�H�C�A�i�H�Υ��@��ɮרt�ΨӿN�����СC���L�A����b��L���ާ@�t�Τ�
  �� �γo�����СC

  �γo�Ӥ�k�N��F�G

    * �إߤ@�� 650 MB ����ɮסC

dd if=/dev/zero of="empty_file" bs=1024k count=650

    * �M��إߤ@��extended-2 �ɮרt�Φb�o��ɮפ��W

bash> /sbin/mke2fs  empty_file
empty_file is not a block special device.
Proceed anyway? (y,n) y

    * ��loopback-devices �ӱ��W�o��ɮ�

mount -t ext2 -o loop=/dev/loop1 empty_file /mnt

    * �ۼg�@��ɮר� /mnt �M�����C
    * �� cdwrite �� cdrecord �Ӭݬݳo��ɮ� ( ���{�b�Ӥ��O�Ū� ) �O���O
      iso9660-�v���C

  �p�x�A�Q�b/etc/fstab �[�@�ӥX�J�f���������Ъ��ܡA�A�K�ݭn�����墨����
  �Ъ��ˬd�A�Ҧp�G

/dev/cdrom  /cdrom  ext2  defaults,ro  0 0

  �Ĥ@�ӹs�N�� "���n�]�t�b dumps" �A�ĤG�ӹs�N�� "�b�Ұʮɤ��n�˿��~" (
  fsck �N���|�ˬd���Ф������B ) �C

4.5 "���Ū���μg�J���֥��СH"

  �{�b���h�ӳn��C�̷s���s�@ "cdpranoia" ���i�H�b�H�U�a��U��

    [13]http://www.mit.edu/afs/sipb/user/xiphmont/cdparanoia/index.html

  �Ϊ̧A�i�H���� "cdda2wav" �M "sox" ���զX�A�i�H�b sunsite �M����
  mirror �����o

    [14]ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/cdda2wav0.71.s
    rc.tar.gz

    [15]ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/sox-11gamma-
    cb3.tar.gz

  cdda2wav �O�A�i�H�ѥ��Ф�����@�q�S�w��(�Τ@��)���y�M��i�H �N����
  �� .wav �ɮסC sox �i�H�N wav �ɮ���^���֥��Ъ�cdda �榡�A �M��i�H��
  cdwrite �N���N���b���ФW�C �p�G�A�O�ϥγ̷s������cdrecord �A�A�K���ݭn
  �ϥ� sox �]�� cdrecord �w���m�䴩 .au �M .wav �ɮסC

4.6 "�Ұʨt�Ϋ��˧�MSCSI-devices?"

  drivers/scsi/scsi.c ���һݭn����ơC

/*
* Usage: echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
* with  "0 1 2 3" replaced by your "Host Channel Id Lun".
* Consider this feature BETA.
*     CAUTION: This is not for hotplugging your peripherals. As
*     SCSI was not designed for this you could damage your
*     hardware !
* However perhaps it is legal to switch on an
* already connected device. It is perhaps not
* guaranteed this device doesn't corrupt an ongoing data transfer.
*/

  Please note that this should only be used if your add SCSI-devices at
  the end of the chain. Inserting new SCSI-devices into an existing
  chain disturbs the naming of devices (directory /dev) and may destroy
  the complete content of your harddisk.

4.7 "�i�H�i��@��@�����нƻs�H"

  �i�H�C���L�A�n�`�N���O�p�G��Ū�����Юɦ���󪺿��~�o�͡A���i��O�W�g��
  �ѡC

  �Ĥ@�ӱ��p�G�A���@�ӥi�g���о��M�@�Ӱ�Ū���о��C�A�i�H�ΥH�U�����O

cdwrite -v -D /dev/sgc --pad -b  $(isosize  /dev/scd0) /dev/scd0
or
cdrecord -v dev=3,0 speed=2 -isosize /dev/scd0

  �A�i�H�q/dev/scd0 Ū����Ƭy�M�᪽���g��/dev/sgc �g�J���Ф��C

  �ĤG�ӱ��p�G�A�S���t�@�Ӱ�Ū���СC�A�K�ݭn�Υi�g���о���Ū�����СG

dd if=/dev/scd0 of=cdimage bs=1c count=`isosize  /dev/scd0`

  �o�ӫ��O���P�� mkisofs �A�ҥH�A�i�H�βĤT���Ҵ��Ϊ���k�~�� �l�U���u�@
  �C�Ъ`�N�o�Ӥ�k�O���A�Ω󭵼֥��СC

4.8 "Linux �i���i�HŪ�� Joliet ���СH"

  �i�H�C�̷s���֤� (2.0.36 �M�H��) �w���m�䴩 joliet �榡�C�аO�ۧA�n�b
  /etc/fstab ���ϥ� iso9660 �M joliet ��ӿﶵ�C�n���o��h��ơA�A�i�H��
  [16]http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html.

4.9 "��˥Υi�g���о�Ū�����СH"

  �N�p�P�A�ϥδ��q��Ū���о��@�ˡC�S����󪺯S�O�C�`�N�A�n��
  ��scd-devices (��Ū���о�) ��Ū�����СC�H�U�K�O�b/etc/fstab �����d�ҡG

/dev/scd0  /cdrom  iso9660  ro,user,noauto  0  0

4.10 "��˩�h�Ǹ�ƨ��Ф��H"

  �� bzip2 �H���N��L�����Y���n�� gzip �� pkzip�C�o�|�`��30%���ϺЪŶ��C
  �A�i�H�b�H�U�a��U��

    [17]http://www.muraroa.demon.co.uk/

  Instead of writing a true audio-CD, you can optionally convert your
  wav-audio-files into mp3-audio-files and store them on a ISO-9660
  filesystem as regular files. Usually MPEG III gives you a compression
  of 1:10.

  Of course, most CD-players are not able to read files... this is the
  drawback. On the other hand, why not running the music for your next
  party from harddisk? 18 Gbyte are enough for 3000-4000 titles. :-)

  A software MPEG III-encoder is available from

    [18]http://www.stud.ifi.uio.no/~larsi/other/8hz-mp3-cheng.tar.gz

  A MPEG III-player is available from

    [19]http://homepages.uni-tuebingen.de/student/michael.hipp/mpg123/

  For recorded speech, you may want to try to reduce its size using
  shorten or "GSM lossy speech compression":

    [20]ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/

    [21]http://kbs.cs.tu-berlin.de/~jutta/toast.html

4.11 "How to make bootable CD-ROMs?"

  You must have an 1.44 MB bootable floppy-disk. Create an exact image
  of this floppy-disk by issuing the command

dd if=/dev/fd0 of=boot.img bs=18k

  Place this floppy-image into the directory holding the collection of
  your files (or into a subdirectory of it, just as you like). Tell
  mkisofs about this file with the option '-b' and also use '-c'. For
  details read the file README.eltorito in the mkisofs-distribution.

  An interesting application for a custom bootable CD is as a virus-safe
  DOS- or Windows-system. It saves you the money for the harddisks (if
  you have a network and use samba to put the user-data on a
  fileserver). However, this is purely theoretical as nobody reported an
  actual recipe to me.

  Some details about the bootable RedHat CD-ROM is available from
  [22]http://www.channel1.com/users/rodsmith/rhjol-technical.html.

4.12 "How to make CD-ROMs writable somehow?"

  There is an overlay-filesystem available for Linux, which is mounted
  over the CD-ROM and intercepts all writing operations. New and
  modified files are stored elsewhere, but for the user it looks like
  the CD-ROM is modified. For more information, see
  [23]http://home.att.net/~artnaseef/ovlfs/ovlfs.html.

  If that is not enough for your needs: wait for the UDF-filesystem to
  be supported by Linux or help developing it (see
  [24]http://trylinux.com/projects/udf/.

4.13 "Is it possible to use several writers at once?"

  Yes. However, it has been only tested with two writers yet. And you
  need a kernel patch for more buffers in the SCSI-generic driver (
  [25]ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha).

4.14 "Which media is the best?"

  The german computer magazine "c't" had a list of tips regarding the
  blank CD-Rs in their november 1996 issue:

    * "No-name" discs are generally not of highest quality and should
      better not be used.
    * If a recordable CD is defective, this is likely to apply to the
      whole batch (if you bought more than one at a time); maybe you are
      lucky and can at least use the first 500MB of such CD-Rs ...
    * Don't touch the CD-Rs at their shimmering side before writing.

5. ���D�ѨM

  Always remember, that you can still use corrupt CD-ROMs as coasters.
  :-)

5.1 �b Linux �U����

  �Х��ˬd�A���i�g���о��ण��b��L�ާ@�t�Τ��ϥ�

  �M��ˬd�H�U���Ʊ��G

    * �����_�T�{�A�� SCSI device?
    * �X�ʵ{����_�T�{�A���i�g���о��H
    * �i���i�H�Ϊ��e���n��N�����СH

  �p�G�A���i�g����b��L���ާ@�t�Τ��ϥΪ��ܡA�ܥi��A���w��� ��ΧA�R�F
  �@���a���w��C

  If it works under the other operating system and you use loadlin to
  boot Linux, then that is your problem. Loadlin makes a warm-boot with
  most of the hardware already initialized and that confuses the
  Linux-kernel.

5.2 Error-message: No read access for 'dev=2,0'.

  Under Linux, some versions of the C-library are incompatible (buggy),
  so that an application linked against one version will not work with
  another. An example for an error triggered by pre-compiled binaries is
  the following:

[root@Blue /dev]# cdrecord -eject dev=2,0
cdrecord: No such file or directory. No read access for 'dev=2,0'.

5.3 ������b DOS �@�ϥ�

  ���ըϥ� Linux �C�b DOS ���U�w�ˤγ]�w SCSI �X�ʵ{���O�@��ܧx��� �u�@
  �C Linux �]���O�ܽ�����ܡH���I

5.4 �N���L�{���� SCSI ���~

  �q�`�o�ǿ��~���O�ѥH�U�����p�Ұ�����

    * SCSI bus �ʥFdis-/reconnect �\��
    * �w�󴲼�����
    * �w��l�a (���ӥi�H��5.1. ����k���d)

  �b�ܦh���p�U SCSI devices �ݭn�� SCSI bus �� dis- and reconnect �ۤv�C
  �p�G�ʤֳo�ӥ\�઺�ܡA���ǥi�g�J���о��i��b¶�����Юɵo�Ͱ��D�C

  �ר�ONCR 53c7,8xx SCSI �X�ʵ{���|�w�]�����o�ӥ\��A�A�̦n���ˬd�@�U�G

NCR53c7,8xx SCSI support                  [N/y/m/?] y
  always negotiate synchronous transfers [N/y/?] (NEW) n
  allow FAST-SCSI [10MHz]                [N/y/?] (NEW) y
  allow DISCONNECT                       [N/y/?] (NEW) y

6. ��� (�o�q��Ķ)

  Alan Brown <[email protected]>

  Art Stone <[email protected]>
         had the idea to put non-ISO-9660 filesystems on a CD

  Bartosz Maruszewski <[email protected]>
         reported spelling mistakes

  Bernhard Gubanka <[email protected]>
         noticed the need of a recent version of mount to utilize the
         loopback device

  Robert Doolittle <[email protected]>
         good arguments for dropping cdwrite from the HOWTO

  Brian H. Toby
         polished the wording.

  Martin Schulze <[email protected]>
         gave information about the cdwrite-mailinglist

  Dale Scheetz <[email protected]>
         helped improving the section about creating the cdimage.

  Don H. Olive <[email protected]>
         URL of the mkhybrid tool

  Erwin Zoer <[email protected]>

  Gerald C Snyder <[email protected]>
         tested writing of an ext2 CD-ROM (see 4.4)

  Janne Himanka <[email protected]>
         pointer to kernel patch to read Joliet CD-ROMs

  Joerg Schilling <[email protected]>
         information about cdrecord

  Jos van Geffen <[email protected]>
         noted the problem in 4.9.

  Markus Dickebohm <[email protected]>

  Jesper Pedersen <[email protected]>

  Pierre Pfister <[email protected]>
         helped to develop the recipe on 1:1 copies.

  Rick Cochran <[email protected]>
         hint about dis-/reconnect disabled by default in the ncr driver

  Stephan Noy <[email protected]>
         information and experience about writing audio-CDs

  Stephen Harris <[email protected]>
         contributed hint about writing audio-CDs

  The Sheepy One <[email protected]>
         suggested using defective CD-ROMs as coasters for drinks

  [email protected]
         Reported problem with pre-initialized writers when booting via
         loadlin.

  End of the Linux CD-Writing HOWTO

References

  1. http://www.fadden.com/cdrfaq/
  2. http://www.guug.de:8080/cgi-bin/winni/lsc.pl
  3. http://www.guug.de/~winni/linux/
  4. ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/
  5. http://www.torque.net/parport/parscsi.html
  6. http://www.torque.net/parport/paride.html
  7. http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdb.html
  8. ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/
  9. ftp://ftp.ge.ucl.ac.uk/pub/mkhfs
 10. ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/
 11. http://www.fh-muenchen.de/home/ze/rz/services/projects/xcdroast/e_overview.html
 12. http://sunsite.auc.dk/BurnIT/
 13. http://www.mit.edu/afs/sipb/user/xiphmont/cdparanoia/index.html
 14. ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/cdda2wav0.71.src.tar.gz
 15. ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/sox-11gamma-cb3.tar.gz
 16. http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html
 17. http://www.muraroa.demon.co.uk/
 18. http://www.stud.ifi.uio.no/~larsi/other/8hz-mp3-cheng.tar.gz
 19. http://homepages.uni-tuebingen.de/student/michael.hipp/mpg123/
 20. ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/
 21. http://kbs.cs.tu-berlin.de/~jutta/toast.html
 22. http://www.channel1.com/users/rodsmith/rhjol-technical.html
 23. http://home.att.net/~artnaseef/ovlfs/ovlfs.html
 24. http://trylinux.com/projects/udf/
 25. ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha