CDromy pod Linuxem

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:

Podpora pro cdrom mechaniku musi byt zkompilovana v jadre - viz konfigurace a kompilace jadra. Upozornuji ze musite mit
Na rozdil od dosu se pod Linuxem vuci aplikacim chovaji cdromy stejne, nezavisle na tom na jakem rozhrani jsou pripojeny (pristupuje se na ne pres specialni soubory zarizeni). Tyto jsou ulozeny v adresari /dev/ . Zde je take vetsinou symbolicky link z cdrom na prislusny fyzicky spec. soubor, treba

bash$ ls -l /dev/cdrom
lrwxrwxrwx 1 root root 9 May 22 00:53 /dev/cdrom -> /dev/scd0
pokud mate SCSI cdrom.

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


Vytvareni specialnich souboru zarizeni v /dev/ a linku cdrom pro jednotlive typy:

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] n
a 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]


Mountovani (jakekoli) cdrom pod adresar:

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=066
Po 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:

  1. vlozeni cd disku s daty
  2. mount /cdrom
  3. pouzivani
  4. uzavreni vsech souboru na cdrom z aplikaci (vcetne vyskoceni z adresaru)
  5. umount /CDROM
  6. eject


Pouzivani cdrom na prehravani zvuku

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


Zpatky na hlavni stranku