<!doctype linuxdoc system>
<!-- $Id: CD-Writing-HOWTO-sl.sgml,v 1.14 2002/08/27 14:57:39 peterlin Exp $ -->

<article>

<title>CD-Writing-HOWTO
<author>Winfried Trümper <tt>&lt;winni@xpilot.org&gt;</tt>
<date>v2.9.3, 23. julija 2000, prevod 27. avgusta 2002
<abstract>
Ta dokument opisuje, kako v Linuxu zapišemo CD-ROM.
</abstract>

<toc>

<sect>Uvod
<p>
Mnogi uporabljajo Linux za peko cedejev, ker je to početje z njim zanesljivo in
enostavno. Nobenih modrih zaslonov s sporočili o kritičnih napakah,
nobenih glavobolov pri usklajevanju strojne in programske opreme. Ko
je enkrat sistem postavljen, preprosto deluje. Ta spis razlaga
nastavitev, kako zapisati podatke na disk, podaja pa tudi nekaj zanimivih
uporab, ki so jih prijazno prispevali bralci.

<sect1>Jamstvo ter pogoji razširjanja in uporabe
<p>
Copyright Winfried Trümper 1996-2002. Vse pravice pridržane.

Razširjanje in uporaba izvirne ali modificirane različice tega spisa
sta dovoljeni pod pogojem, da se ime avtorja ne uporablja za promocijo
izdelkov, izvirajočih iz te programske opreme, brez vnaprejšnjega
pisnega dovoljenja. Prevodi so dobrodošli in zanje ni treba imeti 
posebnega dovoljenja.

<bf>
Avtor z ničimer ne jamči za ta spis, tudi impliciranega
jamstva ne daje, denimo za trženje ali primernost za določen namen; v
nobenem primeru ni odgovoren za posebno, neposredno ali
posledično škodo, ki bi nastala zaradi izgube rabe, podatkov ali
dobička, bodisi zaradi pogodbenih obveznosti, zanemarjanja ali drugih
kaznivih dejanj, posredno ali neposredno povezanih z uporabo tega
dokumenta.
</bf>

Povedano na kratko: ta dokument berete in uporabljate na lastno
odgovornost. Nobenega jamstva z vračilom denarja nimate. Če vas zanima, zakaj
se ta dokument lahko razširja pod pogoji šibke licence, ne pa GPL ali
podobne, si morate prebrati članek v nemški računalniški reviji
<it>c't</it>,<url
url="http://www.heise.de/tp/deutsch/inhalt/te/8375/1.html"> (v
nemščini).

<sect1>Dostopnost
<p>
Kot urednik tega spisa večinoma zbiram in urejam podatke, ki mi jih
pošljejo drugi. Nisem ne programer ne izvedenec za strojno opremo,
zato se morate za specifične težave s programjem ali železjem obrniti
na koga drugega. Vedno pa se je smiselno obrniti name s poročili o
rešitvah, ki v spisu še niso opisane.
<p>

Vsako leto prejmem več sto e-dopisov, nanašajočih se na ta spis. Zato
prosim za nekaj potrpljenja, saj ne morem vedno odgovoriti v nekaj
urah. Vendar pa vedno takoj preberem vsa sporočila in vaše postavim v
vrsto CDR. Preden mi zastavite vprašanje, prosim, preverite, ali ni že
odgovorjeno nanj v zadnji izdaji tega spisa. Ta je vedno dostopna na
naslovu <url url="http://wt.xpilot.org/">.

<sect1>Priporočljivo branje
<p>

Kar zadeva namestitev novega jedra, se obrnite na priročnik za vašo
distribucijo Linuxa. Na to se res ne spoznam, kadar gre za
distribucije, ki jih ne uporabljam.

<htmlurl url="http://www.cdrfaq.org/" name="CD-R FAQ"> je splošni spis
z vprašanji in odgovori o zapisovanju kompaktnih diskov (CD-R),
zapisovalnikih in potrebnem programju. Ker lahko z večino
zapisovalnikov CD diske tudi berete, so morda vredni branja tudi
<it>Linux CD-ROM HOWTO</it>, <it>Linux SCSI HOWTO</it> in <it>Linux
Kernel HOWTO</it>.

<sect1>Terminologija... Laserji na maksimalno moč... Ogenj!<label id="1.3">
<p>
<it>CD-ROM</it> je kratica za Compact Disc Read Only Memory, bralni
pomnilnik na kompaktnem disku. Laser zazna mikroskopsko majhne
vdolbinice na srebrni svetlikajoči se površini. Te vdolbinice
predstavljajo bite informacije in so tako drobne, da jih gre na ploščo
več milijard. CD je torej hranilnik za obsežne količine podatkov.

Izraz <it>CD-R</it> pomeni krajši zapis za <it>CD-ROM recordable</it>
(zapisljivi CD-ROM) in se nanaša na kompaktni disk, ki na površini nima
vdolbinic, zatorej je prazen. CD-R ima namesto tega posebno kemično
prevleko, v katero lahko laser vžge vdolbinice. To napravimo tako, da
laser, s katerim navadno vdolbinice le zaznavamo, nastavimo na nekaj
večjo moč, tako da v prevleko vžge vdolbinico. To lahko na prevleki
napravimo le <it>enkrat</it>. Lahko pa pustimo na disku nekaj
prostora, kamor lahko pozneje še kaj dosnamemo. Takim diskom se po
angleško pravi <it>multi-session CD</it>.

Da bi odpravili omejitev enega zapisa na ploščah CD-R, so razvili
tehnologijo <it>CD-RW</it> (CD-ROM rewritable, vnovično zapisljivi
CD-ROM). Pri teh diskih lahko laser vžge vdolbinice, pa tudi stali
jih, tako da je mogoče na disk znova pisati. Slednje je mogoče, ker
laser v resnici ne vžiga luknjic v sredstvo. Boljša je primerjava s
hokejsko tekmo: z drsanjem po ledeni ploskvi igralci (laser) puščajo
na njej raze. Vzorec na ledu (disku) je potemtakem zapis dogajanja v
eni četrtini tekme. V odmoru pride rolba Zamboni in zgladi raze v
ledu. Vzorec na ledu je tako počiščen in led je pripravljen za novo
četrtino. Skupni znanstveni izraz za izhlapevanje, kondenzacijo,
taljenje, zmrzovanje ipd. je <it>fazna sprememba</it> (angl. <it>phase
change</it>), zato se za naprave CD-RW uporablja tudi izraz "phase
change devices".

Ta spis obravnava zapisovanje diskov CD-R in CD-RW. Dobrodošli na
krovu, kapitan!

<sect1>Podprti zapisovalniki plošč CD<label id="supported">
<p>
Glede podpore zapisovalnikom na vodilu USB si oglejte <it>Linux USB
HOWTO</it>. Sicer pa lahko s precejšnjo gotovostjo domnevate, da
večina naprav IDE/ATAPI in SCSI v Linuxu deluje. Večina novejših
pogonov je združljivih s standardom MMC in potemtakem podprtih. Če je
podprta izvedba SCSI določenega zapisovalnika, potem najverjetneje
deluje tudi izvedba IDE/ATAPI, in nasprotno. Ker pa nekatere ljudi
prevzameta neizmerna toplina in sreča, če med podprtimi napravami
vidijo izrecno naveden njihov model, tu navajamo še seznam naprav, ki
jih podpira <tt>cdrecord</tt>:

<tscreen><it>Tabela: Zapisovalniki CD, podprti v Linuxu</it><verb>
Acer:           CDRW 4432A, CDRW 6206A, CD-R/RW 6X4X32, 8432A
BTC:            BCE 621E (IDE)
Compro:         CW-7502, CW-7502B
Creative:       MK 4211, RW 4224E,
Delta:          OME-W 141
Dysan:          CRW-1622
Elite:          Elite b444.41
Goldstar:       CED-8041B 
Grundig:        CDR 100 IPW
Guillemot:      Maxi CD-R 4X/8X
HP:             SureStore 4020i, SureStore 6020i,
                C4324, C4325
		CD-writer+ 7100, 7200i, 7500e, 8100i, 8110i, 8200i Plus,
	                   8250i, 9100i, 9110i, 9200e, 9210, 9300i, 9310i
Hi-Val:         CDD 2242, CDD-3610, 
Iomega:         ZIPCD 4x650
JVC:            XR-W 2001, XR-W 2010, XR-W 2040, XR-W 2042, XR-RW 2224,
	        YR 2626
Kiss:           CDRW (model ni naveden)
Kodak:          PCD 200, PCD 225, PCD 260, PCD 600
Matsushita:     Matsushita je japonsko ime za znamko Panasonic, glej tam
Memorex:        CRW-620, CDR-622, CRW-1622, CRW-2224, CDRW-4420 
Microboards:	PlayWrite 2000, PlayWrite 4000 RW, PlayWrite 4001 RW
MicroNet:       MasterCD Plus 4x4, MasterCD Plus 4x6
Mitsubishi:	CDRW-226
Mitsumi:	CR-2401-TS, CR-2600 TE,  CR-2801 TE, 
		CR-4801 TE, CR-4802 TE,  CR-4804 TE
Nomai:          680.RW
Olympus:	CDS 615E, CDS 620E
Optima:         DisKovery 650 CD-R
OTI:		CDRW 965, CDRW 975 (Socrates 1.0)
Panasonic:      CW-7285, CW-7502, CW-7503, CW-7582
Philips:        CDD-521/10, CDD-522,
		CDD-2000, CDD-2600, CDD-3600, CDD-3610, CDD 4201
	        PCA 267cr, PCA 460 RW, PCRW 404,
		Omniwriter 26, Omniwriter 26A,
	        CDRW800
Pinnacle:       RCD-100, RCD-1000, RCD-5020, RCD-5040
Pioneer:        DW-S114X 
Plasmon:	CDR 480, CDR 4220, RF-4100, RF-4102, CDR 4400
Plextor:	CDR PX-24 CS, PX-412 C, PX-R412 C
		PX-R 810Ti, PX-R 820T, PX-W 4220Ti, PX-W 8220T, PX-W 8432T
	        Plexwriter RW 4/2/20 
Procom:         PCDR 4 
REC:            820s 
Ricoh:          RO-1420C+, MP 1420C, MP 6200S, MP 6201S, MP 7040A, MP-7060A
Samsung:        SW-204
Sanyo:		CRD-R24S
Smart and
Friendly:       CD-RW 226, CD-R 1002, CD-R 1002/PRO, CD-R 1004,
                CD-R 2004, CD-R 2006 PLUS, CD-R 2006 PRO, CD-RW 2224,
                CD-R 4000, CD-R 4006, CD-R 4012, CD-RW 4424A
	        CD-R 8020, CD-R 8220
Sony:		CDRX 100E, CDRX 120E, CDRX 140S-RP,
	        CDU 920S, CDU 924, CDU 926S, CDU 928E, CDU 948S
Taiyo Yuden:    EW-50
TEAC:		CD-R50S, CD-R55S, CDR-55S, CDR-55K,
	        CDR-56S-400, CD-R56S-600, R56S-614
Traxdata:	CRW 2260,
                CDR 4120, CDR 4120 Pro, CDRW 4260, CDRW 4424, CDR 4800
Turtle Beach:   2040R
Waitec:         wt 2036, wt 2444ei
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
		CDW-2216E, CRW-2260, CRW-2260t,
		CRW-4250tx, CRW-4260t, CRW-4260tx, CRW-4261, CRW-4416S,
	        CRW-6416S, CRW-8424E
</verb></tscreen>

Podroben seznam modelov, ki delujejo ali ne delujejo z različnimi
Unixu podobnimi operacijskimi sistemi, najdete na
<url url="http://www.guug.de:8080/cgi-bin/winni/lsc-orig.pl">.

Če vaša strojna oprema ni podprta, lahko Linux vseeno uporabljate za
ustvarjanje slik bodočih plošč CD, vendar boste za zapisovanje
morali uporabiti programsko opremo za DOS. Slike diskov je smiselno
izdelati v Linuxu, ker večina programske opreme za DOS ne podpira
dolgih imen datotek, ki so na voljo v Linuxu.

<sect1>Podprte možnosti
<p>
Pri pripravljanju diskov imamo opravka z dvema vrstama programov. S prvimi 
ustvarimo sliko diska, z drugimi pa sliko zapišemo na
disk. Slednji podpirajo naslednje možnosti:

<tscreen><it>Tabela: možnosti zapisovalnikov diskov</it><verb>
Podprta lastnost    cdwrite-2.1     cdrecord-1.6    cdrdao
----------------------------------------------------------
IDE/ATAPI           da              da              da 
Parallel Port       ne              da              da 
CD-RW               ne              da              da 
Audio CD            da              da              da 
Data CD-ROM         da              da              delno  
Multisession	    delno           da              ne
TAO (track at once) da              da              da 
DAO (disk at once)  ne              delno           da 
paketni zapis       ne              ne              ne
</verb></tscreen>

Program <tt>cdwrite</tt> ni več podprt in je naveden samo zaradi
popolnosti. Namesto njega uporabite <tt>cdrecord</tt>, ker podpira
širši razpon naprav in ima mnogo več možnosti. Poglavitna prednost rabe
programa <tt>cdrdao</tt> je možnost zapisa glasbenih plošč, pri
katerih med zapisi ni dvesekundnega premora. To doseže z zapisom
celotnega diska naenkrat (Disk at Once, DAO).

Spodnja orodja so oblikovalniki podatkov, ki podatke pred zapisom
uredijo v predpisani obliki.

<tscreen><it>Tabela: možnosti programov za izdelavo slik diskov</it><verb>
Možnost		mkisofs         mkhybrid        mkvcdfs 
-------------------------------------------------------
ISO 9660	yes		yes             no
RockRidge	yes             yes             no
El Torito	yes             yes             no
HFS             no              yes             no
Joliet          yes             yes             no
Multisession	yes             yes             no
CD-Extra	yes             yes             no
Video-CD        no              no              yes
</verb></tscreen>

Najočitnejša razlika med datotečnim sistemom ISO 9660 ter datotečnimi
sistemi, kot sta ReiserFS ali ext2, je seveda ta, da zapisanih datotek
ne morete več spreminjati. Druge omejitve datotečnega sistema ISO 9660
pa zajemajo še:

<itemize>
<item>8 ravni podimenikov, šteto od vrhnjega imenika CD
<item>do 32 znakov dolga imena datotek
<item>velikost 650 MB
</itemize>

<it>RockRidge</it> je razširitev, ki omogoča daljša imena datotek in
globljo strukturo imenikov kot ISO 9660. Ko disk CD-ROM z razširitvami
RockRidge preberemo v Linuxu, vidimo vse znane podatke o datotekah,
kot so lastnik, skupina, dovoljenja; delujejo tudi simbolne
povezave. RockRidge se torej navidez obnaša kot običajen datotečni
sistem Unix. Teh razširitev ne podpirajo sistemi DOS in Windows.

<it>El Torito</it> se lahko uporablja za izdelavo zagonskih (bootable)
plošč CD. Da ta možnost deluje, jo mora podpirati BIOS
računalnika. Grobo rečeno, prvih 1,44 MB (ali 2,88 MB, če BIOS podpira
to možnost) na disku vsebuje sliko zagonske diskete. To sliko BIOS
obravnava kot disketo in z nje zažene sistem. Slednje posledično tudi
pomeni, da do prave diskete (<tt>/dev/fd0</tt>) morda ne boste mogli.

<it>HFS</it> omogoča, da računalniki Macintosh berejo CD-ROM, kot da
bi bil ta disk z datotečnim sistemom HFS (domači datotečni sistem za
računalnike Macintosh).

<it>Joliet</it> med drugim prinaša podporo dolgim imenom v nekaterih
novejših različicah sistemov Windows (od Windows 95 dalje). Avtorju ni
znano nobeno orodje, s katerim bi omogočil dolga imena v sistemih DOS
ali Windows 3.11.

<it>Video-CD</it> lahko neposredno predvajamo v predvajalnikih DVD.

Razdelek <ref id="2.8" name="Uporabniška programska oprema za
zapisovanje na plošče CD"> navaja, kje je moč dobiti omenjeno programsko
opremo.

<sect1>Poštni seznami
<p>
Če bi se radi priključili razvojni skupini (z namenom, da bi aktivno
sodelovali), pošljite elektronsko sporočilo <tt>cdwrite-request@pixar.com</tt>, 
v telo sporočila pa napišite <tt>subscribe</tt>.

<sect>Priprava Linuxa na zapisovanje plošč CD-ROM
<p>
Ta razdelek se nanaša na naslednje vrste zapisovalnikov CD: SCSI,
IDE/ATAPI ter enote, ki se priključijo na tiskalniška vrata. Med pisanjem 
tega spisa (maj 2000) zapisovalniki na vodilu USB niso bili
podprti. Zapisovalniki, ki ne uporabljajo vodila SCSI, potrebujejo
posebne gonilnike, s katerimi se predstavljajo kot zapisovalniki
SCSI. Po eni strani je taka strategija poenotenja ("vse je SCSI")
koristna, ker se na ravni namenskih programov z vsemi zapisovalniki
dela enako. Po drugi strani pa zahteva, da znova nastavite nekatere
namenske programe kot predvajalnike plošč ali ukaz <tt>mount</tt> --
če ste bili navajeni svoj zapisovalnik ATAPI uporabljati prek
datoteke <tt>/dev/hdc</tt>, bo to treba z aktivacijo združljivosti
spremeniti, denimo na <tt>/dev/scd0</tt>.

Ko ste uspešno nastavili svoje železje in preostanek sistema Linux,
ukaz <tt>cdrecord -scanbus</tt> prikaže seznam vseh enot na vodilih
SCSI. Namen tega razdelka je, da bi vam pomagal pri nastavljanju sistema
Linux, tako da boste čim prej zagledali nekaj takega kot:

<tscreen><verb>
shell&gt; cdrecord -scanbus
Cdrecord release 1.7a1 Copyright (C) 1995-1998 Jörg Schilling
scsibus0:
      0,0,0) 'Quantum ' 'XP34300         ' 'F76D' Disk
      0,1,0) 'SEAGATE ' 'ST11200N        ' '8334' Disk
      0,2,0) *
      0,3,0) 'TOSHIBA ' 'MK537FB/        ' '6258' Disk
      0,4,0) 'WANGTEK ' '5150ES SCSI 36  ' 'ESB6' Removable Tape
      0,5,0) 'EXABYTE ' 'EXB-8500-85QUE  ' '0428' Removable Tape
      0,6,0) 'TOSHIBA ' 'XM-3401TASUNSLCD' '3593' Removable CD-ROM
      0,7,0) *
scsibus1:
      1,0,0) 'Quantum ' 'XP31070W        ' 'L912' Disk
      1,1,0) *
      1,2,0) *
      1,3,0) 'TEAC    ' 'CD-R55S         ' '1.0H' Removable CD-ROM
      1,4,0) 'MATSHITA' 'CD-R   CW-7502  ' '4.02' Removable CD-ROM
      1,5,0) *
      1,6,0) 'YAMAHA  ' 'CDR400t         ' '1.0d' Removable CD-ROM
      1,7,0) *
</verb><it>Programski izpis: Zaznavanje naprav na vodilu SCSI.</it></tscreen>

Zgled, ki ga je prispeval Jörg Schilling, kaže skupaj štiri
zapisovalnike SCSI na dveh vodilih. Izbira <tt>-scanbus</tt> prikaže
tudi druge naprave SCSI, kot so enote CD-ROM, diski in tračne
enote. Zadnji stolpec prikazuje opis enote SCSI, iz katerega pa ni
mogoče zlahka ločiti zapisovalnikov CD od enot CD-ROM, s katerimi
lahko le beremo. V oznaki izdelka (srednji stolpec) pa je pogosto 
kakšen namig (pripone R, -R ali -RW), ki nam pomaga pri prepoznavanju,
katera enota je zapisovalnik.

<sect1>Za nestrpne
<p>
Ta razdelek skuša ponuditi hiter in enostaven opis nastavitve. Res ne
pokriva vseh mogočih situacij, kljub temu pa ste vabljeni, da nadaljujete
in poskusite. Najprej z ukazom <tt>uname -r</tt> preverite, katero
različico jedra Linuxa poganjate. Rezultat bo verjetno 2.4.nekaj ali
2.2.nekaj (pri čemer je ta drugi nekaj večji od 11). Če uporabljate
jedro, starejše od različice 2.0.36, si morate pomagati, kakor veste
in znate. Enako velja tudi, če uporabljate katero od razvojnih
različic jedra (2.5.nekaj ipd.). Z namestitvijo novega jedra ni nič
več dela kot s popravljanjem starega, zato tu ne navajamo nobenih
receptov za krpanje napak v jedru.

Spodnji izpis prikazuje nabor ukazov, ki jih potrebujete za
začetek. Z ukazi ustvarimo datoteke naprav v imeniku <tt>/dev</tt>,
razen če ti že obstajajo.

<tscreen><verb>
test `whoami` = 'root' || echo "You must be root to execute the commands."
cd /dev/
umask -S u=rwx,g=rwx,o-rwx
[ -f loop0 ] \
    || ./MAKEDEV loop \
    || for i in 0 1 2 3 4 5 6 7; do mknod loop$i b 7 $i; done
[ -f sg0 -o -f sga ] \
    || ./MAKEDEV sg \
    || for i in 0 1 2 3 4 5 6 7; do mknod sg$i  c 21 $i; done
</verb><it>Programski izpis: ustvarjanje datotek naprav</it></tscreen>

Dostop do strojne opreme se v Linuxu izvaja prek datotek
naprav. Preden se torej lotimo česarkoli, moramo preveriti, ali te
datoteke obstajajo v imeniku <tt>/dev</tt>. Resda mi še nihče ni
prepričljivo razložil, zakaj to ne gre samodejno, denimo z datotečnim
sistemom naprav (devfs). Ta je na voljo že nekaj let in je standardna
oprema jeder 2.4. Ponuja varnejši in veliko jasnejši način
poimenovanja naprav, tako da se te samodejno pojavijo v imeniku
<tt>/dev</tt>. Nekaj pomembnih ljudi resda trdi, da devfs ni idealna
rešitev, vendar ne le, da niso ponudili ničesar boljšega -- ponudili
niso niti ničesar primerljivega ali vsaj česa, kar bi bilo dostopno
in preizkušeno. Začnimo že enkrat uporabljati devfs, da bom lahko
zgornji programski izpis izpustil iz tega spisa.

Naslednja pomembna stvar, ki jo moramo preveriti, je, ali je jedro
Linuxa opremljeno s potrebnimi gonilniki. Z naslednjimi ukazi
v več datotekah preverimo, ali so gonilniki naloženi v jedro. Navadno
ukaz <tt>cdrecord -scanbus</tt> samodejno sproži nalaganje vseh
potrebnih gonilnikov v jedro. Če se to ne zgodi, dobimo sporočilo o
napaki in modularni gonilnik lahko z ukazom <tt>insmod</tt> ročno
naložimo v jedro.

<tscreen><verb>
test `whoami` = 'root' || echo "You must be root to execute the commands."
cdrecord -scanbus > /dev/null
if ! (pidof kerneld || test -f "/proc/sys/kernel/modprobe"); then
    echo "Neither kerneld nor kmod are running to automatically load modules".
fi
report_no_autoload() {
    echo "Ensure the module $1 is loaded automatically next time."
}
if test ! -f "/proc/scsi/scsi"; then
    report_no_autoload scsi_mod  &&  insmod scsi_mod
fi
if ! grep "^........ sg_" /proc/ksyms > /dev/null; then
    report_no_autoload sg  &&  insmod sg
fi
if ! grep "^........ sr_" /proc/ksyms > /dev/null; then
    report_no_autoload sr_mod  &&  insmod sr_mod
fi
if ! grep "^........ loop_" /proc/ksyms > /dev/null; then
    report_no_autoload loop  &&  insmod loop
fi
if ! grep iso9660 /proc/filesystems > /dev/null; then
    report_no_autoload iso9660  &&  insmod iso9660
fi
echo "The following is only needed for IDE/ATAPI CD-writers."
if ! grep ide-scsi /proc/ide/drivers > /dev/null; then
    report_no_autoload ide-scsi  &&  insmod ide-scsi
fi
cdrecord -scanbus
</verb><it>Programski izpis: Preverjanje gonilnikov</it></tscreen>

Če ukaz <tt>insmod</tt> sporoči napako o manjkajočem gonilniku, si,
prosimo, preberite naslednje poglavje. Če delujete v terminalskem
načinu, boste ob nalaganju gonilnikov videli izpisano vrsto
diagnostičnih sporočil. Te lahko v grafičnem okolju (X11, KDE, GNOME)
prikličete nazaj z ukazom <tt>dmesg</tt>.

Dva načina sta, da potrebne module samodejno naložimo v jedro ob
zagonu:

<itemize>
<item>Ustrezen ukaz <tt>insmod</tt> vnesemo v zagonski skript
(<tt>rc.local</tt> ali ustrezno).

<item>Poganjamo <tt>kerneld</tt> ali <tt>kmod</tt>, ki ju nastavimo v
datoteki <tt>/etc/modules.conf</tt> (pravzaprav je to nastavitvena
datoteka za ukaz <tt>modprobe</tt>, ki ga kliče en ali drug demon)
</itemize>.

Uporabniki zapisovalnika na vodilu SCSI lahko preostanek tega razdelka
preskočijo, ker je ukaz <tt>cdrecord</tt> najverjetneje že zaznal
njihovo strojno opremo. Če je ni, prosim, pošljite avtorju tega spisa
elektronsko sporočilo z osnovnimi podatki o vašem sistemu, tako da
bo lahko izboljšal razdelek o zapisovalnikih SCSI.

Zdaj pa k uporabnikom, ki uporabljajo zapisovalnike CD na vodilu
IDE/ATAPI. Kot smo že omenili v prejšnjem poglavju, morate naložiti
združljivostni modul <tt>ide-scsi</tt>. Vendar pa ima ta gonilnik
lahko dostop do zapisovalnika le, če ga že ne uporablja kak drug
gonilnik. Z drugimi besedami: svojemu običajnemu gonilniku IDE morate
dopovedati, naj zapisovalnika ne prepozna in naj ga pusti pri miru, tako da ga
lahko pograbi gonilnik <tt>ide-scsi</tt>.

<tscreen><verb>
hda = IDE vodilo/vtič 0 master
hdb = IDE vodilo/vtič 0 slave
hdc = IDE vodilo/vtič 1 master
hdd = IDE vodilo/vtič 1 slave
</verb><it>Tabela: datoteke naprav za naprave IDE/ATAPI</it></tscreen>

Zgornja razpredelnica kaže povezavo med imeni datotek naprav in
položajem naprav na katerem od vodil IDE. Ime datoteke naprave, ki
predstavlja vaš zapisovalnik CD, je treba podati jedru Linuxa, na primer
<tt>hdb=ide-scsi</tt>. Tako nastavitev moramo dodati v datoteki
<tt>lilo.conf</tt> ali <tt>chos.conf</tt>, če je gonilnik statični del
jedra, kar je najpogostejši primer. Če morate podati jedru več kot en
parameter, parametre ločite s presledki, tako kot v zgledu za chos spodaj. V
programskih izpisih zgleda nastavitev, ki sledita, je prikazano več
vrstic, ne le tista, ki jo je treba dodati. Vedite, da so vrstice
append- in cmdline- odvisne od jedra, zatorej jih ne dodajajte na
začetek datoteke.


<tscreen><verb>
image=/boot/zImage-2.2.14
  label=Linux
  read-only
  append="hdb=ide-scsi"
</verb><it>Programski izpis: Zgled nastavitve za LILO (/etc/lilo.conf)</it></tscreen>

<tscreen><verb>
linux "Linux 2.1.14" {
        image=/boot/zImage-2.0.37
        cmdline= root=/dev/hda5 readonly hdb=ide-scsi
}
</verb><it>Programski izpis: Zgled nastavitve za chos (/etc/chos.conf)</it></tscreen>

Če gonilnik IDE/ATAPI nalagamo kot modul, nam zgornja dva izpisa nista
v pomoč. Namesto tega vključimo vrstico "options" iz naslednjega
izpisa. Vključitev zadnjih treh vrstic navadno svetujejo zato, da se
nadalje avtomatizira samodejno nalaganje potrebnih modulov.

<tscreen><verb>
options ide-cd ignore=hdb            # tell the ide-cd module to ignore hdb
alias scd0 sr_mod                    # load sr_mod upon access of scd0
#pre-install ide-scsi modprobe imm    # uncomment for some ZIP drives only
pre-install sg     modprobe ide-scsi # load ide-scsi before sg
pre-install sr_mod modprobe ide-scsi # load ide-scsi before sr_mod
pre-install ide-scsi modprobe ide-cd # load ide-cd   before ide-scsi
</verb><it>Programski izpis: Zgled nastavitve /etc/modules.conf</it></tscreen>

Če je zapisovalnik CD edina enota CD-ROM v sistemu, vedite, da jo morate zdaj
uporabiti prek datoteke naprave <tt>/dev/scd<it>x</it></tt>,
kjer je <it>x</it> številka od 0 do 7. Verjetno boste želeli tudi
simbolno ime <tt>cdrom</tt> spremeniti tako, da bo kazalo na novo ime
naprave. Spodnji programski izpis kaže, kako to izvedemo za napravo
<tt>scd0</tt>.

<tscreen><verb>
cd /dev && rm cdrom && ln -s scd0 cdrom
</verb><it>Programski izpis: Nastavitev cdrom kot simbolno ime za scd0</it></tscreen>

Če sta zapisovalnik CD in enota CD-ROM dve različni napravi, potem pustite
simbolno ime cdrom pri miru.

<sect2>Posebni napotki za zapisovalnike CD na vodilu SCSI
<p>

Preverite, ali je BIOS krmilnika SCSI prepozna zapisovalnik. Krmilniki
SCSI ob zagonu preiščejo vodilo SCSI in izpišejo vse najdene
naprave. Izpis obsega identifikacijsko številko SCSI ID naprave in
oznako izdelka. Nobenega smisla nima nadaljevati, če vaš pisalnik ob
zagonskem pregledu naprav SCSI ni naveden.

Če načrtujete priklop naprave SCSI prek vzporednih vrat (ne zamenjujte
tega s priključitvijo naprav IDE prek vzporednih vrat), potrebujete
posebni aktivni kabel in posebni gonilnik za jedro. Več podatkov o
takih sistemih najdete na naslovu <url
url="http://www.torque.net/parport/parscsi.html">.


<sect2>Posebni napotki za zapisovalnike CD na vzporednih vratih
<p>
Pisec priznava, da o tem nima pojma, in bralca vljudno vabi, naj obišče
stran <url url="http://www.torque.net/parport/paride.html"> ali
prebere datoteko <tt>/usr/src/linux/Documentation/paride.txt</tt> v
svojem računalniku.


<sect2>Prevajanje manjkajočih modulov jedra (neobvezno)
<p>
Ta razdelek lahko preskočite, če je bila vaša strojna oprema pravilno
prepoznana in nastavljena, kot je bilo opisano zgoraj.

Jedro Linuxa je lahko opremljeno z gonilniki za različne
naprave. Gonilniki so lahko statično naloženi v jedru, lahko pa jih
prevedemo tudi kot module, ki se naložijo po potrebi. Zadnji način je
priporočljiv za gonilnike, ki niso nujno potrebni ob zagonu sistema,
ker bo tako jedro manjše in se bo hitreje naložilo. Pri gonilnikih za
naprave, ki so nujno potrebne za zagon sistema, izbire nimamo, temveč 
jih moramo vključiti v jedro. Če imamo sistem naložen na disku IDE, je
gonilnik IDE zgled za tak gonilnik -- vključiti ga moramo neposredno v
jedro in ne kot modul, sicer se sistem ne bo pravilno zagnal.

Poznamo tri različne vrste zapisovalnikov CD: take na vodilu SCSI,
na vodilu IDE/ATAPI in zunanje naprave, ki jih priključimo na
vzporedna vrata. Spodnja tabela kaže, kako nastaviti jedro Linuxa za
vsako od treh navedenih vrst. Prvi stolpec tabele podaja razdelek na 
nastavitvenem menuju jedra, kjer lahko najdemo nastavitev. Drugi
stolpec navaja kratek opis, prav tako pobran z nastavitvenega
menuja. V tretjem stolpcu najdemo ime modula. Zadnji trije stolpci
navajajo, kateri moduli so potrebni za katero vrsto vodila: SCSI, IDE
in PP (parallel port, vzporedna vrata).


<tscreen><verb>
Razd.  Opis                        Modul    SCSI  IDE   PP
------------------------------------------------------------
BLOCK  Enhanced IDE/MFM/RLL...                     Y      
BLOCK  IDE/ATAPI CDROM             ide-cd          M     
BLOCK  SCSI emulation support      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/M  Y/M   Y/M
FS     Microsoft Joliet cdrom...   joliet     Y    Y     Y
</verb><it>Tabela: izbira gonilnikov za različne vrste
zapisovalnikov</it></tscreen>

Oznaka <tt>Y</tt> pomeni, da moramo gonilnik vključiti kot del jedra,
<tt>M</tt> pa, da ga moramo prevesti kot modul. Pri oznaki
<tt>Y/M</tt> imamo na izbiro, ali gonilnik vključimo neposredno v
jedro ali pa kot modul. Če ni navedeno nič, to pomeni, da te izbire ni
treba spreminjati. Veliko večje so možnosti, da bo ob vnovičnem zagonu
vse še naprej delovalo, če jih v tem primeru tudi res ne
spreminjamo. Posebej v mešanih okoljih (IDE/SCSI) je pametno, če
prevedemo čim več gonilnikov kot module.

Prevajanje povratnozančne naprave (loopback device) ni obvezno, vendar
pa nam omogoča preizkušanje slike CD, preden jo zapišemo na ploščo. Če
želimo brati CD, moramo vključiti podporo datotečnemu sistemu ISO
9660. Ta že vključuje razširitve Rock Ridge, podporo razširitvam, ki
jih prinaša Microsoftov zapis Joliet, pa moramo izrecno dodati. V
vsakem primeru pa potrebujemo nizkonivojski gonilnik za našo vrsto
strojne opreme. To je gonilnik, ki občuje neposredno z izbrano
napravo. Za gonilnike na vodilu SCSI in vzporednih vratih imamo na
voljo široko paleto gonilnikov.

Nameščanje tako prevedenega jedra Linuxa presega zastavljeni okvir
tega spisa, zato se za podrobnosti obrnite na dokumentacijo za vašo
distribucijo Linuxa.

Uporabniki sistemov Red Hat Linux morajo poleg navedenega vključiti še
podporo za "Ramdisk support" in "Initial ramdisk", poleg tega pa
morajo z ukazom <tt>mkintrd --preload ide-cd initrd-2.2.16.img
2.2.16</tt>ustvariti nov pomnilniški disk z novimi moduli.


<sect1>Uporabniški programi za zapisovanje na CD<label id="2.8">
<p>
Podrobnejši pregled orodij za izdelavo diskov CD je na voljo na
naslovu <url
url="http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdb.html">.

<sect2>Programi za ukazno vrstico
<p>
Za pripravo slik CD-R je potreben eden od naslednjih paketov:
<quote>
<url url="ftp://tsx-11.mnt.edu/pub/linux/packages/mkisofs/"> (mkisofs)<p>
<url url="ftp://ftp.ge.ucl.ac.uk/pub/mkhfs"> (mkhybrid)
</quote>

Za zapisovanje slik CD-R na diske pa boste potrebovali enega od
naslednjih programov:

<quote>
<url url="ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/"> (cdrecord)<p>
<url url="http://www.ping.de/sites/daneb/cdrdao.html"> (cdrdao) <p>
<url url="http://www.munich-vision.de/vcd/"> (mkvcdfs)
</quote>

Ne verjemite navodilom za starejše izdaje programa <tt>mkisofs</tt>,
ki trdijo, da morate uporabljati izdajo 1.5 programa
<tt>cdwrite</tt>. Namesto tega raje uporabite
<tt>cdrecord</tt>. Novejše različice programa <tt>cdrecord</tt>
vsebujejo poleg tega še izboljšano izdajo programa <tt>mkisofs</tt> in
nekaj dodatnih orodij v podimeniku <tt>misc/</tt> (readcd,
isosize...), ki jih ne najdete nikjer drugje.

<sect2>Grafični uporabniški vmesnik (neobvezno)
<p>
Navedeni grafični uporabni vmesniki so čelni programi -- za delovanje
poleg njih potrebujemo še prej navedene programe, ki jih poganjamo iz
ukazne vrstice.

<it>X-CD-Roast</it> je program za Linux, ki poenostavlja pripravo
plošč CD in ponuja enovit vmesnik tako za pripravo slik CD
(<tt>mkisofs</tt>) kot za zapis le-teh na disk (<tt>cdrecord</tt>).

<quote>
<url url="http://www.fh-muenchen.de/home/ze/rz/services/projects/xcdroast/e_overview.html">
</quote>

<it>BurnIT</it> je javanski čelni program za cdrecord, mkisofs and
cdda2wav, kar je vse, kar potrebujemo za pripravo CD v okolju
Unix. Dostopen je na naslovu:

<quote>
<url url="http://sunsite.auc.dk/BurnIT/">
</quote>

<it>CD-Tux</it> je terminalski čelni program za programa mkisofs in
cdrecord. Z uporabo (ne)slavne knjižnice ncurses ustvarja enostavno
okolje, v katerem lahko počnemo s CD skoraj vse, in to v barvah. Pri
vsem skupaj je koda prevedenega programa manjša od 75 KB.

<quote>
<url url="http://www.datadictator.co.za/cdtux/">
</quote>


<sect>Pisanje CD
<p>
<quote>
<it>&raquo;Še ko goriš, izginjaš v dim, piščalke te ne
odložim.&laquo;</it>
(rimski cesar Neron, 64 n. št., o zažiganju svojih klasičnih
cedejev. Popolnoma napak je razumel in požgal Rim do tal.)
</quote>
<p>

<!-- Zgornje sem prepesnil iz angleškega izvirnika "If to smoke you -->
<!-- turn I shall not cease to fiddle while you burn." Avtorja uspem -->
<!-- slediti do Ambrosa Biercea, The Devil's Dictionary, lahko pa da -->
<!-- gre za kakšno klasično delo (Shakespeare), za katerega je že na voljo -->
<!-- boljši slovenski prevod. -pp -->

Zapisovanje na diske CD se v Linuxu ponavadi izvaja v dveh korakih:
<itemize>
<item>zbiranje želenih podatkov (datoteke, glasba ali oboje) in
zapis slike diska v posebni obliki 

<item>zapisovanje slike diska na CD-R s programom <tt>cdrecord</tt>
</itemize>

V tem poglavju nekoliko podrobneje opisujemo ta dva koraka za
pripravo podatkovnih in glasbenih cedejev.

<sect1>Zapisovanje diskov CD-ROM s podatki
<p>
Priprava podatkov za zapis na CD navadno traja dlje, kot si
predstavljamo. Vedeti moramo, da datotek ne moremo dodajati na CD-ROM,
ko je ta enkrat zapisan in zaprt. Enako velja za diske CD-RW, ki jih
za zdaj lahko samo v celoti prepišemo. Uporaba večkratnega zapisa je
za posamične datoteke preveč potratna, ker moramo vsakič na novo
zapisati še celoten imenik datotek na disku (TOC). Datotečni zapis UDF
za Linux pa je za zdaj še v preizkusni fazi.

Pomnite tudi, da je določeni del diska (navadno nekaj MB) uporabljen za
shranjevanje informacij datotečnega sistema ISO 9660. Gotovi pa smo
lahko, da na disk CD-R velikosti 650 MB shranimo 620 MB svojih
podatkov.

<sect2>Priprava slike diska CD-ROM
<p>
Preden lahko na kakršenkoli pomnilniški nosilec (disketa, disk ali CD)
zapišemo svoje podatke, moramo na njem ustvariti datotečni sistem. V
terminologiji MS-DOS se je temu postopku reklo tudi formatiranje
diska. Datotečni sistem je način organizacije podatkov na nosilcu, ki
ga uporablja operacijski sistem za zapis in branje podatkov.

Navadno programi za ustvarjanje datotečnega sistema ustvarijo prazen
datotečni sistem na prostem razdelku na disku, tega z ukazom
<tt>mount</tt> priklopimo v korenski datotečni sistem, potem pa
uporabniki po potrebi na njem ustvarjajo svoje datoteke. Z diski CD-R
ne gre tako. Na tak disk lahko podatke zapišemo samo enkrat. Če bi
takrat zapisali prazen datotečni sistem, bi disk ostal prazen za
vedno. Podobno velja tudi za diske CD-RW -- na disku ne moremo
spremeniti vsebine poljubnega sektorja, temveč lahko le ves disk
zbrišemo in spet zapišemo.

Kar potrebujemo, je orodje, ki hkrati ob prepisu datotek na CD ustvari
še datotečni sistem. Orodju se pravi <tt>mkisofs</tt>. Uporabljamo ga,
kakor kaže zgled:

<tscreen><verb>
mkisofs -r   -o slika_cd         osebna_zbirka/
             \----------/       \--------------/
                  |                    |
             kam gre izhod     odkod beremo vhod
</verb></tscreen>

Stikalo <tt>-r</tt> nastavi dovoljenja vseh datotek tako, da so
dostopne vsem, in vklopi razširitev Rock Ridge. Za veliko večino
uporabnikov je to natančno tisto, kar želijo; izpustite jo le, če res
dobro veste, zakaj tako ravnate (namig: brez izbire
<tt>-r</tt> obdrži priklopna točna lastnika in zaščito imenika
<tt>osebna_zbirka</tt>).

<!-- Opomba lektorici: izrazi *standardni* vhod, standardni izhod, -->
<!-- standardni izhod za napake (stdin, stdout, stderr) so del -->
<!-- terminologije Unixa, zato jih prosim, ne popravljati. -->

Program <tt>mkisofs</tt> bo poskušal vsa imena datotek prevesti v
zapis 8.3 (osem znakov imena in trije znaki pripone), ki ga uporablja
DOS, in s tem zagotoviti kar največjo mogočo združljivost. V primeru
sporov glede imen (različne datoteke z enakimi imeni 8.3), se v imenih
datotek uporabijo številke, informacije o sporni datoteki pa se
izpišejo na standardni izhod za napake (navadno na zaslon). Samo brez
panike! V Linuxu s čudnimi imeni 8.3 tako ali tako nikoli ne boste
imeli opravka, ker Linux uporablja razširitve Rock Ridge, s katerimi
povrne izvirne podatke o datoteki (dovoljenja, ime datoteke itd.).

Če želite ustvariti disk z dolgimi imeni datotek, berljiv v okolju MS
Windows, 
uporabite izbiro <tt>-J</tt> (razširitve MS Joliet) ali pa
ukaz <tt>mkhybrid</tt>. Za pripravo diskov v Macintoshevem zapisu HFS
pa raje podrobneje preučite navodila za večjega brata programa
<tt>mkisofs</tt>, program <tt>mkhybrid</tt>.

Verjetno ste se vprašali, zakaj se izhod programa <tt>mkisofs</tt> ne
pošlje neposredno zapisovalni napravi. Za to so vsaj trije
razlogi:

<itemize>
<item>Program <tt>mkisofs</tt> ne zna upravljati zapisovalnikov CD.
<item>Sliko diska lahko na ta način preizkusimo, preden jo zares
zapišemo.
<item>Na starejših in počasnejših računalnikih tako zapisovanje ne bi
bilo zanesljivo.
</itemize>

Na voljo je tudi način, da disk CD-R zapišemo v eni potezi. Predstavili ga bomo
pozneje.

Za zapis diskov CD bi lahko tudi ustvarili dodaten razdelek na disku
in sliko zapisovali nanj. Tako strategijo močno odsvetujemo, saj
lahko drobna tipkarska napaka pri tipkanju imena razdelka pomeni, da
izgubite vse podatke na disku (primer ni izmišljen, avtor govori iz
lastnih izkušenj). Poleg tega je to tudi zapravljanje prostora
na disku, saj slika diska CD predstavlja zgolj začasne podatke in jo
lahko zbrišemo, brž ko smo zapisali (in preizkusili) disk CD. Edina
prednost uporabe ločenega razdelka je majhen prihranek časa, ki ga
potrebujemo za brisanje 650 MB dolge datoteke.


<sect1>Preizkušanje slike plošč CD<label id="3.5">
<p>
V Linuxu lahko tudi posamezne datoteke &ldquo;priklopimo&rdquo; tako,
kakor da bi bile razdelki na disku. To lastnost lahko s pridom uporabimo
pri preverjanju slike CD. Čeprav so zapisljivi diski CD dandanes
nemarno poceni, pa zapis diska vseeno vzame nekaj časa. Ta čas si s
kratkim preizkusom lahko prihranimo.

Prej ustvarjeno datoteko <tt>slika_cd</tt> priklopimo v imenik
<tt>/mnt/cdrom</tt> z ukazom

<tscreen><verb>
mount -t iso9660 -o ro,loop=/dev/loop0 slika_cd /mnt/cdrom
</verb></tscreen>

Zdaj lahko preverite datoteke v imeniku <tt>/mnt/cdrom</tt> -- videti
so natanko tako, kakor da bi bile na disku CD. Sliko diska odklopimo z
ukazom <tt>umount /mnt/cdrom</tt>. (Opozorilo: v starih izdajah jedra
Linuxa -- 2.0.31 ali starejše -- morda ne boste mogli do
zadnje datoteke v imeniku <tt>/mnt/cdrom</tt>. V tem primeru
nadgradite jedro - v izdajah od 2.0.36 naprej ni opisa
težav. Izbira <tt>-pad</tt> programa <tt>cdrecord</tt> se nanaša samo
na glasbene CD, izbrani <tt>-pad</tt> v programu <tt>mkisofs</tt> pa
zahteva krpanje le-tega, s tem pa je prav toliko dela kakor z zamenjavo
jedra z novejšo izdajo.)

Opomba:
<quote>
Nekatere res stare izdaje programa <tt>mount</tt> ne znajo delati s
povratnozančnimi napravami. Če imate take težave, vam svetujem, da
nadgradite sistem Linux.
<p>
Dobil sem že veliko predlogov, naj v ta spis vnesem tudi
informacije, kje dobiti najnovejšo različico programa <tt>mount</tt>.
To vedno odločno zavrnem. Če je v vaši distribuciji Linuxa star
program <tt>mount</tt>, spročite to kot napako. Če vaše distribucije
Linuxa ni mogoče enostavno nadgraditi, sporočite to kot napako.
<p>
Če bi vključil vse informacije, ki so potrebne za odpravo napak slabo
zgrajenih distribucij Linuxa, bi bil ta spis dosti obsežnejši in teže
razumljiv.
</quote>


<sect1>Zapisovanje slike plošče CD na CD
<p>
Ta razdelek pokriva le zapis podatkov na disk CD v načinu TAO (track
at once, ena steza naenkrat), kar je najpogostejši način zapisa
podatkov. Za podrobnejši opis razlike med zapisoma TAO in DAO (disk at
once, ves disk naenkrat) si oglejte poglavje o zapisu glasbenih CD. 
Če
 uporabljate način DAO z orodjem, kot je <tt>cdrdao</tt>, dodajte
prazno glasbeno &ldquo;stezo&rdquo; na konec imenika TOC (podrobnosti
so v datoteki README).

Skoraj smo že gotovi. Če ukaza niste poskusili že prej, je zdaj pravšnji 
trenutek za ukaz

<tscreen><verb>
cdrecord -scanbus
</verb></tscreen>

Izpis programa vam bo povedal številko enote SCSI, ki ustreza vašemu
zapisovalniku. Program <tt>cdrecord</tt> opravi to dovolj dobro, da ni
vredno navajati drugih načinov, kako bi še lahko uganili ta podatek.

Preden vam povem še zadnji ukaz, naj vas opozorim, da želijo biti
zapisovalniki CD krmljeni z nepretrganim tokom podatkov. Postopka
zapisovanja zatorej ne smemo prekinjati, drugače bo končni izdelek
neberljiv disk. Brisanje zelo velike datoteke, denimo stare slike
diska CD, zlahka pomeni usodno prekinitev pisanja, saj mora jedro
Linuxa obnoviti podatke za 650.000 blokov na disku (ob predpostavki,
da je bila datoteka dolga 650 MB in je velikost bloka 1 KB). Običajne
dejavnosti, denimo branje pošte, brskanje po spletu ali celo
prevajanje jedra, pa na sodobnih računalnikih ne bi smele biti usodne.

Vedite tudi, da noben zapisovalnik ne zmore znova nastaviti laserja
na isto mesto, kjer je bil prekinjen. Tudi močni tresljaji ali drugi 
mehanski 
vplivi bodo zato verjetno zmotili zapis CD.

Ko boste psihično pripravljeni, si oblecite črno čarovniško haljo,
pomnožite identifikacijsko številko SCSI-ID zapisovalnika CD z izdajo
standarda SCSI, ki ga podpira, ter prižgite čim več sveč. Izgovorite
dva verza ASR-FAQ (novičarska skupina <tt>alt.sysadmin.recovery</tt>)
in končno vnesite:

<tscreen><verb>
shell&gt; SCSI_BUS=0   # vzeto s programskega izpisa 1 "scsibus0:"
shell&gt; SCSI_ID=6    # vzeto s programskega izpisa 1 "TOSHIBA XM-3401"
shell&gt; SCSI_LUN=0
shell&gt; cdrecord -v speed=2 dev=$SCSI_BUS,$SCSI_ID,$SCSI_LUN \
                   -data slika_cd

# isto kot zgoraj, a krajše
shell&gt; cdrecord -v speed=2 dev=0,6,0  -data  slika_cd
</verb></tscreen>

Zaradi preglednosti smo naslov zapisovalnika v prvem zgledu shranili v
tri spremenljivke okolja: SCSI_BUS, SCSI_ID in SCSI_LUN.

Da bi prepisali disk CD-RW, dodajte še stikalo
&ldquo;<tt>blank=...</tt>&rdquo;, s čimer zbrišete staro vsebino. Več
o različnih načinih brisanja diskov CD-RW najdete v priročniku
cdrecord(1).

Dandanes, ko ima že bolj ali manj vsakdo stroj s procesorjem vsaj 400
MHz, nekateri izhod iz <tt>mkisofs</tt> napeljejo neposredno na vhod
<tt>cdrecord</tt>:

<tscreen><verb>
shell&gt; IMG_SIZE=`mkisofs -R -q -print-size osebna_zbirka/  2>&1 \
| sed -e "s/.* = //"`
shell&gt; echo $IMG_SIZE
shell&gt; [ "0$IMG_SIZE" -ne 0 ] && mkisofs -r  osebna_zbirka/  \
|cdrecord  speed=2  dev=0,6,0
            tsize=${IMG_SIZE}s  -data  -
#         ne pozabite na s --^         ^-- beremo s standardnega vhoda
</verb></tscreen>

S prvim ukazom <tt>mkisofs</tt> pripravimo do tega, da izračuna, kako
velika bo izhodna datoteka, ki pa je ne naredi (potrebujemo izdajo
<tt>mkisofs</tt>, ki je priložena <tt>cdrecord</tt>). Pri tem ukazu
moramo določiti vse izbire, ki jih bomo uporabili pri dejanskem zapisu
na disk, npr. <tt>-J</tt>, <tt>-hfs</tt> ipd. Nekateri zapisovalniki
ne potrebujejo podatka o tem, kako velika je slika diska; pri teh
lahko ta, prvi korak v celoti izpustimo. Izpisano velikost podamo kot
parameter <tt>tsize</tt> programu <tt>cdrecord</tt> (shranjena je v
spremenljivki IMG_SIZE). Pri drugem ukazu sta <tt>mkisofs</tt> in
<tt>cdrecord</tt> sklopljena s cevovodom.


<sect1>Zapis glasbenih CD
<p>
Zapisovanje glasbenih plošč je zelo podobno pravkar opisanemu
zapisovanju podatkov. Izbirate lahko med dvema načinoma zapisa: DAO
ali TAO. Način TAO (track at once, ena steza naenkrat) je za glasbo
manj primeren, ker med posameznimi stezami (skladbami) slišimo
klikanje. Vseeno ga bomo prvega opisali, ker je nekoliko enostavnejši
in ker način DAO še ni na voljo za vse zapisovalnike.

Poglavitna razlika med zapisovanjem glasbenih in podatkovnih CD-R je v
zapisu slike diska. Pri slednjih je v zapisu ISO 9660 (in izbranimi
razširitvami), ki pa za glasbo ni primeren, ker ga noben laserski
gramofon ne zna brati. Namesto tega mora biti glasba zapisana kot
16-bitni stereo zapis, vzorčen s frekvenco 44.100 Hz in PCM-kodiran.

Eden od pripomočkov, s katerim lahko pretvorimo zvočne zapise v zapis,
primeren za zapis na CD, je <tt>sox</tt>. Uporaba je enostavna:

<tscreen><verb>
shell&gt; sox  killing-my-software.wav  killing-my-software.cdr
</verb></tscreen>

Ukaz pretvori skladbo &ldquo;killing-my-software&rdquo; iz zapisa WAV
v glasbeni zapis CDR. Priročnik sox(1) vsebuje podrobnosti o
zapisih in priponah datotek, ki jih program prepozna. Ker ročno
pretvorjene datoteke zasedajo tako veliko prostora, je v <tt>cdrecord</tt> 
vgrajena tudi možnost branja zapisov WAV in AU s
primerno hitrostjo vzorčenja (16 bitov, stereo, 44.100 Hz). Če so vaše
skladbe v katerem od teh dveh zapisov, jih ni treba pretvarjati v
zapis CDR s programom <tt>sox</tt>, ker jih zna <tt>cdrecord</tt>
uporabiti v njihovem izvirnem zapisu. Vendar pa ima <tt>cdrecord</tt>
določene omejitve: velikost zvočnih podatkov mora biti večkratnik
2352, obenem pa mora biti daljša od 705.600 bajtov. Vse datoteke WAV
tem pogojem ne ustrezajo, in te morate s programom <tt>sox</tt>
dopolniti do zahtevane dolžine.

<sect2>Zapis glasbenih CD v načinu TAO
<p>
Glasbeni CD ima več stez (skladb) in vsaka od njih je v načinu
TAO zapisana kot ločena slika diska. Če želite imeti na disku deset
skladb, morate pripraviti deset slik.

Cdrecord zapiše slike na disk kot skladbe, če je podana izbira
<tt>-audio</tt>. Druge izbire so enake tistim pri zapisu podatkovnih
CD, razen če nimate kakšnih zelo posebnih zahtev. Naslednji trije
zgledi izvedejo isto, le da vsak bere skladbe iz različnih zapisov:

<tscreen><verb>
shell&gt; cdrecord -v speed=2 dev=0,6,0  -audio  skladba1.cdr skladba2.cdr ...
shell&gt; cdrecord -v speed=2 dev=0,6,0  -audio  skladba1.wav skladba2.wav ...
shell&gt; cdrecord -v speed=2 dev=0,6,0  -audio  skladba1.au  skladba2.au  ...
</verb></tscreen>

Na tako izdelanem glasbenem CD so dvesekundni presledki med skladbami.

Omembe vreden zapis, ki ga Cdrecord ne bere neposredno, je MPEG Layer
3. Datoteke v tem zapisu moramo najprej pretvoriti v zapis CDR, denimo
z ukazom &ldquo;<tt>mpg123 --cdr - skladba1.mp3 &gt;
skladba1.cdr</tt>&rdquo;. Z izborom <tt>---cdr</tt> smo izbrali način
izhodnega zapisa (CDR). Izbor <tt>-</tt> pomeni izpis na standardni
izhod; v starejših izdajah Mpg123 dosežemo isto z izborom
<tt>-s</tt>. Pretvorbo v nasprotno smer (iz WAV v MP3) lahko opravimo s
programom LAME, skladbe s plošče pa lahko shranimo v zapisu WAV s
programom <tt>cdda2wav</tt>.

Če bi radi pripravili disk CD-R s kopico skladb v zapisu MP3, si lahko
pomagamo s skriptom:

<tscreen><verb>
for I in *.mp3
do
    mpg123 --cdr - "$I" | cdrecord -audio -pad -nofix -
done
cdrecord -fix
</verb></tscreen>

Odvisno od hitrosti vašega računalnika lahko izberete zapisovanje pri
nižji hitrosti, npr. <tt>speed=1</tt>. Če uporabite <tt>speed=4</tt>,
mora biti vaš računalnik sposoben predvajati datoteke MP3 pri
štirikratni hitrosti! Predvajanje datotek MP3 je računsko precej
intenzivno. Če ste v dvomih, poskusite najprej $ldquo;zapisati&rdquo;
z ugasnjenim laserjem (izbira <tt>-dummy</tt>).

<sect2>Zapis glasbenih CD v načinu DAO
<p>
Če se želite znebiti nadležnih presledkov med skladbami, morate
zapisati ves disk naenkrat v načinu DAO (disk at once). Spomnimo se, v
načinu TAO (track at once) ustreza posamezni skladbi svoja slika na
disku. Podpora za način DAO je trenutno najboljša v programu
<tt>cdrdao</tt>. Za podrobnosti si oglejte njegovo domačo stran.

Če pripravljate CD v načinu DAO, uporabljate monolitno sliko (datoteka
z zapisom glasbe) in nadzirate podatke o posameznih skladbah z
nastavitveno datoteko.

<tscreen><verb>
CD_DA
TRACK AUDIO
FILE "live.wav" 0 5:0:0
INDEX 3:0:0
TRACK AUDIO
FILE "live.wav" 5:0:0 5:0:0
TRACK AUDIO
FILE "live.wav" 10:0:0 5:0:0
INDEX 2:0:0
</verb></tscreen>

<sect1>Mešani glasbeno-podatkovni CD
<p>
O tem niti nimamo kaj dosti povedati. Pri posamezni stezi z izbirama
<tt>-data</tt> ali <tt>-audio</tt> označimo, ali gre za podatkovno ali
glasbeno stezo. Zgled:

<tscreen><verb>
cdrecord  -v dev=0,6,0  -data  slika_cd  -audio  skladba*.cdr
</verb></tscreen>



<sect>Dragi Winfried
<p>
Ta razdelek je navadno označen kot &ldquo;pogosta
vprašanja&rdquo; (z odgovori). Če imate težave s partnerjem, otroki
ali psom, kar pišite, da je le povezano z zapisovanjem CD-R ali pa
vsaj kako drugače zabavno.

<sect1>Kako občutljiv je proces zapisovanja?
<p>
Preverite. Z izbiro <tt>-dummy</tt> poženite Cdrecord in počnite vse,
kar bi sicer počeli, in videli boste, ali bo pisanje preživelo.

Če krmite Cdrecord neposredno z izhoda Mkisofs, potem lahko procesi,
ki imajo veliko opraviti s pisanjem po disku (npr. obnavljanje zbirke
<tt>locate</tt>), toliko upočasnijo pretok podatkov, da zapisovanje CD
ne bo uspelo. Preverite, ali med pisanjem ukazi <tt>cron</tt>,
<tt>at</tt> ali <tt>anacron</tt> ne bodo pognali kakega takega
procesa.

<sect1>Ali fragmentiranost diska vpliva na hitrost pretoka?
<p>
Fragmentiranost diska je navadno tako majhna, da tega ni
zaznati. Prav nič težko pa ni doseči tudi patološke fragmentiranosti,
ki zniža hitrost dostopa na vrednosti pod 100.000 KB/s. Izogibajte se
jim. :) V resnici se fragmentiranost diska z leti povečuje. Čim bolj je
datotečni sistem poln, tem hitreje narašča. Vedno puščajte kakih 10
ali 20 % prostora praznega, pa z zapisovanjem CD-R ne boste imeli težav.

Če niste gotovi, si lahko ogledate sporočila, ki se izpišejo ob zagonu
sistema. Delež fragmentiranosti je izpisan pri preverjanju
konsistentnosti datotečnega sistema. Vrednost lahko izveste tudi z
<it>zelo nevarnim</it> ukazom

<tscreen><verb>
shell&gt; e2fsck -n  /dev/sda5        # '-n' je pomemben!
[veliko izpuščenega...]
/dev/sda5: 73/12288 files (12.3% non-contiguous)
</verb></tscreen>

V tem zgledu je videti fragmentiranost zelo visoka. Vendar pa je po
drugi strani v razdelku vsega 73 majhnih datotek, tako da stanje še
<it>ni</it> alarmantno.

V poskusni fazi je na voljo pripomoček e2defrag, s katerim lahko
defragmentiramo datotečne sisteme ext2. Trenutna izdaja ni dovolj
zanesljiva niti za domačo rabo. Če bi res radi defragmentirali
razdelek, naredite varnostno kopijo (še bolje: dve kopiji!),
preverite, ali znate z nje povrniti podatke, potem pa prek starega
datotečnega sistema ustvarite novega (s tem zbrišete starega) in
povrnite podatke z varnostne kopije. To je gotovo najvarnejša pot.

<sect1>Ali je mogoče hraniti slike CD v datotečnem sistemu UMSDOS?
<p>
Da. Edini datotečni sistem, ki ni ne dovolj zanesljiv ne dovolj
hiter za zapisovanje CD, je <it>omrežni datotečni sistem</it>
(NFS). Avtor je sam uporabljal UMSDOS za deljenje diskovnega prostora
med okolji Linux in DOS/Windows v starem osebnem računalniku
(486/66), namenjenem zapisovanju CD.

<sect1>Ni nobene poti, po kateri bi se obšlo omejitve ISO 9660?
<p>
Seveda je. Na disku CD lahko ustvarite katerikoli datotečni
sistem. Vendar pa v tem primeru drugi operacijski sistemi ne bodo
mogli prebrati diska. Recept je naslednji:

<itemize>
<item>Ustvarimo prazno datoteko velikosti 650 MB.
<tscreen><verb>
dd if=/dev/zero of="prazna" bs=1024k count=650
</verb></tscreen>

<item>V datoteki ustvarimo datotečni sistem ext2.
<tscreen><verb>
shell&gt; /sbin/mke2fs  -b 2048  prazna
prazna is not a block special device.
Proceed anyway? (y,n) y
</verb></tscreen>

<item>Prazno datoteko priklopimo prek povratnozančne naprave na novo
priklopno točko (glej zgoraj).
<tscreen><verb>
mount -t ext2 -o loop=/dev/loop1 prazna /mnt
</verb></tscreen>

<item>V datoteko, zdaj priklopljeno v imenik <tt>/mnt</tt>, prepišemo
datoteke in datoteko odklopimo.

<item>Z ukazom <tt>cdrecord</tt> prepišemo datoteko <tt>prazna</tt>
(ki v resnici ni več prazna) na disk CD enako, kot bi prepisali sliko
diska z datotečnim sistemom ISO 9660.
</itemize>

Če želite vnesti to priklopno točko v <tt>/etc/fstab</tt>, onemogočite
njeno preverjanje ob zagonu, denimo:

<tscreen><verb>
/dev/cdrom  /mnt/cdrom  ext2  defaults,ro  0 0
</verb></tscreen>

Prva vrednost 0 pomeni &ldquo;ne vključi v varnostno kopijo&rdquo;,
druga, za nas pomembnejša, pa &ldquo;ne preverjaj napak ob
zagonu&rdquo;. Program Fsck namreč ne more uspešno
&ldquo;popravljati&rdquo; napak na disku CD.

<sect1>Kako preberem skladbe z glasbenih plošč?
<p>
Na voljo je več paketov. Najnovejši je Cdparanoia, ki ga dobite
na naslovu

<quote>
<url url="http://www.xiph.org/paranoia/"><p>
</quote>

Namesto njega lahko uporabite tudi kombinacijo Cdda2wav in Sox. Na voljo sta
V strežniku Sunsite in zrcalnih strežnikih_

<quote>
<url url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/cdda2wav0.71.src.tar.gz">
<p>
<url url="ftp://sunste.unc.edu/pub/Linux/apps/sound/convert/sox-11gama-cb3.tar.gz">
</quote>

Program <tt>cdda2wav</tt> omogoča zajetje določenega intervala (ali
celotne skladbe) z glasbenega CD in ga pretvori v datoteko
WAV. Program <tt>sox</tt> pretvori datoteke wav nazaj v zapis CDDA, ki
ga uporabljajo glasbeni CD, tako da jih lahko s programom
<tt>cdrecord</tt> zapišemo na CD-R.  V novejše izdaje programa
<tt>cdrecord</tt> je že vgrajena podpora branju zapisov WAV in
AU, tako da programa <tt>sox</tt> niti ne potrebujete.

<sect1>Kako po zagonu poiskati naprave vrste SCSI?
<p>
V datoteki <tt>drivers/scsi/scsi.c</tt> so informacije
<tscreen><verb>
/*
 * 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 corruot an ongoing data transfer.
 */
</verb></tscreen>

Pazite: Z opisanim ukazom lahko le dodaste napravo na konec verige
SCSI. Vrivanje naprav v staro verigo zmoti poimenovanje naprav v
imeniku <tt>/dev</tt>, kar lahko uniči vsebino vašega diska.

Nekatere izdaje jedra ne marajo vnovičnega pregleda vodila SCSI in
lahko ob takem posegu zmrznejo. Opozorili smo vas.

<sect1>Ali je mogoče narediti 1:1 kopijo CD?
<p>
Da, vendar se morate zavedati dejstva, da lahko vsaka napaka med
branjem izvirnika (zaradi prahu ali prask) povzroči okvaro na
kopiji. Obe opisani metodi odpovesta pri glasbenih ploščah! Za te
morate uporabiti programe, kot sta Cdrdao ali Cdda2wav.

Prvi zgled: imate zapisovalnik CD in ločen pogon CD-ROM. Z ukazom

<tscreen><verb>
cdrecord -v dev=0,6,0 speed=2 -isosize /dev/scd0
</verb></tscreen>

berete tok podatkov s pogona CD-ROM, ki je priključen kot
<tt>/dev/scd0</tt>, in ga zapisujete neposredno na zapisovalnik CD.

Drugi zgled: nimate ločenega pogona CD-ROM. V tem primeru boste za
branje CD-ROM morali uporabiti zapisovalnik.

<tscreen><verb>
dd if=/dev/scd0 of=slika_cd
</verb></tscreen>

Ukaz prebere vsebino diska CD-ROM z naprave <tt>/dev/scd0</tt> in jo
zapiše v datoteko &ldquo;slika_cd&rdquo;. Vsebina je enakovredna
rezultatu <tt>mkisofs</tt>, tako da lahko nadaljujete, kakor smo prej
opisali, torej jo s programom Cdrecord zapišete na disk CD. Če bi radi
še merilnik poteka in podobne lepote, pa uporabite program
<tt>sdd</tt> Jörga Schillinga.

Če so pri prepisu nastale napake, namestite najnovejšo različico
programa Cdrecord. V imeniku <tt>misc/</tt> najdete orodje
<tt>readcd</tt>, ki počne isto kot <tt>dd</tt>, vendar vsak sektor na
CD-ROM prebere večkrat, tako da se morebitne napake izpovprečijo.

<sect1>Ali lahko Linux bere CD z zapisom joliet? (odvečno)
<p>
Da. Vse novejše izdaje jedra (od 2.0.36 dalje) imajo vgrajeno podporo
zapisu joliet. Zapomnite si, da morate v datoteki
<tt>/etc/fstab</tt> navesti tako <tt>iso9660</tt> kot <tt>joliet</tt>
(slednji ni datotečni sistem, temveč le razširitev). Več podrobnosti
najdete na naslovu: <url
url="http://www-plateau.cs.berkeley.edu/people/chaffe/joliet.html">.

<sect1>Kako lahko berem/priklopim CD-ROM z zapisovalnikom CD?
<p>
Povsem enako, kot to storite z običajnim pogonom CD-ROM. Tu ni nobenih
zvijač. Za branje CD morate uporabiti naprave <tt>scd</tt> (SCSI
CD-ROM), čeprav imate CD-ROM na vodilu IDE/ATAPI (spomnite se, da ste
zapisovalnik nastavili kot enoto SCSI). Zgled vnosa v
<tt>/etc/fstab</tt>:

<tscreen><verb>
/dev/scd0  /mnt/cdrom  iso9660  ro,user,noauto  0  0
</verb></tscreen>

<sect1>Kako lahko shranim na CD-R še več podatkov?
<p>
Podatke stisnite s programom <tt>bzip2</tt>, ki doseže večjo stopnjo
stiskanja kot programa <tt>gzip</tt> ali <tt>pkzip</tt>. Tako lahko 
pri večjih datotekah (100 KB in več) prihranite do 30 % prostora
na disku. Najdete ga na naslovu:

<quote>
<url url="http://www.muraroa.demon.co.uk/"><p>
</quote>

Namesto zapisovanja glasbenih CD lahko datoteke WAV pretvorite v
datoteke MP3 in jih shranite na disk ISO 9660 kot navadne
datoteke. Zapis MP3 navadno doseže stopnjo stiskanja 1 : 10. Seveda
takega diska v večini laserskih gramofonov ne boste mogli prebrati,
kar je slabost tega postopka. Po drugi strani pa, zakaj ne bi na
naslednji zabavi vrteli glasbe kar z diska? 40 GB je dovolj za
kakih 8000 skladb. :)

Programski kodirnik MP3 je na voljo na naslovu:
<quote>
<url url="http://www.sulaco.org/mp3/"><p>
</quote>

Predvajalnik MP3 pa dobimo na naslovu
<quote>
<url url="http://www.mpg123.org/"><p>
</quote>

Posneti govor lahko skrčite v velikosti s programom <tt>shorten</tt>,
ki vsebuje isti postopek, kot se uporablja v telefoniji GSM:

<quote>
<url url="ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/"><p>

<url url="http://kbs.cs.tu-berlin.de/~jutta/toast.html"><p>
</quote>

<sect1>Kako izdelamo CD-ROM, s katerega lahko zaženemo sistem?
<p>
Imeti morate zagonsko disketo velikosti 1,44 MB. Natančno sliko te
diskete izdelamo z ukazom

<tscreen><verb>
dd if=/dev/fd0 of=boot.img bs=18k
</verb></tscreen>

Prepišite to sliko v imenik, v katerem je zbirka datotek, ki bi jih
radi shranili na CD-ROM. Če želite, jo lahko shranite tudi v poseben
podimenik. Programu <tt>mkisofs</tt> podaste sliko zagonske diskete s
stikalom <tt>-b</tt>; uporabiti boste morali tudi izbiro
<tt>-c</tt>. Podrobnosti si oglejte v datoteki
<tt>README.eltorito</tt>, ki je del paketa Mkisofs.

Zanimiva uporaba po meri izdelanih zagonskih CD je izdelava sistemov
DOS ali Windows, varnih pred virusi. Na ta način lahko tudi prihranite
denar za diske, če so računalniki vključeni v omrežje in imajo dostop 
do uporabniških podatkov v strežniku Samba. Nemška
računalniška revija c't je obravnavala tak zgled v novembrski številki
leta 1999, na strani 206 (glej tudi <url url="http://www.heise.de/">).

Nekaj podrobnosti o zagonskem disku Red Hat je na voljo na naslovu
<url
url="http://members.bellatlantic.net/~smithrod/rhjol-technical.html">.

<sect1>Kako lahko na disk CD-ROM pišemo kot na računalniški disk?
<p>
Na voljo je <it>prekrivni datotečni sistem</it> za Linux, ki ga
priklopimo prek diska CD-ROM, tako da prestreže vse poskuse
pisanja. Nove in spremenjene datoteke so v resnici shranjene nekje
drugje, na ravni uporabnika pa je videzi, kot da se je spremenila
vsebina diska CD-ROM. Za več informacij si oglejte <url
url="http://home.att.net/~artnaseef/ovlfs/ovlfs.html">.

Če vam to ne zadošča, si oglejte datotečni sistem UDF (<url
url="http://trylinux.com/projects/udf/">). Sistem še razvijajo, na
voljo pa so že delujoči moduli.

<sect1>Je mogoče uporabljati več zapisovalnikov naenkrat?
<p>
Da. Obstaja poročilo o nekom, ki je hkrati uporabljal tri
zapisovalnike na enem vodilu SCSI pri polni (šestkratni) hitrosti na
osebnem računalniku s taktom 233 MHz z jedrom 2.2.12. Potrebujete
jedro izdaje 2.2.12 ali novejšo.

<sect1>Kaj pa Solaris, *BSD, AIX, HP-UX ipd.? Je moja različica Unixa
podprta?
<p>
Samo drugo poglavje tega spisa je omejeno zgolj na Linux. Vse, povedano
v tretjem in četrtem poglavju, pa velja tudi za druge operacijske
sisteme. Oglejte si datoteke README.NetBSD, README.aix, README.hpux,
README.next, README.solaris, README.sunos, README.vms ali
README.xxxBSD iz paketa Cdrecord.

Odgovor je najverjetneje pritrdilen. Prevedite Cdrecord v vašem
sistemu in poženite <tt>cdrecord -scanbus</tt>. V imeniku z izvirno
kodo Cdrecorda poiščite datoteko README za svojo različico Unixa in jo
preučite. Vedite pa, da vse različice Unixa, čeprav jih boste znali zapisati, 
ne znajo <it>brati</it> razširitev Rock Ridge, Joliet ali HFS.

<sect1>Kje je najbolje trajno shraniti lokalne nastavitve?
<p>
Dve možnosti imate. Uporabite lahko privzeto datoteko z nastavitvami
programa Cdrecord ali pa ovojni skript, kot je prikazan
spodaj. Ovojni skript prebere nastavitveno datoteko, v kateri so
naštete izbire in parametri programa Cdrecord. Imena izbir so natanko
enaka, kot bi jih navedli v ukazni vrstici, manjka jim le uvajalna
črtica. Dovoljeni so tudi komentarji. Zgled:

<tscreen><verb>
# z razlago poteka
v
# nastavitev hitrosti
speed=2
# naslov naprave v obliki BUS,ID,LUN
dev=0,6,0
</verb></tscreen>

Nastavitvena datoteka spada v imenik <tt>/etc/cdrecord</tt> in jo
moramo navesti v ukazni vrstici, na primer: &ldquo;<tt>cdrecord.sh
mojcdr.cfg -audio track1...</tt>&rdquo;, če se sklicujemo na
nastavitveno datoteko <tt>/etc/cdrecord/mojcdr.cfg</tt>. Vse izbire za
<tt>mojcdr.cfg</tt> se prenesejo programu Cdrecord.


<tscreen><verb>
#! /bin/bash

CFGDIR="/etc/cdrecord"

CFG="$1"
shift
ARGS_LEFT="$@"

if [ ! -f "$CFGDIR/$CFG" ]
then
    echo "Nastavitvene datoteke $CFGDIR/$CFG ni moč najti. Končujemo."
    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 "Zagon Cdrecord ni uspel."
</verb></tscreen>

<sect1>Kako lahko preberemo podatke o CD?
<p>
Nekje za prvimi 32 KB na CD je blok s podatki o CD. Te podatke lahko
dosežete z naslednjim skriptom:

<tscreen><verb>
#! /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
</verb></tscreen>

<sect1>Kaj pa pisanje prek diskov CD-RW?
<p>
Pri pisanju prek popisanih diskov CD-RW dodajte programu Cdrecord
parameter <tt>blank=fast</tt>. To je vse. Za podrobnosti o tem
parametru si oglejte priročnik cdrecord(1).

<sect1>Kako lahko dodajamo podatke na disk CD-R?
<p>
Slika CD, na katerega dodajamo podatke (diskom CD, na katere zapišemo
podatke v več pisanjih, pravimo tudi &ldquo;multi-session&rdquo; CD),
mora biti formatirana kot datotečni sistem ISO 9660 z razširitvami
Rock Ridge. Pri zapisovanju moramo v programu Cdrecord uporabiti
izbiro <tt>-multi</tt>, če nameravamo za tem zapisom dodati še kakega
(zanesljivo moramo torej izbiro <tt>-multi</tt> navesti pri prvem
zapisovanju).

Nekateri zapisovalniki ne podpirajo načina CD-ROM XA mode 2 SAO
(session at once); pri teh morate podati programu Cdrecord tudi
stikalo <tt>-data</tt>.

Slike drugega in naslednjih zapisovanj je malce bolj zapleteno
izdelati. Program Mkisofs mora namreč vedeti, kje se začne prosti
prostor na disku CD-R (privzeto je, da na začetku, kar je dobro le za
povsem prazne diske). Ta podatek lahko izvemo z izbiro
<tt>-msinfo</tt>, podano programu Cdrecord (zgled spodaj).

<tscreen><verb>
shell&gt; NEXT_TRACK=`cdrecord -msinfo dev=0,6,0`
shell&gt; echo $NEXT_TRACK
shell&gt; mkisofs -R -o slika_cd2 -C $NEXT_TRACK -M /dev/scd5
         osebna_zbirka/ \
</verb></tscreen>

Več podatkov si lahko preberete v datoteki README.multi, ki je del paketa
Cdrecord.

<sect1>Ali naj uporabim krmilnik SCSI, ki sem ga dobil z
zapisovalnikom?
<p>
Sporočeno po elektronski pošti: Dokumentacija za večino zapisovalnikov
priporoča namestitev zapisovalnika na ločeno vodilo SCSI, če obenem
uporabljamo enoto CD-ROM in zapisovalnik CD. Tudi sam sem opazil
naslednje:

Imam krmilnik Adaptec 2940UW, 24x SCSI CD-ROM in 4x4 SCSI zapisovalnik
CD. Skupaj s slednjim sem dobil še preprost krmilnik SCSI na vodilu
ISA, ki lahko krmili le eno napravo SCSI. Seveda sem ga ignoriral in
zapisovalnik lepo priključil na krmilnik Adaptec, vendar pa sem med
delom opazil, da medpomnilnik na zapisovalniku pri štirikratni
hitrosti snemanja pogosto ne zmore kompenzirati prekinitve toka
podatkov. Ko sem priključil zapisovalnik na krmilnik ISA, so težave
izginile. Vem za vsaj še dva druga (oba s krmilnikom 2940), ki sta pri
zapisovanju CD neposredno z enote CD-ROM naletela na podobne
težave. Pri zapisovanju CD z diska, ki je bil na istem vodilu SCSI kot
zapisovalnik, nisem nikoli imel težav.

<sect1>Zapisovanje CD po omrežju
<p>
Hitrost prenosa s FTP po 10 MHz lokalnem omrežju je navadno dovolj
visoka za krmljenje zapisovalnika CD pri štirikratni hitrosti
zapisa. Odjemnika FTP lahko s programom Cdrecord sklopimo s
poimenovano cevjo (FIFO). Najprej ustvarimo FIFO z imenom
<tt>slikacd</tt>:

<tscreen><verb>
mkfifo slikacd
ftp oddaljeni.gostitelj.si
get slika_cd slikacd
</verb></tscreen>

Zdaj lahko uporabljamo <tt>slika_cd</tt> kot navadno datoteko, torej
jo lahko zapišemo na CD z ukazom Cdrecord:

<tscreen><verb>
cdrecord dev=0,1,0 speed=2 slikacd
</verb></tscreen>

Odjemnik FTP bo opazil, kadar želi Cdrecord brati iz datoteke, in bo
začel prenašati datoteko <tt>slika_cd</tt> iz gostitelja
<tt>oddaljeni.gostitelj.si</tt>.

<sect1>Na koncu vsake skladbe slišim klikanje in prasketanje
<p>.
Če se hočete znebiti prasketanja, morate za zapisovanje glasbenih CD
uporabiti način zapisa DAO (disk at once).

<sect1>Kako nastavim, da lahko zapisovalnik uporabljajo tudi navadni
uporabniki, ne le skrbnik sistema?
<p>
Ena možnost je, da prevedenemu programu Cdrecord nastavite bit SUID,
kar pa lahko ustvari razpoko v varnosti sistema. Preprosta sprememba
nastavitev datoteke naprave ne pomaga, ker Cdrecord pošilja ukaze, ki
zahtevajo sistemske pristojnosti, tudi po generičnem vmesniku SCSI.

<tscreen><verb>
which cdrecord
chown root.root /usr/bin/cdrecord
chmod 4111 /usr/bin/cdrecord
</verb></tscreen>

<sect1>Kje lahko dobim specifikacije standardov &ldquo;Yellow
Book&rdquo; in &ldquo;Orange Book&rdquo;?
<p>
Pri družbi Philips in to za drag denar.

<sect1>Kje najdem podatke o zapisovanju Video-CD v Linuxu?
<p>
Nekaj podatkov o pripomočkih za ustvarjanje videov MPEG in Video-CD
najdete na naslovu

<quote>
<url url="http://www.mainconcept.de/"><p>

<url url="http://www.johanni.de/munich-vision/vcd/"><p>
</quote>

Tisti, ki so politično korektni, omenjajo uporabo berkeleyjskih orodij in
strategije YUV. Raba le-teh je zapletena, vzame veliko časa in prostora 
na disku in ne podpira zvoka v posnetkih MPEG. Namesto tega
priporočam v predhodnem besedilu omenjena orodja, ki olajšajo delo.

<sect1>Je laže pripraviti za delo zapisovalnike IDE ali SCSI?
<p>
Zapisovalnike SCSI v Linuxu malce laže pripravimo za
zapisovanje. Po poročilih drugih imajo tudi boljše odpravljanje
napak. Če to odtehta dejstvo, da so dražji, je težko v splošnem
odgovoriti.

<sect1>Kako lahko spravimo na disk CD več od nazivne zmogljivosti?
<p>
Pisanje prek nazivne zmogljivosti (angl. overburning) ni nič
posebnega. Na svojo odgovornost lahko shranite na CD več od nazivne
zmogljivosti diska (650 MB ali 700 MB), vendar do podatkov na drugih
enotah morda ne boste mogli. Sicer pa v Linuxu ni nobene
programske omejitve na 650 MB ali kaj takega.

<sect1>Kaj napravi Cdrecord, ko tok podatkov iz cevovoda presahne?
<p>
Neha pisati. To pomeni, da lahko Cdrecord sklopite s svojim
priljubljenim orodjem za izdelavo varnostnih kopij, denimo
&ldquo;<tt>ru -size=640m -f - | cdrecord dev=0,1,0 speed=2
-</tt>&rdquo;. Če sega varnostna kopija prek več diskov CD, mora za to
skrbeti program ta izdelavo varnostne kopije.

<sect1>Je pri posnemanju ide-scsi kaj enakovrednega izbiri
&ldquo;ignore=hdX&rdquo;?
<p>
Ne vem, bi pa podpiral vsakogar, ki bi v jedro Linuxa želel dodati to
možnost.

<sect1>Kolikokrat lahko zbrišemo in spet uporabimo diske CD-RW?
<p>
Dobro vprašanje.

<sect1>Katera oblika zapisa je najboljša, če želimo CD-ROM brati v
različnih strojnih okoljih?
<p>
Edini datotečni sistem za diske CD-ROM, ki ga zagotovo lahko beremo v
vseh strojnih okoljih, je ISO 9660 brez razširitev HFS (Macintosh),
Joliet (Microsoft) ali Rock Ridge (Unix). To obenem pomeni omejitev
pri imenih datotek na 8+3. Nobenega skupnega standarda, ki bi podpiral
daljša imena datotek, ni.

<sect1>Je mogoče dodajanje skladb na glasbene CD?
<p>
Laserski gramofoni zmorejo brati le skladbe, zapisane v prvem zapisu,
tistih, shranjenih v naslednjih zapisih (multi-session), pa ne. Pač pa
lahko pozneje dopišemo podatkovni del in ga na ta način uspešno
skrijemo pred laserskimi gramofoni. Ta postopek lahko uporabimo pri
mešanih (glasbeno-podatkovnih) ploščah, če ne želimo, da laserski
gramofon &ldquo;vidi&rdquo; podatkovni del kot &ldquo;prazno&rdquo;
skladbo.

<sect1>Kakšen računalnik potrebujem za zapisovanje CD? Je stari
Pentium dovolj?
<p>
Odgovor je odvisen od vaših želja. Če potrebujete izgovor za nakup
novega računalnika, vam lahko postrežemo z odgovorom Mednarodnega
združenja izdelovalcev računalniške opreme: Karkoli že nameravate
početi, potrebujete procesor s taktom vsaj 2,8 GHz. Ker ga vaša
osnovna plošča ne podpira, to obenem pomeni tudi zamenjavo osnovne
plošče. Če se želite izogniti napornemu in zamudnemu razstavljanju,
sestavljanju in nastavljanju računalnika, je najlaže, če kupite že
izdelan računalniški sistem, kot ga vidite v oglasih po
televiziji. Preostanek tega razdelka lahko preskočite.

Če bi radi razumen odgovor -- pisec tega spisa je uspešno zapekel kar
spodobno število diskov na starem računalniku 486 s taktom 66
MHz. Čeprav Microsoft takega sistema niti ne šteje več med osebne
računalnike, temveč priporoča, da na njem poganjamo Windows CE
(predstavljeno na sejmu CeBIT), Linux ne le, da čisto lepo teče na teh
prednikih Pentiuma, ampak jih lahko uporabljamo tudi za zapisovanje
CD. Ali vaše železje zadošča za zapisovanje CD, lahko ugotovite z
enostavnim preizkusom. Program Cdrecord poženite s stikalom
<tt>-dummy</tt>, ki izklopi laser, in opazujte, kako se
&ldquo;peče&rdquo; CD.

<sect>Iskanje in odpravljanje težav
<p>
Naj vas vnaprej potolažimo, da so po najnovejših raziskavah okvarjeni
diski CD-R (angleški termin zanje je &ldquo;coaster&rdquo;, podstavek
za kozarec) povsem enako uspešni pri motenju policijskih radarjev kakor
pravilno zapisani. :)

<sect1>Ne deluje: v Linuxu<label id="doesntwork">
<p>
Najprej preverite, ali zapisovalnik deluje s priloženim programjem
(najverjetneje to pomeni tudi v nekem drugem operacijskem sistemu).
Konkretno:
<itemize>
<item>Ali krmilnik prepozna zapisovalnik kot SCSI napravo?
<item>Ali programska oprema zazna zapisovalnik?
<item>Ali je mogoče s priloženo programsko opremo &ldquo;zapeči&rdquo;
CD?
</itemize>

Če ne deluje niti v drugih operacijskih sistemih, gre najverjetneje za
spor z drugo strojno opremo ali pa je strojna oprema okvarjena. Če
deluje in uporabljate za zagon Linuxa program Loadlin, je
najverjetneje vzrok napaka v njem. Loadlin izvede &ldquo;topli
zagon&rdquo; sistema, pri katerem je večina strojne opreme že
inicializirana, to pa lahko zmede jedro Linuxa.

<sect1>Napaka: enota 'dev=0,6,0' ni dostopna za branje
<p>
Nekatere izdaje knjižnice Libc so med seboj nezdružljive (kar je
napaka), tako da program, povezan z eno izdajo knjižnice, ne deluje, 

če je nameščena druga izdaja. Zgled take napake, do katere pride pri
uporabi že prevedenih programov, je:

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

Napako odpravimo tako, da namestimo novejšo izdajo knjižnice Libc.

<sect1>Ne deluje: v sistemu DOS in sorodnih operacijskih sistemih
<p>
Poskusite uporabiti Linux. Namestitev in nastavitev naprav SCSI v
sistemu DOS je pravi pekel. Linux da je preveč zapleten? Ha!

<sect1>Napake SCSI med procesom zapisovanja
<p>
Te napake najpogosteje nastanejo zaradi:

<itemize>
<item>manjkajoče možnosti za odklop in priklop naprav na vodilih SCSI,
<item>preslabo hlajene strojne opreme,
<item>okvare strojne opreme (to bi morali zaznati že v <ref id="doesntwork"
 name="Ne deluje: v Linuxu">).
</itemize>

Zaradi različnih okoliščin naprave SCSI elektronsko prekinejo in znova
vzpostavijo povezavo z vodilom SCSI. Če ta izbira ni na voljo
(preverite parametre krmilnika in jedra), lahko pride na nekaterih
zapisovalnikih med procesom zapisovanja do okvar.

Konkretno krmilnik NCR 53c7, 8xx ima privzeto to izbiro izključeno,
zato najprej preverite:

<tscreen><verb>
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
</verb></tscreen>

<sect1>Napake na nosilcu
<p>
Če Cdrecord sporoči napako, kot so &ldquo;Sense Key: ... Medium Error,
Segment ...&rdquo;, to pomeni, da pomnilniški nosilec ni prazen. Če gre
za disk CD-RW, poskusite nadomestiti izbiro <tt>blank=fast</tt> z izbiro
<tt>blank=all</tt>. Če gre za disk CD-R, preverite, ali disk še ni
videl zapisovalnika od znotraj, ali pa poskusite diske drugega
izdelovalca.

<sect1>Novo zapisanih diskov CD nekateri predvajalniki ne znajo brati
<p>
Nekateri poročajo o težavah z diski CD-R lastne izdelave. Nekateri
zelo stari laserski gramofoni in avtomobilski laserski gramofoni
imajo včasih z njimi težave, vendar so te redke. Pogoste pa so
težave pri branju diskov CD-RW v navadnih laserskih gramofonih, ker ti
laserske svetlobe ne odbijajo enako dobro kakor tovarniško odtisnjeni,
srebrni diski.

<sect1>Ko sem naložil modul ide-scsi, je nehal delovati skener
<p>
Poimenovanje naprav SCSI se spremeni, ko vključimo posnemanje SCSI. Če
ste prej skener uporabljali prek naprave <tt>/dev/sg0</tt>, se je
ta zdaj morda spremenila v <tt>/dev/sg1</tt> ali
<tt>/dev/sg2</tt>. Pomembnim ljudem, odgovornim za razvoj jedra, se
tako obnašanje ni zdelo nenavadno, zato so zavračali rešitve, kot je
denimo devfs. To je resda že druga zgodba, zato raje najprej poskusite
ustvariti simbolno povezavo <tt>/dev/scanner</tt>, ki kaže na dejansko
generično napravo SCSI. Zgled:

<tscreen><verb>
cd /dev
ls -l scanner     # trenutna nastavitev
ln -sf sg2 scanner
# preizkusimo skener
ln -sf sg1 scanner
# preizkusimo skener
# in tako naprej
</verb></tscreen>

Razvijalci namenskih programov bi morali pozorno razmisliti o podpori
nevarni in k napakam nagnjeni shemi poimenovanja naprav. Če ne
drugega, razmislite o vmesni rešitvi, kot je uporaba naslova SCSI,
tako kot uporablja program Cdrecord.



<sect>Zasluge
<p>
Veliko zaslug imajo bralci tega spisa, ki so dejavno sodelovali pri
nastajanju vsebine. Ker sam nekaj let nisem imel dostopa do
zapisovalnika CD, so bila poročila s terena o dejanskih nastavitvah in
izkušnjah zame neprecenljivega pomena.

<descrip>
<tag/Doug Alcorn &lt;doug@lathi.net&gt;/
je pomagal izboljšati delovanje novejših izdaj jedra,

<tag/Kalle Andersson &lt;kalle@sslug.dk&gt;/
zapisovanje glasbenih CD neposredno iz datotek MP3,

<tag/Alan Brown &lt;alan@manawatu.net.nz&gt;/,

<tag/Rick Cochran &lt;rick@msc.cornell.edu&gt;/
namig o odklopu in vnovičnem priklopu, privzeto onemogočenem pri
krmilnikih NCR,

<tag/Robert Doolittle &lt;bob.doolittle@sun.com&gt;/
dobri argument, da v spisu povsem izpustimo program Cdwrite,

<tag/Markus Dickebohm &lt;m.dickebohm@uni-koeln.de&gt;/,

<tag/Thomas Duffy &lt;tduffy@sgi.com&gt;/
večje čiščenje slovnice in črkovanja,

<tag/Dave Forrest  &lt;dforrest@virginia.edu&gt;/
je popravil napako v imenih adapterjev,

<tag/Jos van Geffen &lt;jos@tnj.phys.tue.nl&gt;/
je opozoril na problem, opisan v razdelku 4.9,

<tag/Bernhard Gubanka &lt;beg@ipp-garching.mpg.de&gt;/
pa na to, da moramo za uporabo povratnozančne naprave imeti
nameščeno sodobno izdajo programa mount.

<tag/Stephen Harris &lt;sweh@mpn.com&gt;/
je prispeval namig o zapisovanju glasbenih CD,

<tag/Janne Himanka &lt;shem@oyt.oulu.fi&gt;/
kazalec na krpo jedra, potrebno za branje CD-ROM z razširitvami joliet,

<tag/Stephan Noy &lt;stnoy@mi.uni-koeln.de&gt;/
podatke in izkušnje z zapisovanjem glasbenih CD,

<tag/Don H. Olive &lt;don@andromeda.campbellsvil.edu&gt;/
URL orodja Mkhybrid,

<tag/Jesper Pedersen &lt;jews@imada.ou.dk&gt;/,

<tag/Pierre Pfister &lt;pp@uplift.fr&gt;/
pa je pomagal pri izdelavi recepta za prepisovanje 1:1.

<tag/Daniel A. Quist &lt;dquist@cs.nmt.edu&gt;/
je prispeval podatke o IDE CD-R in novejših izdajah jedra,

<tag/Martti.Rahkila@hut.fi/
poročilo o težavah s prednastavljenimi zapisovalniki pri zagonu s
programom Loadlin,

<tag/Dale Scheetz &lt;dwarf@polaris.net&gt;/,

<tag/Joerg Schilling &lt;schilling@fokus.gmd.de&gt;/
veliko podatkov o programu Cdrecord,

<tag/Martin Schulze &lt;joey@Infodrom.North.DE&gt;/
podatke o dopisnem seznamu programa Cdwrite,

<tag/Gerald C Snyder &lt;gcsnyd@loop.com&gt;/
je preizkusil zapis CD-ROM z datotečnim sistemom ext2 (razdelek 4.4).

<tag/Art Stone &lt;stone@math.ubc.ca&gt;/
je prispeval zamisel, da na CD-ROM zapišemo od ISO 9660 različen datotečni sistem,

<tag/The Sheepy One &lt;kero@escape.com&gt;/
je predlagal uporabo okvarjenih diskov CD-ROM kot podstavkov za kozarce,

<tag/Erwin Zoer &lt;ezoer@wxs.nl&gt;/.

</descrip>

Rad bi se zahvalil tudi naslednjim ljudem, ki so me opozorili
na tipkarske napake: Bartosz Maruszewski
&lt;B.Maruszewski@zsmeie.torun.pl&gt;, Alessandro Rubini
&lt;rubini@prosa.it&gt;, Ian Stirling &lt;ian@opus131.com&gt;, Brian
H. Toby.

Izdajo 2.4.1 tega spisa je decembra 1998 v slovenščino prevedel Andrej
Grauf, to izdajo pa avgusta 2002 Primož Peterlin.

</article>
