Linux (verze jadra 1.2.XX, specielne 1.2.13) podporuje siroky vyber ovladacu pro cdromy. Nechci zde delat dlouhy vyklad, spise jen co kde najdete a co se kde konfiguruje. Pro detailnejsi popis jednotlivych podporovanych ovladacu viz CDROM-howto.
Nejprve par terminu:
ISO-9660(High Sierra)-format datovych cd disku (nazvy 8+3, ms-dos styl)
Rock Ridge Extensions-dlouha jmena, vlastnictvi, prava na discich ISO9660
PhotoCD-format cd disku pro uchovavani obrazku (digitalni fotografie)
Instalace cdrom ma v zasade tyto kroky:
bash$ ls -l /dev/cdrom
pokud mate SCSI cdrom.
lrwxrwxrwx 1 root root 9 May 22 00:53 /dev/cdrom -> /dev/scd0
Tento link se zde dela z duvodu jednoduchosti, jednou ho nastavite a pak uz jen pouzivate zarizeni cdrom ze vsech programu (nektere jsou napsany tak, ze /dev/cdrom pouzivaji natvrdo, i kdyz se jim to da zmenit vetsinou v Makefile, ale to znamena rekompikaci aplikace).
SCSI
pokud se najde vas SCSI kontroler pri bootu tak by s
detekci SCSI cdrom nemel byt problem. Standartne se testuje
pritomnost prvnich dvou cdrom (/dev/scd0, /dev/scd1).
Pripominam ze musite pri konfiguraci jadra nastavit podporu SCSI
*
* SCSI support
*
SCSI support? (CONFIG_SCSI) [y]
podporu cdrom v ramci SCSI
* * SCSI support type (disk, tape, CDrom) * SCSI disk support (CONFIG_BLK_DEV_SD) [y] n SCSI tape support (CONFIG_CHR_DEV_ST) [n] n SCSI CDROM support (CONFIG_BLK_DEV_SR) [y] SCSI generic support (CONFIG_CHR_DEV_SG) [n] na tu spravnou kartu (napr. Future Domain)
* * SCSI low-level drivers * Adaptec AHA152X support (CONFIG_SCSI_AHA152X) [n] BusLogic SCSI support (CONFIG_SCSI_BUSLOGIC) [n] EATA-DMA (DPT,NEC&ATT for ISA,EISA,PCI) support (CONFIG_SCSI_EATA_DMA) [n] UltraStor 14F/34F support (CONFIG_SCSI_U14_34F) [n] Future Domain 16xx SCSI support (CONFIG_SCSI_FUTURE_DOMAIN) [y] Generic NCR5380 SCSI support (CONFIG_SCSI_GENERIC_NCR5380) [n] Always IN2000 SCSI support (test release) (CONFIG_SCSI_IN2000) [n] PAS16 SCSI support (CONFIG_SCSI_PAS16) [n] QLOGIC SCSI support (CONFIG_SCSI_QLOGIC) [n] 7000FASST SCSI support (CONFIG_SCSI_7000FASST) [n] upport (CONFIG_CHR_DEV_SG) [n]a filesystem ISO9660
ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [n]
ATAPI(IDE)
cdrom chovaji se jako ide disky, nic jineho nez podpora pro IDE radic a CDROM v jadre neni treba.
Normal (MFM/RLL) disk and IDE disk/cdrom support (CONFIG_ST506) [y] * * Please see drivers/block/README.ide for help/info on IDE drives * Use old disk-only driver for primary i/f (CONFIG_BLK_DEV_HD) [n] Use new IDE driver for primary/secondary i/f (CONFIG_BLK_DEV_IDE) [y] Include support for IDE/ATAPI CDROMs (CONFIG_BLK_DEV_IDECD) [y]Pokud mate cdrom jako 3. nebo 4. disk (sekundarni IDE radic nebo takova ta mala karticka dodana vyrobcem) tak musite pouzit novy ovladac.
MITSUMI
Tyto cdromy se pripojuji pres Soundblastery a jine zvukove karty. Videl jsem i zvlast radic.
mknod /dev/mcd b 23 0
Konfigurace jadra:
* * CD-ROM drivers (not for SCSI or IDE/ATAPI drives) * Sony CDU31A/CDU33A CDROM driver support (CONFIG_CDU31A) [n] Mitsumi (not IDE/ATAPI) CDROM driver support (CONFIG_MCD) [y] Matsushita/Panasonic CDROM driver support (CONFIG_SBPCD) [n] Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support(CONFIG_AZTCD) [n] Sony CDU535 CDROM driver support (CONFIG_CDU535) [n]
Vetsinou budete chtit namountovat datovy cd disk pod nejaky
obecne znamy adresar, jak je v unixu zvykem. Ja jsem si zvolil
/CDROM . Nejprve jsem jako superuzivatel (root) adresar /CDROM vytvoril bash# mkdir /CDROM
, nastavil mu
prava pristupu pro vsechny skupiny a uzivatele
bash# chmod 666 /CDROM
a potom jsem
pridal do souboru /etc/fstab (FileSystem TABle nebo tak nejak)
radku jez prirazuje zarizeni /dev/cdrom implicitni adresar
/CDROM, typ filesystemu iso9660 (zahrnuje i Rock Ridge
Extensions pro dlouha jmena) a nejake flagy (treba ze
i obycejny uzivatel si smi namountit cdrom (user), nesmi se z ni
vukonavat (spoustet) exe programy (noexec) atakdale.
Do fstabu jsem ulozil informace proto, ze pozdeji staci pro namounteni disku napsat mount /CDROM
nebo mount /dev/cdrom
a system uz bude vedet o jake zarizeni na jaky adresar se jedna.
Ukazka /etc/fstab:
/dev/hdb2 / ext2 defaults /dev/hda1 /DOS1 umsdos defaults,user,rw,umask=000 1 1 /dev/hdb1 /DOS2 umsdos defaults,user,rw,umask=000 1 1 /dev/cdrom /CDROM iso9660 ro,user,noauto /dev/hdd1 /DISK3 ext2 auto,rw,user,exec /dev/hdc1 /DISK4 msdos auto,rw,user /dev/fd0 /A msdos user,noauto,rw,umask=000 /dev/fd1 /B msdos user,noauto,rw,umask=000 none /proc proc defaults 1 1,umask=066Po ulozeni tohoto souboru a restartu Linuxu by se vam (pokud je v mechanice datovy disk a cdrom se skutecne najde) mel automaticky obsah cedecka namountit.
Mounteni se provede (pokud mate v fstabu to spravne implicitni
prirazeni a /dev/cdrom ukazuje na fyzicky soubor zarizeni):
mount /CDROM
nebo
mount /dev/cdrom
Uplny tvar volani mount:
mount /CDROM /dev/cdrom -t iso9660
coz je obecny tvar prikazu
mount [adresar] [jake zarizeni]
[flagy]
jez vam dovoluje namountit cdrom/disk prakticky kamkoliv.
Upozornuji ze po namountovani je zamknuta mechanika (alespon
na SCSI), takde stiskem tlacitka EJECT se nic nestane. Teprve
pokud vsechny procesy jez pouzivaji soubory z cdromy (maji
je otevrene) tyto soubory zavrou, umozni prikaz umount
odmountovat cdromu z mount bodu /CDROM. Teprve pak se povoli EJECT
disku.
Pokud mate cdrom mechaniku ktera vam dovoli EJECT i kdyz
je namountovany disk (nepodporuje door locking), tak vam to
nedoporucuji, protoze se budou cist
kraviny (stejne jako u floppy disku, jadro totiz nepozna ze
tam disk uz neni, protoze vetsinu informaci kesuje).
Spravny postup pouzivani cdrom tedy je:
mount /cdrom
umount /CDROM
Pouzivat cdrom lze na prehravani audio disku - programy workbone, xcdplayer, cdplayer, cdtool pro konsoli/skripty a workman , Xmcd, xmitsumi, xplaycd pro X.
Cdrom lze tez pouzivat specialnimi programy (pokud to cdrom dovoluje) k cteni treba PhotoCD nebo video disku. SCSI cdromy od TOSHIBY umi pocitaci poslat jakykoli sektor z cd disku a tudiz jsou i schopny "vytahnout" z disku zvuk z audio cd (programem cdda2wav).