<truemper@guug.de>
<admapril@april.kiev.ua>
CD-ROM, . " " , . , . CD-writing HOWTO , , .
Copyright Winfried Trmper 1996,1997,1998,1999. All rights reserved.
, , , .
, ; , , , , , .
: .
CD-R FAQ - FAQ - (CD-R).
CD_writers CD-ROM, Linux CD-ROM HOWTO, Linux SCSI HOWTO Linux Kernel HOWTO.
CD-ROM Compact Disc Read Only Memory ( ), , ( - pits) . ( , ). ( ) , . CD-ROM - .
CD-R - CD-ROM recordable CD-ROM, " " ..., . () CD-R () " " . , , , - . CD-R. , CD-ROM.
CD-ROM rewritable (: CD-RW) , CD-R . , . , - " ". - , " " CD-RW-writers. , : , (-> - ), .
HOWTO CD-R CD-RW. , .
, , UNIX- , online http://www.guug.de:8080/cgi-bin/winni/lsc.pl.
, cdrecord:
Acer: CDRW 6206A
BTC: BCE 621E (IDE)
Compro: CW-7502, CW-7502B
Creative: RW 4224E
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 2242, 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, MP 7040A
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, CDR-56S-400
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
1: CD-writers Linux
, Linux, CD, CD-R Macintosh. , , Linux.
CD Linux :
cdwrite-2.1 cdrecord-1.6 cdrdao
--------------------------------------------------------------
IDE/ATAPI
CD-RW
AudioCD
Data CD-ROM
Multisession
TAO (Track at once)
DAO (Disk at once)
2:
cdwrite
- . cdrecord
, .. .
cdrdao - CD
( disk-at-once mode). -
(" ")
mkisofs mkhybrid
--------------------------------------------
ISO 9660
RockRidge
El Torito
HFS
Joliet
Multisession
3:
ISO9660, Extended-2 , - , . ISO9660 .
RockRidge , . , CD DOS Windows.
El Torito , CD. BIOS PC . , 1.44 CD-ROM . , .
HFS macintosh CD-ROM, HFS ( MacOs)
Joliet ( ) Windows (95, NT). DOS Windows 3.11
2.8 .
( ),
cdwrite-request@other.debian.org
, subscribe
.
http://www.guug.de/~winni/linux/.
Linux, cdrecord -scanbus
. -
Linux , .. - :
shell> cdrecord -scanbus
Cdrecord release 1.7a1 Copyright (C) 1995-1998 Jrg 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) *
1: SCSI-
Jrg Schilling CD-writers. SCSI , CD-ROM . R, -R, -RW.
Linux . , . Linux . : IDE, IDE , .
CD-writer-: SCSI, IDE/ATAPI . 4 Linux . - , . - ( ). - . SCSI, IDE PP (PP= )
Sect. Description Module SCSI IDE PP
------------------------------------------------------------
BLOCK Enhanced IDE/MFM/RLL... Y
BLOCK IDE/ATAPI CDROM ide-cd M
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
4:
Y , . M , , . Y/M ( ). , , , , ( ).
, SCSI, ATAPI, .
( : ), /proc/devices. , 'lsmod'. , 'modprobe -l'. , . , Kernel-HOWTO . Module-HOWTO.
, /etc/modules, (kerneld, kmod). Linux, .
- , .
CD-ROM, ISO9660. RockRidge. MS Joliet , c .
, . , . SCSI , , .
2.2.10, CONFIG_SCSI_MULTI_LUN ('probe for multiple luns') ide-scsi , ide-scsi .
2.2-. Linux. :
2.2 , (IDE SCSI) ATAPI . : 2.0 2.2.
2.2, IDE/ATAPI ignore= ide . : "modprobe ide-cd ignore=hdb", ATAPI-writer hdb ide-scsi hdb scsi-( sr0). ( 2.0)
2.0.31 CD-ROM. 2.0.37.
2.0.36 (IDE SCSI) ATAPI . , "SCSI emulation" (/ ). , CD-writer /dev/hdb, hdb=ide-scsi
image=/boot/zImage-2.0.36
label=Linux
read-only
append="hdb=ide-scsi"
2: lilo (/etc/lilo.conf)
linux "Linux 2.0.36" {
image=/boot/zImage-2.0.36
cmdline= root=/dev/hda5 readonly hdb=ide-scsi
}
3: chos (/etc/chos.conf)
, . .
{ devfs . devfs, .}
/dev
-
, , . (. 3.5).
ls
- loop0
-loop7
:
shell> cd /dev
shell> ls loop*
loop0 loop1 loop2 loop3 loop4 loop5 loop6 loop7
:
, , /dev/MAKEDEV
-:
shell> cd /dev/
shell> modprobe loop
shell> ./MAKEDEV loop
:
, loop
- .
loop- (sg*, pg*, hd*, ...)
.
ATAPI "SCSI- IDE ". , IDE/ATAPI SCSI ( ) SCSI .
Linux , IDE-writer , SCSI , "SCSI (hostadaptor) emulation". .. ide-scsi , , SCSI-writer.
, writer BIOS . , ( ).
SCSI , . http://www.torque.net/parport/parscsi.html, .
/dev/sd* /dev/sr* SCSI SCSI CD-ROM- - . . CD-writer- , . sd* sr* , SCSI SCSI . SCSI- , - .
, /dev ( )
shell> cd /dev
shell> ls sg*
sg0 sg1 sg2 sg3 sg4 sg5 sg6 sg7
, /dev/MAKEDEV
:
shell> cd /dev/
shell> ./MAKEDEV sg
Linux /dev/MAKEDEV, :
for i in 0 1 2 3 4 5 6 7
do
mknod /dev/sg$i c 21 $i
done
, . , http://www.torque.net/parport/paride.html /usr/src/linux/Documentation/paride.txt.
CD-ROM- http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdb.html.
, CD-R: ( CD-ROM )
ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/ (mkisofs)ftp://ftp.ge.ucl.ac.uk/pub/mkhfs (mkhybrid)
CD-R, :
ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/ (cdrecord)http://www.ping.de/sites/daneb/cdrdao.html (cdrdao)
() mkisofs
, ,
1.5 cdwrite
. cdrecord, .
, , mkisofs cdrecord
( cdrecord).
Linux. , , .
X-CD-Roast - CD Linux.
, cdrecord
mkisofs
,
.
http://www.fh-muenchen.de/home/ze/rz/services/projects/xcdroast/e_overview.html
BurnIT - JAVA cdrecord, mkisofs cdda2wav-0.95, CD UNIX .
http://sunsite.auc.dk/BurnIT/
XDaodio
cdrdao. - 1:1 CD.
http://www.lrz-muenchen.de/~MarkusTschan/
"If to smoke you turn I shall not cease to fiddle while you burn." ( -CD AD64. .)
CD Linux 2 :
cdrecord
data-CD audio-CD .
, . , , CD .
, CD ISO-9660 ( ). 620 650 CD-R.
( , CD) (DOS : ). , .
, , . CD , , - .: , .. , .
CD.
mkisofs
. :
mkisofs -r -o cd_image private_collection/
`---------' `-----------------'
| |
'-r ' CD Rock Ridge.
, , ,
(: '-r ' private_collection
!).
mkisofs
8.3, DOS,
. ( 8.3 ),
, STDERR
( ). : Linux 8.3 , Linux RockRidge
, (, , ..).
, mkisofs CD. :
mkisofs
CDCD-R .
. , , (- ), Linux- (: ). , - , CD- - , CD. 650 ( , ).
Linux , . CD CD. , , , , .
cd_image
/cdrom
,
mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom
/cdrom
- , CD.
CD- umount /cdrom
(:
'-K ' mkisofs, /cdrom . ,
, 2.0.36. -pad mkisofs audio-CD -pad mkisofs
, , ).
:
mount
.mount
, - , Linux-., HOWTO. . Linux
mount
: . Linux : .Linux, HOWTO .
. ,
cdrecord -scanbus
SCSI- CD-writer. cdrecord- HOWTO ( SCSI ).
, , , CD , . .. CD , CD . . : 650, 650000 ( 1 ). . , , web .
, , CD, . CD, .
, , SCSI-id CD SCSI , ASR-FAQ ( alt.sysadmin.recovery) : (. .: :)
shell> SCSI_BUS=0 # 1 "scsibus0:"
shell> SCSI_ID=6 # 1 "TOSHIBA XM-3401"
shell> SCSI_LUN=0
shell> cdrecord -v speed=2 dev=$SCSI_BUS,$SCSI_ID,$SCSI_LUN \
-data cd_image
# , , :
shell> cdrecord -v speed=2 dev=0,6,0 -data cd_image
, :SCSI_BUS, SCSI_ID, SCSI_LUN. -data non-mandatory , audio-CD.
cdrecord CD-RW, "blank=..." . man- CD-RW.
, , , 400 , mkisofs cdrecord:
shell> IMG_SIZE=`mkisofs -R -q -print-size private_collection/ 2>&1 \
| sed -e "s/.* = //"`
shell> echo $IMG_SIZE
shell> [ "0$IMG_SIZE" -ne 0 ] && mkisofs -r private_collection/ \
|cdrecord speed=2 dev=0,6,0
tsize=${IMG_SIZE}s -data -
# s --^ ^-- STDIN
( mkisofs cdrecord). writer , . tsize- cdrecord ( IMG_SIZE). - mkisofs cdrecord, .
audio-CD . : audio-CD , . .. 10 CD, . - ISO9660 ( ), "16 PCM 44100 / (44.1)".
- sox. :
shell> sox killing-my-software.wav killing-my-software.cdr
killing-my-software WAV- CDR-. . man- sox , sox. .. , cdrecord WAV AU. , .wav .au ( 16 44.1 ), .
cdrecord audio-, -audio. CD ( ). , :
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...
MPEG-3 , "mpg123 -s track1.mp3>track.cdr". (: , -swap cdrecord). "8bz-mp3" WAV ( cdda2wav CD MP# 8Hz-mp3). CD_R MP3 , .
for I in *.mp3
do
mpg123 -s $I | cdrecord -audio -pad -swab -nofix -
done
cdrecord -fix
, "speed=1" ( cdrecord). "speed=4", MP3 . mpg123 ! , -dummy ( ). audio-CD, .
, disk-at-once (DAO) track-at-once (TAO) . DAO cdrdao. .
read-cd, 1:1 audio-CD.
. () -data -audio. :
cdrecord -v dev=0,6,0 -data cd_image -audio track*.cdr
, " ". , , , CD-R .
. -dummy cdrecord. , , .
cdrecord mkisofs, ,
locale- CD.
cron
, at
anacron
,
CD-ROM.
- , . , , 100/. . :-)
, . . 10 20 , CD-R.
, , , .
bash> e2fsck -n /dev/sda5 # '-n'
[stuff deleted - ignore any errors]
/dev/sda5: 73/12288 files (12.3% non-contiguous)
, , - 73
( /tmp
) - .
e2defrag extended-2 . , . , ( ), , ( ) . , .
. , - (NFS).
UMSDOS, Linux DOS/Win PC (486/66), CD.
. CD. CD.
:
dd if=/dev/zero of="empty_file" bs=1024k count=650
bash> /sbin/mke2fs empty_file
empty_file is not a block special device.
Proceed anyway? (y,n) y
mount -t ext2 -o loop=/dev/loop1 empty_file /mnt
cdwrite
cdrecord
empty_file ( )
iso9660. /etc/fstab
CD, , :
/dev/cdrom /cdrom ext2 defaults,ro 0 0
0 " ", () " " (fsck CD ).
. , "cdparanoya", :
http://www.mit.edu/afs/sipb/user/xiphmont/cdparanoia/index.html
"cdda2wav" "sox", sunsite, :
ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/cdda2wav0.71.src.tar.gzftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/sox-11gamma-cb3.tar.gz
cdda2wav
( )
CD a . wav-. sox
wav- cdda-
(Audio-CD), .. CD-R, cdrecord
. "sox",
cdrecord,
.au .wav .
drivers/scsi/scsi.c
/*
* : echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
* " 0 1 2 3 " "Id Lun ".
* BETA.
* : hotplugging .
* SCSI ,
* !
*
* . , ,
* , .
*/
:
/*
* 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.
*/
, , SCSI- . SCSI ( /dev) .
. , (- ) .
: CD-writer CD-ROM.
cdrecord -v dev=0,6,0 speed=2 -isosize /dev/scd0
CD-ROM, /dev/scd0
CD-R.
: CD-ROM. , CD-ROM:
dd if=/dev/scd0 of=cdimage
cdrecord, "readcd"
( misc/). mkisofs
,
3.
, CD! cdrdao cdda2wav
CD.
. (2.0.36 2.2) joliet . , /etc/fstab: iso9660 joliet, . http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html.
, CD-ROM. . , scd- (SCSI CD-ROM) CD , ATAPI CD-ROM ( ATAPI- SCSI). /etc/fstab:
/dev/scd0 /cdrom iso9660 ro,user,noauto 0 0
bzip2
, gzip
pkzip
.
30% (>100kb) . :
http://www.muraroa.demon.co.uk/
CD, wav- mp3- ISO-9660 . MPEG III 1:10. , CD ... . , ? 18 3000-4000 . :-)
MPEG III
http://www.stud.ifi.uio.no/~larsi/other/8hz-mp3-cheng.tar.gz
MPEG III
http://homepages.uni-tuebingen.de/student/michael.hipp/mpg123/
, shorten
"GSM lossy speech compression":
ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/http://kbs.cs.tu-berlin.de/~jutta/toast.html
1.44 . :
dd if=/dev/fd0 of=boot.img bs=18k
( , ). mkisofs '-b' '-c'. README.eltorino mkisofs.
CD - DOS Windows . , ( samba -). , , .. .
overlay-filesystem Linux, CD-ROM . , CD-ROM . . http://home.att.net/~artnaseef/ovlfs/ovlfs.html.
: UDF- Linux (. http://trylinux.com/projects/udf/).
. , . (2.2.10) SCSI-generic ( ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha; 2.2.5).
"c't" CD 1996:
2 Linux. 3 4 Linux . README.NetBSD, README.aix, README.hpux, README.next, README.solaris, README.sunos, README.vms or README.xxxBSD cdrecord-.
. cdrecord, shell-, . shell- , cdrecord . - , -. . :
# be verbose
v
# set the speed of the writer
speed=2
# the device-coordinates in the form BUS,ID,LUN
dev=0,6,0
/etc/cdrecord . : /etc/cdrecord/mywriter.cfg, "cdrecord.sh mywriter.cfg -audio track1...". mywriter.cfg cdrecord
#! /bin/bash
CFGDIR="/etc/cdrecord"
CFG="$1"
shift
ARGS_LEFT="$@"
if [ ! -f "$CFGDIR/$CFG" ]
then
echo "Configuration file $CFGDIR/$CFG not found. Exiting."
exit 1
fi
while read LINE
do
case $LINE in
\#*|"") continue;;
esac
old_IFS="$IFS"
IFS="$IFS="
set -- $LINE
IFS="$old_IFS"
O_NAME="$1"
O_VALUE=""
while shift
do
case $1 in
"") continue;;
esac
O_VALUE="$1"
done
if [ -z "$O_VALUE" ]
then
O_CDRECORD="$O_CDRECORD -$O_NAME "
continue
fi
O_CDRECORD="$O_CDRECORD $O_NAME=$O_VALUE "
done < "$CFGDIR/$CFG"
set -x #DEBUG
exec cdrecord $O_CDRECORD $ARGS_LEFT
echo "Execution of cdrecord failed."
- 32 CD, CD. :
#! /bin/bash
RD=/dev/cdrom
for i in 32768,7 32776,32 32808,32 32958,128 33086,128 33214,128 \
33342,128 33470,32 33581,16 33598,16 33615,16 33632,16
do
old_IFS="$IFS"
IFS=","
set -- $i
IFS="$old_IFS"
OFFSET=$1
LENGTH=$2
echo "*`dd if=$RD bs=1 skip=$OFFSET count=$LENGTH 2> /dev/null`#"
done
CD-RW , blank=fast cdrecord. . . man- cdrecord .
, - CD ISO9660- RockRidge-. cdrecord -multi . .. , -multi.
. mkisofs CD-R . cdrecord -msinfo (. )
shell> NEXT_TRACK=`cdrecord -msinfo dev=0,6,0`
shell> echo $NEXT_TRACK
shell> mkisofs -R -o cd_image2 -C $NEXT_TRACK -M /dev/scd5
private_collection/ \
, README.multi, cdrecord.
, CD-ROM . :-)
, (= ). :
" " - . loadlin Linux, . Loadlin "" , Linux.
Linux, - , .. . :
[root@Blue /dev]# cdrecord -eject dev=0,6,0
cdrecord: No such file or directory. No read access for 'dev=0,6,0'.
Linux. SCSI- DOS - . Linux ? !
SCSI () SCSI . ( ), CD-R.
NCR 53c7,8xx SCSI , :
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
HOWTO, .
audio-cd mp3
dis-/reconnect ncr
, cdwrite HOWTO
4.9.
,
CD
, Joliet CD
CD
URL mkhybrid
1:1 .
IDE CD-R
- writer- loadlin
cdrecord
cdwrite-
ext2 CD-ROM (. 4.4)
-iso9660 CD
CD
: Bartosz Maruszewski <B.Maruszewski@zsmeie.torun.pl>, Ian Stirling <ian@opus131.com>, Brian H. Toby.
Linux CD-Writing mini-HOWTO ( .)
Last-modified: Mon, 20 Dec 1999 10:18:58 GMT