\documentclass[letterpaper,english]{article}
\nonstopmode
\akai
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{CD-Writing HOWTO}
\author{§@ªÌ¡GWinfried Trümper {\ttfamily $<$winni@xpilot.org$>$}\\ 
Ä¶ªÌ¡G¶À´I±j {\ttfamily $<$wfkwong@net.polyu.edu.hk$>$}}
\date{v2.4.1, 16 December 1997}
\abstract{³o¤@¥÷¤å¥ó³B²z¦b LINUX ùØ¼g CDs ªº¨Æ¨à¡E}


\begin{document}
\maketitle
\tableofcontents

\section{Â²¤¶}

²{¦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






\subsection{ª©¥»Á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.

{\bfseries 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.




\subsection{Suggested readings}



³oºô§} \nameurl{http://www.fadden.com/cdrfaq/}{CD-R FAQ}
ùØ¦³¤@¯ëªº FAQ Ãö©óªÅ¥Õ¥úºÐ¡A¥úºÐ¿N¿ý¾¹©M¿N¿ý¥úºÐ©Ò»Ýªº³n
¥ó¡C

­n¥O§Aªº¥úºÐ¯à°÷Åª¨ú¥úºÐ¡A§A°_½X­n¬Ý {\itshape Linux CD-ROM HOWTO\/}
{\itshape Linux SCSI HOWTO\/} ©M {\itshape Linux Kernel HOWTO\/}.






\subsection{¦Wµü¸ÑÄÀ ( ³o¬q¤£Ä¶ )}



{\itshape CD-ROM\/} stands for {\itshape 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 {\itshape CD-R\/} is a short form of {\itshape 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
{\bfseries once} on a CD-R, although you can leave out some areas for later
writing, creating a so called {\itshape multi-session CD\/}.

The {\itshape CD-ROM rewritable\/} (short: {\itshape 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.






\subsection{¤ä´©ªº¥úºÐ¿N¿ý¾¹}



§A¥i¥H¦b³oùØ±o¨ì¤@­Ó¸ÔºÉ¥i¥Î¤Î¤£¥i¥Î¦b¦U unix §@·~¨t²Îªº«¬¸¹¦Cªí
\nameurl{http://www.guug.de:8080/cgi-bin/winni/lsc.pl}{}.



¥H¤U¬O¤@­Ó¯à°÷¦b cdrecord ¤U¨Ï¥Îªº«¬¸¹¼¼¼g¦Cªí¡G

\begin{tscreen}
\begin{verbatim}
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
\end{verbatim}
{\itshape Table 1: CD-writers supported under Linux\/}
\end{tscreen}




¦pªG§Aªºµw¥ó¤£³Q¤ä´©ªº¸Ü¡A§A¤´µM¥i¥H¥Î Linux ¨Ó«Ø¥ß¥úºÐ¼v¹³ÀÉ¤£¹L§A»Ý­n¥Î DOS ªº³n¥ó¨Ó±N³o­Ó¥úºÐ¼v¹³ÀÉ¿N¿ý¦Ü CD-R ¡E




\subsection{¤ä´©ªº¯S©Ê}

²{¦b¦³¨âÃþªº¤u¨ã¥Î§@¿N¿ý CD-Rs ¡GµwÅéÅX°Êµ{¦¡©M¸ê®Æ®æ¦¡¤Æ¡CµwÅéÅX°Êµ{¦¡¤ä´©¥H¤Uªº¥\¯à¡G

\begin{tscreen}
\begin{verbatim}
Supported Feature   cdwrite-2.1     cdrecord-1.6
------------------------------------------------
IDE/ATAPI           no              yes
Parallel Port       no              yes
CD-RW               no              yes
Multisession        only partial    yes
\end{verbatim}
{\itshape Table 2: \/}
\end{tscreen}


{\ttfamily cdwrite} ¬O¤@­ÓÂÂªº³n¥ó¡A¦b³oùØ´£¥X¥u¤£¹L¬O¬°¤F§¹¾ã¦Ó¤w¡C½Ð¨Ï¥Î {\ttfamily cdrecord} ¨Ó¥N´À¡A¦]¬°¥¦¯à¤ä´©¸û¦hªº¥úºÐ¿N¿ý¾¹©M¥¦¦³¸û¦hªº¥\¯à¡C¸ê®Æ®æ¦¡¤Æªº¥Øªº¬O­n²ÕÂ´¥úºÐ¤Wªº¸ê®Æ ( ©ñ¤@­ÓÀÉ®×¨t²Î¦b¥úºÐ¤W )

\begin{tscreen}
\begin{verbatim}
Feature         mkisofs         mkhybrid
--------------------------------------------
ISO 9660        yes             yes
RockRidge       yes             yes
El Torito       yes             yes
HFS             no              yes
Joliet          no              yes
\end{verbatim}
{\itshape Table 3: \/}
\end{tscreen}


ISO 9660 ÀÉ®×¨t²Î©M Extended-2 ÀÉ®×¨t²Îªº³Ì¤j¤À§O¦b©ó¡A¤@¥¹§A±N¸ê®Æ¼g¤J¥úºÐ¤º´N¤£¯à§@­×§ï¡CISO 9660 ÀÉ®×¨t²Îªº­­¨î¦³¥H¤U´X­Ó¡G

\begin{itemize}
\item  ¥Ø¿ý¾ð¥u¯à¦³ 8 ­Ó¤l¥Ø¿ý (¥Ñ¥úºÐªº®Ú¥Ø¿ý¶}©lºâ°_) 
(¥Î RockRidge ´N¥i¥H¬ð¯}³o­Ó­­¨î)
\item  ÀÉ¦W³Ìªø¥u¯à¦³ 32 ­Ó¦r¤¸
\item  650 MB ®e¶q
\end{itemize}


{\itshape RockRidge\/} ¬O¤@­Ó¯à¥O ISO-9660 ÀÉ®×¨t²Î¤ä´©ªøÀÉ¦W¤Î¸û²`¼h¥Ø¿ýµ²ºcªº©µ¦ù¡C·í§A¦b DOS ©Î Windows ©³¤UÅª¨ú¥úºÐ®É³o¨Ç©µ¦ù³£¬O¤£¥i¥Îªº¡C



{\itshape 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

{\itshape HFS\/} ¯àÅý macintosh Åª¨ú¥úºÐ¤ºªº¸ê®Æ¡A¦pªG¥úºÐ¤ºªº¸ê®Æ
¬O HFS ÀÉ®×¨t²Îªº¸Ü¡E( ³o¬O MacOS ªº­ì¥ÍÀÉ®×¨t²Î )¡C

{\itshape 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




\subsection{³q°T½×¾Â}

¦pªG§A·Q°Ñ¥[¶}µo¹Î¶¤ (¦³¤@­Ó¥D°Ê {\itshape À°§U\/} ¥L­Ìªº¤ß), ¹q¶l¦Ü
cdwrite-request@other.debian.org ©M¦b¹q¶l¤º®e¼g¤W {\ttfamily subscribe}¡C




\subsection{¥i±o©Ê}

³o¥÷¤å¥óªº³Ì·sª©¥»¥i¸g±`¦b³oùØÀò±o
\nameurl{http://www.guug.de/~winni/linux/}{}.






\section{³]©w§Aªº Linux  ¨t²Î¨Ó¿N¿ý¥úºÐ}



¦pªG§A¦¨¥\³]©w§AªºµwÅé©M§A Linux ¨t²Îªº¨ä¾l³¡¥÷¡A ©R¥O  
{\ttfamily  cdrecord -  scanbus }  ·|µ¹§A¬Ý¨ì¤@­Ó¥i¼g¤J¸Ë¸mªº¦Cªí¡C ³o­Ó
³¹¸`ªº¥Øªº¬O­n¦b³]©w§Aªº Linux ¨t²Î®É¾É¤Þ§A¡A¦]¦¹³Ì«á§A·|¬Ý¨ì
¦p¤Uªº°T®§¡G

\begin{tscreen}
\begin{verbatim}
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) *
\end{verbatim}
{\itshape Listing 1: Detecting devices on your SCSI-bus\/}
\end{tscreen}


³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










\subsection{³]©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¦Ó«ØÄ³ªº¤èª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¦³¨º¨Ç
¼Ò {\itshape  ¥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





\begin{tscreen}
\begin{verbatim}
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
\end{verbatim}
{\itshape Table 4: \/}
\end{tscreen}


¦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








\subsubsection{µ¹ 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³£«ØÄ³¤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

\begin{itemize}
\item §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
\item ³o¥ç¥i¯à¥Ñ©ó sg ÅX°Êµ{¦¡¤£¯à¨ú±o¨¬°÷ªº°O¾ÐÅé¨Óµ¹ DMA¡CJörg Schillings     FTP-site : \nameurl{ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/}{}  
§ä¨ú sg\_buffer patch ¨Ó¸Ñ¨M³o­Ó°ÝÃD¡C
\end{itemize}





\subsubsection{µ¹ 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 {\ttfamily hdb=ide-scsi}¡C



\begin{tscreen}
\begin{verbatim}
image=/boot/zImage-2.0.36
  label=Linux
  read-only
  append="hdb=ide-scsi"
\end{verbatim}
{\itshape Listing 2: Example configuration for lilo (/etc/lilo.conf)\/}
\end{tscreen}


\begin{tscreen}
\begin{verbatim}
linux "Linux 2.0.36" {
        image=/boot/zImage-2.0.36
        cmdline= root=/dev/hda5 readonly hdb=ide-scsi
}
\end{verbatim}
{\itshape Listing 3: Example configuration for chos (/etc/chos.conf)\/}
\end{tscreen}







\subsection{µ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 {\ttfamily /dev} ¥Ø¿ýµM«áÀË¬d¤@¤U§A¦³¨S¦³ {\itshape 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·|¬Ý¨ì {\ttfamily ls} «ü¥OÅã¥Ü{\ttfamily loop0}-{\ttfamily loop7}¡G

\begin{tscreen}
\begin{verbatim}
shell> cd /dev
shell> ls loop*
loop0 loop1 loop2 loop3 loop4 loop5 loop6 loop7
\end{verbatim}
{\itshape Listing: devicefiles for loopback\/}
\end{tscreen}


¦pªG§A¨S¦³³o¨Ç device-files ªº¸Ü¡A§A¥i¥H¥Î{\ttfamily /dev/MAKEDEV}-script 
¨Ó«Ø¥ß¥¦­Ì¡G

\begin{tscreen}
\begin{verbatim}
shell> cd /dev/
shell> modprobe loop
shell> ./MAKEDEV loop
\end{verbatim}
{\itshape Listing: commands to create loopback devices\/}
\end{tscreen}


¦pªG§A¦³{\ttfamily 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






\subsubsection{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






\subsubsection{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­Óºô§}\nameurl{http://www.torque.net/parport/parscsi.html}{} ¥H¨ú±o§ó¦hªº¸ê®Æ¡C




\paragraph{¤@¯ë 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 {\itshape generic SCSI-devices\/}´N­l¥Í¥X¨Ó¡C
¦]¬°©Ò¦³¹ï SCSI µwÅéªº¾Þ§@³£¥i¥H³z¹L generic devices ¨Ó¹F¦¨¦Ó¥¦­Ì¤S¨S¦³
¯S©wªº¥Øªº©Ò¥H¥¦­Ì´N¥s°µ {\itshape generic\/}¡E

¦pªG§A­n§ä³o¨Ç device¡A§A¥i¥H¨ì /dev ªº¥Ø¿ý¡G

\begin{tscreen}
\begin{verbatim}
shell> cd /dev
shell> ls sg*
sg0  sg1  sg2  sg3  sg4  sg5  sg6  sg7
\end{verbatim}
\end{tscreen}


¦pªG§A¨S¦³³o¨Ç device-files ¡A§A¥i¥H¦b¥Î¤U¦Cªº script ¨Ó«Ø¥ß¥¦­Ìthe {\ttfamily /dev/MAKEDEV}-script:

\begin{tscreen}
\begin{verbatim}
shell> cd /dev/
shell> ./MAKEDEV sg
\end{verbatim}
\end{tscreen}







\subsubsection{¥­¦æ°ðªº¥úºÐ¿N¿ý¾¹}



¯u¹ï¤£°_¡A§Ú¨S¦³³o¤è­±ªº¸Ñ¨M¤è®×¡C ½Ð¬Ý \nameurl{http://www.torque.net/parport/paride.html}{} ©Î§A¥»°ÏªºÀÉ®×/usr/src/linux/Documentation/paride.txt.








\subsection{¨ú±o³nÅé¨Ó¿N¿ý¥úºÐ}

§A¥i¥H¦b³oùØ§ä¨ì¤@¨t¦C¿N¿ý¥úºÐªº³n¥ó
\nameurl{http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdb.html}{}.The CD building project for UNIX




\subsubsection{©R¥O¦C¤u¨ã}

§A»Ý­n¥H¤Uµ{¦¡¥]¤§¤¤¥ô¾Ü¨ä¤@¨Ó²£¥Í¥úºÐ­ì«¬¡G

\begin{quotation}
\nameurl{ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/}{} (mkisofs)\nameurl{ftp://ftp.ge.ucl.ac.uk/pub/mkhfs}{} (mkhybrid)

\end{quotation}


µø§Aªº¥úºÐ¿N¿ý¾¹«¬¸¹¦Ó©w¡A§A»Ý­n¥H¤U¨ä¤¤¤§¤@­Óµ{¦¡¨Ó±N¥úºÐ­ì«¬¼g¤J¡G 
\begin{quotation}
\nameurl{ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/}{} (cdrecord) 

\end{quotation}


¤d¸U¤£­n¬Û«H{\ttfamily mkisofs} ÂÂªº»¡©úÀÉ¡A¥¦»¡§A»Ý­n {\ttfamily cdwrite} ª©¥» 1.5
¡A§A¥u»Ý­n cdrecord ´N¦n¤F¡Cª`·N¡Gcdrecord ©Ò¥]¬Aªº mkiosfs ¦³¤@¨Çªþ¥[ªº¥\¯à¡E






\subsubsection{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

{\itshape X-CD-Roast\/} ¬O¤@­Ó¦b Linux ¤U®e©ö¿N¿ý¥úºÐªºµ{¦¡¶°¡C¥¦µ²¦X¤F {\ttfamily cdrecord} ©M {\ttfamily mkisofs} ¦b¤@­Ó¬üÄRªº¤¶­±¥H¤¤¡C

\begin{quotation}
\nameurl{http://www.fh-muenchen.de/home/ze/rz/services/projects/xcdroast/e_overview.html}{}
\end{quotation}


{\itshape 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

\begin{quotation}
\nameurl{http://sunsite.auc.dk/BurnIT/}{}
\end{quotation}











\section{¿N¿ý¥úºÐ}

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




¦b Linux ¤U¿N¿ý¥úºÐ¦³¥H¤U¨â­Ó¨BÆJ¡G

\begin{itemize}
\item  ±N©Ò»Ýªº¸êÍ¨ ( ÀÉ®×¡A­µ¼Ö©Î¥þ³¡ ) ¥]¸Ë¦¨¤@¨Ç¯S§O®æ¦¡ªºÀÉ®×¡C
\item  ¥Î{\ttfamily cdrecord} ±N³o¨ÇÀÉ®×¼g¤J¥úºÐ¤¤¡C
\end{itemize}


³o¤@³¹·|¸ÔºÉÁ¿¸Ñ¿N¿ý¸ê®Æ¤Î­µ¼Ö¥úºÐªº¨BÆJ¡C






\subsection{¿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




\subsubsection{«Ø¥ß¥úºÐ¼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°µ {\ttfamily mkisofs}¡E¥H¤U´N¬O³o¤u¨ãªº¨Ï¥Î
¨Ò¤l¡G

\begin{tscreen}
\begin{verbatim}
mkisofs  -r   -o cd_image   private_collection/
              `---------'   `-----------------'
                   |               |
                ¼g¤J¦Ü      ¥H³o­Ó¥Ø¿ý°µ¿é¤J
\end{verbatim}
\end{tscreen}


'-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·|ÅÜ¦¨ {\ttfamily private\_collection}!)¡C

{\ttfamily 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¯à·|°Ý¬°¤°»ò {\ttfamily mkisofs} ªº¿é¥X¤£ª½±µ¼g¤J¥i¼g¥úºÐ¾÷¤¤¡C³o¦³
¨â­Ó­ì¦]¡G

\begin{itemize}
\item {\ttfamily mkisofs} ¤£¾å±o«ç¼ËÅX°Ê¥i¼g¥úºÐ¡C
\item §A¥i¯à»Ý­n¦b¿N¿ý«e´ú¸Õ¤@¤U¼v¹³ÀÉ¡C
\item ¦bºCªº¾÷¾¹¤¤¥¦·|¥i¾a¨Ç (¬Ý³¹¸` 4.).
\end{itemize}


·|¦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)






\subsubsection{´ú¸Õ¥úºÐ¼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 {\ttfamily ¥úºÐ¼v¹³ÀÉ} ±¾¤W {\ttfamily /cdrom} ¡A½Ð¥Î¥H¤Uªº«ü¥O

\begin{tscreen}
\begin{verbatim}
mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom
\end{verbatim}
\end{tscreen}


§A²{¦b¥i¥H¦b {\ttfamily /cdrom} ©³¤UÀË¬d¤U§AªºÀÉ®× ¢w ²{¦bªº¦ì¸m«K¬O¥¦
­Ì¦b¯u¥¿¥úºÐ¤¤ªº¦ì¸m¡C­n¨ø°£¥úºÐ¼v¹³ÀÉ¡A§A¥u»Ý­n¥´ {\ttfamily 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:
\begin{quotation}
¤ñ¸ûÂÂªº {\ttfamily mount} ¬O¤£¯à³B²z loopback-devices¡C¦pªG§A¬O¨Ï¥ÎÂÂªº {\ttfamily mount} ªº¸Ü²{¦b¬O®É­Ô§ó·s§Aªº Linux ¤F¡C

¦³«Ü¦h¤H³£«ØÄ³§Ú¼W¥[¤@¨ÇÃö©ó¦p¦ó¨ú±o³Ì·s mout ¤u¨ãªº¸ê®Æ
¦b³o¥÷ mini-HOWTO ¤¤¡C¦ý§Ú³£¤@¤@©Úµ´¡C¦p§x§Aªº Linux ®M¥ó
ªþ°e¤FÂÂª©¥»ªº {\ttfamily 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

\end{quotation}







\subsubsection{¼g¤J¥úºÐ¼v¹³¨ì¥úºÐ¤¤}

¨S¦³¤Ó¦hªºªF¦è­n°µ¡C¦pªG§A¥¼¸Õ¹L³o­Ó«ü¥O¡A²{¦b¬O®É­Ô¸Õ¤U¸Õ¤F

\begin{tscreen}
\begin{verbatim}
cdrecord -scanbus
\end{verbatim}
\end{tscreen}


³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·Ç³Æ¦nªº¸Ü¡A§A¥i¥H¤U¥H¤Uªº«ü¤µ¡G

\begin{tscreen}
\begin{verbatim}
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
\end{verbatim}
\end{tscreen}


¬°¤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 ¨Ó¾Ç²ß¦³¤°»ò¤èªk¨Ó²M°£©Ò¦³
CD-RW ªº©Ò¦³¤º®e¡C

¦pªG§A¦³¤@³¡ 400 Mhz ¹q¸£¡A§A¥i¥H±N mkisofs ªº¿é¥Xª½±µ¿é¥X¦Ü
cdrecord ¤¤¡G

\begin{tscreen}
\begin{verbatim}
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
\end{verbatim}
\end{tscreen}

²Ä¤@­Ó«ü¥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






\subsection{¿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

\begin{tscreen}
\begin{verbatim}
shell> sox  killing-my-software.wav  killing-my-software.cdr
\end{verbatim}
\end{tscreen}


³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

\begin{tscreen}
\begin{verbatim}
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...
\end{verbatim}
\end{tscreen}


¨ä¤¤¤@­Ó¯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






\subsection{²V¦X¦¡¥úºÐ}



¨S¦³¤Ó¦h­n»¡¡C¥u¥Ü½d¤F«ç¼Ë²V¦X¨Ï¥Î -data¡@©M¡@-audio ¿ï¶µ¥H¹F¨ì¿N¿ý²V¦X¥úºÐ¡G

\begin{tscreen}
\begin{verbatim}
cdrecord  -v dev=0,6,0  -data  cd_image  -audio  track*.cdr
\end{verbatim}
\end{tscreen}









\section{±`°Ý°ÝÃD¤Îµª®×}




\subsection{"¿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 {\itshape locate\/}-¸ê®Æ®w¡C
´î§C maxium flow rate ´NªÖ©w·|·lÃa§Aªº¥úºÐ¡F§A³Ì¦n¦b¿N¿ý¥úºÐ«e¥Î
{\ttfamily cron}¡A {\ttfamily at} ©Î
{\ttfamily anacron} ¨ÓÀË¬d¤@¤U§A¦³§_°õ¦æ³o¨Ç¤u§@¡C

¥t¤@¤è­±¡A¦³¨Ç¤H»¡¥L­Ì¯à¤@­±½sÄ¶®Ö¤ß¤@­±¿N¿ý¥úºÐ³£¨S¦³¥ô¦ó°ÝÃD¡C
ªº½T§A­n¤@³¡«Ü§Öªº¾÷¾¹¤~¯à°µ³o­Ó¹êÅç¡C








\subsection{"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

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


¦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






\subsection{"¬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
{\itshape network filesystem\/} ({\itshape NFS\/})¡C

§Ú²{¦b¬O¦b¤@³¡ (486/66) PC ¤¤¨Ï¥Î UMSDOS ¨ÓÅýLinux ©M DOS/Win ¦@¨ÉºÏºÐ
ªÅ¶¡¡A¦Ó³o³¡ 486 ¬O±Mªù¨Ó¿N¿ý¥úºÐ¥Îªº¡C






\subsection{"¦³µ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

\begin{itemize}
\item «Ø¥ß¤@­Ó 650 MB ªºªÅÀÉ®×¡C
\begin{tscreen}
\begin{verbatim}
dd if=/dev/zero of="empty_file" bs=1024k count=650
\end{verbatim}
\end{tscreen}

\item µM«á«Ø¥ß¤@­Óextended-2 ÀÉ®×¨t²Î¦b³o­ÓÀÉ®×¤§¤W
\begin{tscreen}
\begin{verbatim}
bash> /sbin/mke2fs  empty_file
empty_file is not a block special device.
Proceed anyway? (y,n) y
\end{verbatim}
\end{tscreen}

\item ¥Îloopback-devices ¨Ó±¾¤W³o­ÓÀÉ®×
\begin{tscreen}
\begin{verbatim}
mount -t ext2 -o loop=/dev/loop1 empty_file /mnt
\end{verbatim}
\end{tscreen}

\item §Û¼g¤@¨ÇÀÉ®×¨ì /mnt µM«á¨ø°£¡C
\item ¥Î {\ttfamily cdwrite} ©Î {\ttfamily cdrecord} ¨Ó¬Ý¬Ý³o­ÓÀÉ®× ( ¥¦²{¦b¸Ó¤£¬OªÅªº ) ¬O¤£¬O iso9660-¼v¹³¡C
\end{itemize}


¦p§x§A·Q¦b{\ttfamily /etc/fstab} ¥[¤@­Ó¥X¤J¤fµ¹¨º°¦¥úºÐªº¸Ü¡A§A«K»Ý­n¨ú®ø¹ï¨º°¦¥ú
ºÐªºÀË¬d¡A¨Ò¦p¡G

\begin{tscreen}
\begin{verbatim}
/dev/cdrom  /cdrom  ext2  defaults,ro  0 0
\end{verbatim}
\end{tscreen}


²Ä¤@­Ó¹s¥Nªí "¤£­n¥]§t¦b dumps" ¡A²Ä¤G­Ó¹s¥Nªí "¦b±Ò°Ê®É¤£­nÀË¿ù»~" ( fsck 
±N¤£·|ÀË¬d¥úºÐ¤ºªº¿ù³B ) ¡C






\subsection{"«ç¼ËÅª¨ú¤Î¼g¤J­µ¼Ö¥úºÐ¡H"}

²{¦b¦³¦h­Ó³n¥ó¡C³Ì·sªº¥s§@ "cdpranoia" ¥¦¥i¥H¦b¥H¤U¦a¤è¤U¸ü

\begin{quotation}
\nameurl{http://www.mit.edu/afs/sipb/user/xiphmont/cdparanoia/index.html}{}

\end{quotation}


©ÎªÌ§A¥i¥H¹Á¸Õ "cdda2wav" ©M "sox" ªº²Õ¦X¡A¥i¥H¦b sunsite ©M¥¦ªº mirror ¤¤¨ú±o

\begin{quotation}
\nameurl{ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/cdda2wav0.71.src.tar.gz}{}\nameurl{ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/sox-11gamma-cb3.tar.gz}{}

\end{quotation}


{\ttfamily cdda2wav} ¥O§A¥i¥H¥Ñ¥úºÐ¤¤§ì¨ú¨ì¤@¬q¯S©wªº(©Î¤@¾ã±ø)­µ­yµM«á¥i¥H
±N¥¦Âà¬° .wav ÀÉ®×¡C {\ttfamily sox} ¥i¥H±N wav ÀÉ®×Âà¦^­µ¼Ö¥úºÐªºcdda ®æ¦¡¡A
µM«á¥i¥H¥Î {\ttfamily cdwrite} ±N¥¦¿N¿ý¦b¥úºÐ¤W¡C ¦pªG§A¬O¨Ï¥Î³Ì·sª©¥»ªº{\ttfamily cdrecord} ¡A§A«K¤£»Ý­n¨Ï¥Î {\ttfamily sox} ¦]¬° {\ttfamily cdrecord}
¤w¤º¸m¤ä´© .au ©M .wav ÀÉ®×¡C






\subsection{"±Ò°Ê¨t²Î«á«ç¼Ë§ä´MSCSI-devices?"}

{\ttfamily drivers/scsi/scsi.c} ¦³©Ò»Ý­nªº¸ê®Æ¡C

\begin{tscreen}
\begin{verbatim}
/*
 * 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.
 */
\end{verbatim}
\end{tscreen}


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.






\subsection{"¥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

\begin{tscreen}
\begin{verbatim}
cdwrite -v -D /dev/sgc --pad -b  $(isosize  /dev/scd0) /dev/scd0
or
cdrecord -v dev=3,0 speed=2 -isosize /dev/scd0
\end{verbatim}
\end{tscreen}


§A¥i¥H±q{\ttfamily /dev/scd0} Åª¨ú¸ê®Æ¬yµM«áª½±µ¸g¥Ñ{\ttfamily /dev/sgc}
¼g¤J¥úºÐ¤¤¡C

²Ä¤G­Ó±¡ªp¡G§A¨S¦³¥t¤@­Ó°ßÅª¥úºÐ¡C§A«K»Ý­n¥Î¥i¼g¥úºÐ¾÷¨ÓÅª¨ú¥úºÐ¡G

\begin{tscreen}
\begin{verbatim}
dd if=/dev/scd0 of=cdimage bs=1c count=`isosize  /dev/scd0`
\end{verbatim}
\end{tscreen}


³o­Ó«ü¥Oµ¥¦P©ó {\ttfamily mkisofs} ¡A©Ò¥H§A¥i¥H¥Î²Ä¤T³¹©Ò´£¤Îªº¤èªkÄ~Äò
¾l¤Uªº¤u§@¡C½Ðª`·N³o­Ó¤èªk¬O¤£¾A¥Î©ó­µ¼Ö¥úºÐ¡C






\subsection{"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¬Ý
\nameurl{http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html}{}.






\subsection{"«ç¼Ë¥Î¥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

\begin{tscreen}
\begin{verbatim}
/dev/scd0  /cdrom  iso9660  ro,user,noauto  0  0
\end{verbatim}
\end{tscreen}







\subsection{"«ç¼Ë©ñ¦h¨Ç¸ê®Æ¨ì¥úºÐ¤¤¡H"}

¥Î {\ttfamily bzip2} ¥H¨ú¥N¨ä¥LªºÀ£ÁY¾¹¦n¹³ {\ttfamily  gzip} ©Î
{\ttfamily pkzip}¡C³o·|¸`¬Ù30\%ªººÏºÐªÅ¶¡¡C§A¥i¥H¦b¥H¤U¦a¤è¤U¸ü

\begin{quotation}
\nameurl{http://www.muraroa.demon.co.uk/}{}

\end{quotation}


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
\begin{quotation}
\nameurl{http://www.stud.ifi.uio.no/~larsi/other/8hz-mp3-cheng.tar.gz}{}

\end{quotation}


A MPEG III-player is available from
\begin{quotation}
\nameurl{http://homepages.uni-tuebingen.de/student/michael.hipp/mpg123/}{}

\end{quotation}


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

\begin{quotation}
\nameurl{ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/}{}\nameurl{http://kbs.cs.tu-berlin.de/~jutta/toast.html}{}



\end{quotation}







\subsection{"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

\begin{tscreen}
\begin{verbatim}
dd if=/dev/fd0 of=boot.img bs=18k
\end{verbatim}
\end{tscreen}


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 \nameurl{http://www.channel1.com/users/rodsmith/rhjol-technical.html}{}.






\subsection{"How to make CD-ROMs writable somehow?"}

There is an {\itshape 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 \nameurl{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 \nameurl{http://trylinux.com/projects/udf/}{}.




\subsection{"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
(\nameurl{ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha}{}).






\subsection{"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:

\begin{itemize}
\item  "No-name" discs are generally not of highest quality
and should better not be used.
\item  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 ...
\item  Don't touch the CD-Rs at their shimmering side before writing.
\end{itemize}







\section{°ÝÃD¸Ñ¨M}

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




\subsection{¦b Linux ¤U¤£¦æ}

½Ð¥ýÀË¬d§Aªº¥i¼g¥úºÐ¾÷¯à¤£¯à¦b¨ä¥L¾Þ§@¨t²Î¤¤¨Ï¥Î

µM«áÀË¬d¥H¤Uªº¨Æ±¡¡G

\begin{itemize}
\item ±±¨î¾¹¯à§_½T»{§Aªº SCSI device?
\item ÅX°Êµ{¦¡¯à§_½T»{§Aªº¥i¼g¥úºÐ¾÷¡H
\item ¥i¤£¥i¥H¥Îªþ°eªº³n¥ó¿N¿ý¥úºÐ¡H
\end{itemize}


¦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.




\subsection{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: 

\begin{tscreen}
\begin{verbatim}
[root@Blue /dev]# cdrecord -eject dev=2,0
cdrecord: No such file or directory. No read access for 'dev=2,0'.
\end{verbatim}
\end{tscreen}





\subsection{¥¦¤£¯à¦b DOS ¤@¨Ï¥Î}

¹Á¸Õ¨Ï¥Î Linux ¡C¦b DOS ©³¤U¦w¸Ë¤Î³]©w SCSI ÅX°Êµ{¦¡¬O¤@¥ó«Ü§xÃøªº
¤u§@¡C Linux ¤]¤£¬O«Ü½ÆÂøªº¶Ü¡H«¢¡I






\subsection{¿N¿ý¹Lµ{¤¤¦³ SCSI ¿ù»~}

³q±`³o¨Ç¿ù»~³£¬O¥Ñ¥H¤Uªºª¬ªp©Ò°µ¦¨ªº

\begin{itemize}
\item SCSI bus ¯Ê¥Fdis-/reconnect ¥\¯à
\item µw¥ó´²¼õ¤£¨¬
\item µw¥ó·lÃa (À³¸Ó¥i¥H¥Î5.1. ªº¤èªk°»¬d)
\end{itemize}


¦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

\begin{tscreen}
\begin{verbatim}
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
\end{verbatim}
\end{tscreen}







\section{¶ãÁÂ (³o¬q¤£Ä¶)}

\begin{description}


\item[Alan Brown $<$alan@manawatu.net.nz$>$] \mbox{}



\item[Art Stone $<$stone@math.ubc.ca$>$] \mbox{}

had the idea to put non-ISO-9660 filesystems on a CD



\item[Bartosz Maruszewski $<$B.Maruszewski@zsmeie.torun.pl$>$] \mbox{}

reported spelling mistakes



\item[Bernhard Gubanka $<$beg@ipp-garching.mpg.de$>$] \mbox{}

noticed the need of a recent version of mount to
utilize the loopback device



\item[Robert Doolittle $<$bob.doolittle@sun.com$>$] \mbox{}

good arguments for dropping cdwrite from the HOWTO



\item[Brian H. Toby] \mbox{}

polished the wording.



\item[Martin Schulze $<$joey@Infodrom.North.DE$>$] \mbox{}

gave information about the cdwrite-mailinglist



\item[Dale Scheetz $<$dwarf@polaris.net$>$] \mbox{}

helped improving the section about creating the cdimage.



\item[Don H. Olive $<$don@andromeda.campbellsvil.edu$>$] \mbox{}

URL of the mkhybrid tool



\item[Erwin Zoer $<$ezoer@wxs.nl$>$] \mbox{}



\item[Gerald C Snyder $<$gcsnyd@loop.com$>$] \mbox{}

tested writing of an ext2 CD-ROM (see 4.4)



\item[Janne Himanka $<$shem@oyt.oulu.fi$>$] \mbox{}

pointer to kernel patch to read Joliet CD-ROMs



\item[Joerg Schilling $<$schilling@fokus.gmd.de$>$] \mbox{}

information about cdrecord



\item[Jos van Geffen $<$jos@tnj.phys.tue.nl$>$] \mbox{}

noted the problem in 4.9.



\item[Markus Dickebohm $<$m.dickebohm@uni-koeln.de$>$] \mbox{}



\item[Jesper Pedersen $<$jews@imada.ou.dk$>$] \mbox{}



\item[Pierre Pfister $<$pp@uplift.fr$>$] \mbox{}

helped to develop the recipe on 1:1 copies.



\item[Rick Cochran $<$rick@msc.cornell.edu$>$] \mbox{}

hint about dis-/reconnect disabled by default in
the ncr driver



\item[Stephan Noy $<$stnoy@mi.uni-koeln.de$>$] \mbox{}

information and experience about writing audio-CDs



\item[Stephen Harris $<$sweh@mpn.com$>$] \mbox{}

contributed hint about writing audio-CDs



\item[The Sheepy One $<$kero@escape.com$>$] \mbox{}

suggested using defective CD-ROMs as coasters for drinks



\item[Martti.Rahkila@hut.fi] \mbox{}

Reported problem with pre-initialized writers when booting via loadlin.



\end{description}

End of the Linux CD-Writing HOWTO

\end{document}
