Pred novembrom 1997 programska oprema za Linux ni podpirala zapisovalnikov CD-jev vrste ATAPI. To se odraža tudi v trenutni verziji tega spisa, ki se osredotoča na delo z napravami SCSI.
Dobra novica je, da je delo z napravami ATAPI veliko lažje in da boste
ta HOWTO lahko uporabljali tudi, če ste pozabili na "splošne naprave
SCSI". Da bi ugotovili, kako nastaviti naprave ATAPI, uporabite ukaz
cdrecord -scanbus
.
Naslednje različice tega spisa bodo vsebovale več podrobnosti o delu z zapisovalniki CD-jev vrste ATAPI.
Ugasnite računalnik, ga izklopite in priključite zapisovalnik CD-jev na vodilo SCSI.
Prepričajte se, da so vodila SCSI ustrezno zaprta in izberite prost SCSI-ID za zapisovalnik. Če niste popolnoma prepričani, preberite Linux SCSI-HOWTO. V primeru da ste popolnoma brez idej, povprašajte izkušene uporabnike.
Ponovno prižgite računalnik in preberite sporočila, ki jih takoj po vključitvi izpiše BIOS SCSI krmilnika. V primeru da ne prepozna vašega zapisovalnika, se vrnite na korak (b). Opaziti bi morali tudi sporočilo z naslednjo obliko :-)
V nasprotju z govoricami jedra Linux ni potrebno ponovno prevajati, da
bi lahko zapisovali na CD-je. Čeprav datoteka drivers/scsi/scsi.c
,
ki je v izvorni kodi jedra, vsebuje vrstice
case TYPE_WORM:
case TYPE_ROM:
SDpnt->writable = 0;
to pomeni le, da na CD-je in WORM-e ni možno zapisovati preko
standardnih naprav /dev/sda-/dev/sdh
- kar pa je tudi dobro.
Namesto s pomočjo teh naprav, se zapisovanje na CD-je vrši preko tako imenovanih splošnih naprav SCSI, ki omogočajo skoraj vse - celo zapisovanje na CD-je.
V Linux SCSI-HOWTO je o napravah SCSI zapisano:
Gonilnik za splošno napravo SCSI nudi vmesnik za pošilajnje ukazov za SCSI vsem napravam SCSI - diskom, trakom, CD-ROM-om, mehanizmom za izmenjavo medijev, itd.Ko govorimo o splošnih napravah kot o vmesnikih, hočemo povedati, da poleg dostopa preko standardnih naprav, nudijo tudi alternativen način za dostop do strojne opreme vrste SCSI.
Ta alternativni način je potreben zato, ker so standardne naprave oblikovane tako, da berejo podatkovne bloke z diska, traku ali CD-ROM-a. V primerjavi s tem je uporaba zapisovalnikov CD-jev (ali scannerja) bolj eksotična, npr. potrebno je posredovati ukaze za pozicioniranje laserja. Da bi imeli čisto (in s tem tudi hitro) vgradnjo standardnih naprav, se morajo vse te eksotične operacije izvajati preko splošnih naprav SCSI.
Ker lahko preko splošnih naprav s strojno opremo SCSI počnemo skoraj vse, njihov namen ni fiksno določen - prav zaradi tega tudi ime "splošne".
Pojdite v imenik /dev
in poiščite splošne naprave SCSI; ukaz
ls
bi moral pokazati sga-sgh
:
bash> cd /dev
bash> ls -l sg*
crw------- 1 root sys 21, 0 Jan 1 1970 sga
crw------- 1 root sys 21, 1 Jan 1 1970 sgb
crw------- 1 root sys 21, 2 Jan 1 1970 sgc
crw------- 1 root sys 21, 3 Jan 1 1970 sgd
crw------- 1 root sys 21, 4 Jan 1 1970 sge
crw------- 1 root sys 21, 5 Jan 1 1970 sgf
crw------- 1 root sys 21, 6 Jan 1 1970 sgg
crw------- 1 root sys 21, 7 Jan 1 1970 sgh
V primeru da teh naprav-datotek nimate, jih lahko ustvarite z uporabo
zapisa /dev/MAKEDEV
:
bash> cd /dev/
bash> ./MAKEDEV sg
Sedaj bi se morale naprave-datoteke prikazati.
Jedro Linuxa potrebuje modul, ki mu omogoča upravljanje s splošnimi
napravami SCSI. Če ima vaše delujoče jedro to opcijo, bi morala biti
navedena v psevdo-datoteki /proc/devices
:
bash> cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 ttyp
5 cua
7 vcs
21 sg <----- označuje "splošne naprave SCSI"
30 socksys
Block devices:
2 fd
7 loop <----- uporabljamo lahko celo povratne naprave
8 sd
11 sr <----- označuje "SCSI CD-ROM"
Mogoče boste morali za naložitev modula v jedro uporabiti ukaze
insmod sg
, insmod loop
ali insmod sr_mod
.
Ko boste to storili, ponovno poskusite.
Če eden izmed njih ne uspe izvesti svoje funkcije, boste morali preoblikovati jedro in ga ponovno prevesti.
bash> cd /usr/src/linux
bash> make config
[..]
*
* Additional Block Devices
*
Loopback device support (CONFIG_BLK_DEV_LOOP) [M/n/y/?] M
[..]
*
* SCSI support
*
SCSI support (CONFIG_SCSI) [Y/m/n/?] Y
*
* SCSI support type (disk, tape, CD-ROM)
*
SCSI disk support (CONFIG_BLK_DEV_SD) [Y/m/n/?] Y
SCSI tape support (CONFIG_CHR_DEV_ST) [M/n/y/?] M
SCSI CD-ROM support (CONFIG_BLK_DEV_SR) [M/n/y/?] M
SCSI generic support (CONFIG_CHR_DEV_SG) [M/n/y/?] M
[..]
ISO9660 cdrom filesystem (CONFIG_ISO9660_FS) [Y/m/n/?] M
Opomba: izpustil sem vsa manj pomembna vprašanja.
V primeru da imate vprašanja, ki se nanašajo na naslov tega razdelka, predlagam, da si preberete Linux Kernel-HOWTO. Nekaj dokumentacije o tem bi morala vsebovati tudi vaša distribucija Linuxa.
Namig: Medtem ko prevajate jedro, lahko nadaljujete s točkami od 2.7 do 2.9
Naj vas ne zgrabi panika, če bo jedro Linuxa hitreje izpisovalo
podatke, kot jih boste lahko vi brali; z ukazom dmesg
lahko ponovno preberete vsaj inicializacijo naprav SCSI:
scsi0 : NCR53c{7, 8}xx (rel 17)
scsi : 1 host.
scsi0 : target 0 accepting period 100ns offset 8 10.00MHz
scsi0 : setting target 0 to period 100ns offset 8 10.00MHz
Vendor: FUJITSO Model: M1606S-512 Rev: 6226
Type: Direct-Access ANSI SCSI
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
Vendor: NEC Model: CD-ROM DRIVE:84 Rev: 1.0a
Type: CD-ROM ANSI SCSI
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0
scsi : detected 1 SCSI disk total.
SCSI device sda: hdrw sector= 512 bytes. Sectors= 2131992
Zgornje vrstice so samo del inicializacijskega sporočila, ki daje
informacije o zaznavanju fizično prisotnih naprav SCSI.
Pojdite v imenik /dev
in poiščite povratne naprave.
Nič hudega, če teh naprav nimate, je pa priporočljivo
(glej
Testiranje slike CD-jev).
V primeru da te naprave
že obstajajo, bi moral ukaz ls
prikazati loop0 - loop7
:
bash> cd /dev
bash> ls -l loop*
crw------- 1 root sys 7, 0 Sep 23 17:15 loop0
crw------- 1 root sys 7, 1 Sep 23 17:15 loop1
crw------- 1 root sys 7, 2 Sep 23 17:15 loop2
crw------- 1 root sys 7, 3 Sep 23 17:15 loop3
crw------- 1 root sys 7, 4 Sep 23 17:15 loop4
crw------- 1 root sys 7, 5 Sep 23 17:15 loop5
crw------- 1 root sys 7, 6 Sep 23 17:15 loop6
crw------- 1 root sys 7, 7 Sep 23 17:15 loop7
Če teh naprav-datotek nimate, jih ustvarite z uporabo skripte
/dev/MAKEDEV
:
bash> cd /dev/
bash> ./MAKEDEV loop
Zadnji ukaz bo učinkovit le v primeru, da imate v jedro vključen
loop-modul (o delu z moduli si preberite v
Omogočanje uporabe splošnih naprav SCSI in povratnih naprav).
Če ismod loop
ne pomaga, boste morali počakati, da bo novo
jedro pravilno nameščeno (glej
Izgradnja in namestitev jedra).
Za tvorjenje prototipov CD-R-jev je potreben naslednji paket:
ftp://tsx-11.mnt.edu/pub/linux/packages/mkisofs/ (mkisofs)V odvisnosti od modela vašega zapisovalnika CD-jev (glej Terminologija...Laserje na maksimalno moč...Ogenj!) je za zapisovanje prototipov CD-R-jev potrebna naslednja programska oprema:
ftp://ftp.ge.ucl.ac.uk/pub/mkhfs (mkhybrid)
ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/ (cdrecord)Prosim, da uporabite najbližji zrcalni strežnik teh dveh strežnikov FTP, ali pa si programe priskrbite na CD-ju.
ftp://sunsite.unc.edu/pub/Linux/units/disk-management/ (cdwrite)
Prepričajte se, da imate program cdwrite različice 2.0 ali novejše.
Nobena starejša, še posebej pa ne beta-različica, ne bo pravilno
delovala! Ne upoštevajte man strani (starejših) različic programa
mkisofts
, kjer je navedeno, da potrebujete program
cdwrite
različice 1.5.
Informacije o prenosu programa cdwrite
na operacijska sistema Irix
in AIX najdete na:
http://lidar.ssec.wisc.edu/-forrest/Če uporabljate jedro, ki je starejše od različice 2.0.31, boste verjetno ponovno prevedli
mkisofts
in se tako izognili
napaki v kodi datotečnega sistema za Linux.
Distribucija Debian nudi popravke za različico 1.05 programa mkisoft
(deloval bi tudi za različico 1.11), ki doda stikalo '-K
'
(glej
Ustvarjanje datotečnega sistema iso9660);
dobite jo lahko na
ftp://ftp.debian.org/pub/debian/bo/source/otherosfs/mkisofts_1.11-1.diff.gzTa popravek je nujen samo v primeru, če želite sliko CD-ja povezati preko povratne naprave (glej Testiranje slike CD-jev).
X-CD-Roast je program, zasnovan popolnoma za X, za zapisovanje na
CD-je in je naslednik programa cdwtools-0.93
. Najdete ga na
http://www.fh-muenchen.de/home/ze/rz/services/projects/xcdroast/e_overview.htmlTrenutna različica programa X-CD-Roast je osnovana na popravljeni različici programa cdwrite-2.0 in zaradi tega vsebuje enake izbire (glej Podprti zapisovalniki CD-jev). Naslednje različice bodo mogoče osnovane na alternativni programski opremi
cdwrite
.