Installatie

De installatie van een CD-ROM station onder Linux bestaat uit de volgende stappen:

  1. Het installeren van de hardware.

  2. Het configureren en samenstellen van de Linux kernel.

  3. Het aanmaken van de apparaatbestanden en het instellen van de boot time parameters.

  4. Het booten van de Linux kernel.

  5. Het mounten van de media.

In de volgende secties zullen deze stappen elk in meer detail worden beschreven.

Installeren van de hardware

Volg de instructies van de fabrikant op voor het installeren van de hardware of laat de verkoper de installatie uitvoeren. De details variëren afhankelijk van of je een interne of externe drive hebt en van het type interface dat wordt gebruikt. Er zijn geen speciale installatiebenodigdheden voor Linux. Wellicht dat voor een juiste werking de jumpers op de drive en/of interfacekaart moeten worden ingesteld; bij een aantal kerneldrivers worden documentatiebestanden geleverd waarin deze informatie is opgenomen.

Zoals wordt uitgelegd in het bestand ide-cd, moeten ATAPI CD-ROM'S worden gejumperd als "single" of "master", en niet als "slave" wanneer een enkele IDE-device is gekoppeld aan de interface (alhoewel deze beperking niet langer wordt afgedwongen door recente kernels).

Configureren en samenstellen van de kernel

Wanneer je in beginsel Linux vanaf CD-ROM installeert, dan zul je naar alle waarschijnlijkheid gebruik maken van een boot- en/of rootdisk waarin als onderdeel van een Linux distributie wordt voorzien. Zo mogelijk moet je een bootdisk kiezen met een kerneldriver voor je type CD-ROM station. Als je geen bootdisk kunt vinden met de benodigde CD-ROM driver, dan heb je verscheidene opties:

  1. Boot direct vanaf CD-ROM (als dit door je computer en Linux CD wordt ondersteund)

  2. Installeer via een netwerk

  3. Boot DOS, en installeer de Linux bestanden naar je harddisk

  4. Boot DOS, en maak een set diskettes aan om Linux te installeren

  5. Ga op zoek naar iemand die een bootdisk met de benodigde CD-ROM driver voor je kan samenstellen.

De Linux Installation HOWTO geeft meer informatie over het installeren van Linux. Als je Linux op CD-ROM hebt aangeschaft, dan zullen er naar alle waarschijnlijkheid ook installatie-instructies zijn meegeleverd (dat kleine boekje in de doos, en/of bestanden op de CD).

Zodra Linux de eerste maal is geïnstalleerd, zullen de meeste gebruikers gewoonlijk om één van de volgende redenen een eigen kernel willen installeren:

De Linux Kernel HOWTO zou moeten worden geraadpleegd voor de details over het bouwen van een kernel. Ik zal hier slechts een aantal zaken benoemen die specifiek zijn voor CD-ROM stations.

Uiteraard moet je ondersteuning voor het CD-ROM station opnemen wanneer je de kernel configureert.

Wanneer je een ATAPI CD-ROM station hebt, dan moet je de Enhanced IDE/MFM/RLL disk/cdrom/tape support en Include IDE/ATAPI CDROM support activeren.

Voor SCSI CD-ROM stations, activeer je de opties SCSI support en SCSI CDROM support. Activeer ook ondersteuning voor je SCSI hostadapter wanneer hierom wordt gevraagd, b.v. Adaptec AHA152X/2825 support.

Voor CD-ROM stations met een gepatenteerde interface, activeer je de juiste driver. Je kunt de eerder weergegeven tabel gebruiken om vast te stellen welke driver je voor het model moet gebruiken.

Op praktisch alle CD-ROM's wordt gebruik gemaakt van het ISO-9660 bestandssysteem, dus je moet ook ISO 9660 CDROM filesystem support activeren.

Alhoewel niet nodig voor de goede werking van CD-ROM's, wil je wellicht op dit moment ook de kernel sounddriver activeren en configureren als je een geluidskaart hebt die onder Linux wordt ondersteund. De Sound HOWTO kan hierbij een nuttige referentie zijn.

Vervolgens zou je de gebruikelijk procedure moeten volgen voor het bouwen en installeren van de kernel. Boot niet met de nieuwe kernel voordat je de apparaatbestanden hebt aangemaakt en je eventuele boottime parameters hebt ingesteld zoals in de volgende sectie is beschreven.

Het ISO-9660 bestandssysteem en bijna alle CD-ROM drivers kunnen als laadbare kernelmodules worden gebouwd. Dit biedt je de mogelijkheid de kerneldrivers te laden en uit het geheugen te verwijderen zonder dat je de kernel moet rebooten, waardoor je geheugen vrijhoudt. Ik raad je aan je CD-ROM installatie eerst draaiend te krijgen door gebruik te maken van meegecompileerde drivers. Hoe je modules kunt gebruiken, staat beschreven in de modules documentatie en de Kernel HOWTO.

Als een hier weergegeven type station niet door je kernel wordt ondersteund, dan heb je naar alle waarschijnlijkheid een upgrade nodig naar een nieuwere versie.

Het is mogelijk dat je een driver moet gebruiken die apart van de kernelsource wordt gedistribueerd. Gewoonlijk moet je dan de kernel patchen. Nogmaals, in de Kernel HOWTO staat uitgelegd hoe je dit doet.

Je kunt de kernel configureren met behulp van een tekstgeöriënteerd programma door gebruik te maken van "make config", een menugeöriënteerd kernelconfiguratieprogramma aangeroepen door "make menuconfig" en een op X11 gebaseerde grafische configuratie aangeroepen als "make xconfig". Deze configuratiemethoden bieden allen online hulp.

Devicebestanden aanmaken en het instellen van Boot Time parameters

De kernel gebruikt ter identificatie van de te gebruiken device driver apparaatbestanden. Als je een standaard Linux distributie draait, dan zijn de noodzakelijke apparaatbestanden wellicht al aangemaakt tijdens de installatie. Onder Slackware Linux bijvoorbeeld, bestaat een menugeöriënteerde setuptool waarin de setup van de CD-ROM is opgenomen en de meeste systemen hebben een /dev/MAKEDEV script. Als je geen gebruikt maakt van deze methoden dan kun je de meer handmatige procedure gebruiken die in deze sectie wordt weergegeven. Zelfs als je een van deze methoden gebruikt, dan is het aan te bevelen dat je op z'n minst de apparaatbestanden verifieert aan de hand van de informatie in deze sectie.

Maak je gebruik van het nieuwe devfs bestandssysteem in de nieuwere 2.4 kernels, dan worden de apparaatbestanden dynamisch door de kernel aangemaakt in plaats van dat ze op disk voorkomen, en volgen ze een andere naamconventie. Bij de voorbeelden in dit document wordt ervan uitgegaan dat geen gebruik wordt gemaakt van devfs, en ze moeten wellicht dienovereenkomstig worden aangepast als je er wel gebruik van maakt.

Je maakt het apparaatbestand aan door de shellopdrachten uit te voeren die je type drive aangeven. Dit moet worden uitgevoerd als root gebruiker. Een aantal Linux distributies gebruikt wellicht iets andere CD-ROM devicenamen dan die hier is weergegeven.

Ik raad je ook aan een symbolische link aan te maken naar het CD-ROM device om het eenvoudiger te kunnen onthouden. Voor een IDE CD-ROM station bijvoorbeeld dat is aangesloten als het tweede apparaat op de secondaire interface, zou de link worden aangemaakt met:

# ln -s /dev/hdd /dev/cdrom

Als je audio-CD's af wilt kunnen spelen, dan moet je de protectie op het apparaatbestand instellen (het echte bestand, niet de symbolisch link ernaar) om alle gebruikers ervan te kunnen laten lezen, b.v.

# chmod 664 /dev/hdd
# ls -l /dev/hdd
brw-rw-r--   1 root     disk      22,  64 Feb  4  1995 /dev/hdd

Een aantal Linux distributies maakt gebruik van groeppermissies om de toegang tot devices zoals CD-ROM's te besturen. Een algemene conventie is om alleen leden van een groep genaamd cdrom toegang te verschaffen. In dit geval moet je de juiste gebruikers aan de groep toevoegen in plaats van de bestandspermissies van het apparaatbestand wijzigen.

Bij het booten van Linux proberen de devicedrivers vast te stellen of de geschikte devices aanwezig zijn, kenmerkend door specifieke adressen uit te proberen. Veel van de drivers proberen automatisch verscheidene adressen uit, maar vanwege de verschillen in de configuratie, mogelijke deviceconflicten en hardwarebeperkingen hebben de drivers soms hulp nodig bij het identificeren van de adressen en andere parameters. De meeste drivers ondersteunen een optie om op de opdrachtregel van de kernel deze informatie aan de devicedriver door te geven. Dit kan interactief worden geregeld, of wat gebruikelijker, via een configuratie in de bootloader. Met LILO bijvoorbeeld zou je een append opdracht zoals de volgende aan het bestand /etc/lilo.conf toevoegen:

append = "sbpcd=0x230,SoundBlaster"

Zie de documentatie behorend bij LILO voor meer informatie.

In de volgende sectie bespreek ik onderwerpen specifiek voor individuele devicedrivers, waaronder apparaatbestanden, bootparameters en de mogelijkheden van de verschillende drivers. Je hoeft waarschijnlijk alleen dat deel te lezen dat van toepassing is op je type drive. De documentatiebestanden zijn gewoonlijk te vinden in de directory /usr/src/linux/Documentation/cdrom.

Sbpcd Driver

Voornaamste auteur:Eberhard Moenkeberg (emoenke@gwdg.de)
Multisessie support:ja (maar niet alle drives)
Multiple drive support:ja
Laadbare module support:ja
Lezen van audio frames:ja (CR-562, CR-563, CD-200 only)
Auto-probing:ja
Devicebestand:/dev/sbpcd, major 25
Configuratiebestand:sbpcd.h
Kernel config optie:Matsushita/Panasonic CDROM support
Documentatiebestand:sbpcd

Deze driver accepteert een kernelopdrachtregel in de vorm:

sbpcd=<io-address>,<interface-type>

waar de eerste parameter het basisadres van het device is (b.v. 0x230), en <interface-type> één van "SoundBlaster", "LaserMate", of "SPEA". Zie het bestand sbpcd.h voor aanwijzigingen welk type interface te gebruiken. Het gebruik van sbpcd=0 deactiveert auto-probing, de driver deactiverend.

Het apparaatbestand kan worden aangemaakt met:

# mknod /dev/sbpcd b 25 0

Er worden vier drives per controller ondersteund. De volgende drie drives op de eerste controller moeten de devicenummers 1 tot en met 3 gebruiken. Maak devices met majornummers 26, 27, en 28 aan tot aan een maximum van 4 controllers, als je meer dan één controller hebt. (dit zijn 16 CD-ROM stations in totaal; hopelijk voor de meeste gebruikers genoeg :-).

Zie het bestand sbpcd voor meer informatie over deze driver.

Als je onlangs een CD-ROM station kocht, veronderstel dan niet dat het deze kerneldriver gebruikt als het verbonden is met een SoundBlaster kaart. De meeste CD-ROM stations die door Creative Labs worden verkocht, zijn nu EIDE/ATAPI drives.

Sonycdu535 Driver

Voornaamste auteur:Ken Pizzini (ken@halcyon.com)
Multiple drive support:nee
Laadbare module support:ja
Lezen van audio frames:nee
Auto-probing:nee
Devicebestand:/dev/sonycd535, major 24
Configuratiebestand:sonycd535.h
Kernel config optie:Sony CDU535 CDROM support
Documentatiebestand:sonycd535

Deze driver accepteert een kernelopdrachtregel in de vorm:

sonycd535=<io-address>

waar <io-address> het basisadres is van de controller (b.v. 0x320). Als alternatief kun je het adres in het bestand sonycd535.h instellen en het compileren.

Het apparaatbestand kan worden aangemaakt met:

# mknod /dev/sonycd535 b 24 0

Een aantal Linux distributies gebruikt /dev/sonycd voor dit device. Oudere versies van de driver gebruikten major devicenummer 21; zorg dat je apparaatbestand juist is.

Deze driver werd voorheen als een patch gedistribueerd, maar maakt nu onderdeel uit van de standaardkernel. Zie het bestand sonycd535 voor meer informatie over deze driver.

Cdu31a Driver

Voornaamste auteur:Corey Minyard (minyard@-rch.cirr.com)
Multisessie support:ja
Multiple drive support:nee
Laadbare module support:ja
Lezen van audio frames:ja
Auto-probing:nee
Devicebestand:/dev/cdu31a, major 15
Configuratiebestand:cdu31a.h
Kernel config optie:Sony CDU31A/CDU33A CDROM support
Documentatiebestand:cdu31a

Deze driver accepteert een kernelopdrachtregel in de vorm:

cdu31a=<io-address>,<interrupt>,PAS

Het eerste nummer is het I/O basisadres van de kaart (b.v. 0x340). De tweede is het te gebruiken interruptnummer (0 betekent het gebruik van polled i/o). De optionele derde parameter zou "PAS" moeten zijn als de drive is aangesloten op een Pro-Audio Spectrum 16 geluidskaart en moet anders leeg worden gelaten.

Als de driver als een module is geladen, dan gebruikt het een iets ander formaat. Wanneer de driver met behulp van de opdracht modprobe of insmod wordt geladen, dan worden de parameters opgegeven in de vorm:

cdu31a_port=<io-address> cdu31a_irq=<interrupt>

Het basis io-adres is vereist terwijl het interruptnummer optioneel is.

Het apparaatbestand kan worden aangemaakt met:

# mknod /dev/cdu31a b 15 0

Zie het bestand cdu31a voor meer informatie over deze driver.

Aztcd Driver

Voornaamste auteur:Werner Zimmermann (zimmerma@rz.fht-esslingen.de)
Multisessie support:ja
Multiple drive support:nee
Laadbare module support:ja
Lezen van audio frames:nee
Auto-probing:nee
Devicebestand:/dev/aztcd0, major 29
Configuratiebestand:aztcd.h
Kernel config optie:Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support
Documentatiebestand:aztcd

Deze driver accepteert een kernelopdrachtregel in de vorm:

aztcd=<io-address>

waar de parameter het I/O basisadres is van de kaart (b.v. 0x340).

Het apparaatbestand kan worden aangemaakt met:

# mknod /dev/aztcd0 b 29 0

Deze driver is alleen bestemd voor de CDA268-01A. Andere modellen waaronder de CDA268-03I en CDA269-031SE zijn niet gepatenteerd en zouden gebruik moeten maken van de IDECD (ATAPI) kerneldriver.

Zie het bestand aztcd voor meer informatie over deze driver.

Gscd Driver

Voornaamste auteur:Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de)
Multisessie support:nee
Multiple drive support:nee
Laadbare module support:ja
Lezen van audio frames:nee
Auto-probing:nee
Devicebestand:/dev/gscd0, major 16
Configuratiebestand:gscd.h
Kernel config optie:Goldstar R420 CDROM support
Documentatiebestand:gscd

Deze driver accepteert een kernelopdrachtregel in de vorm:

gscd=<io-address>

het I/O basisadres van de kaart aangevend (b.v. 0x340).

Het apparaatbestand kan worden aangemaakt met:

# mknod /dev/gscd0 b 16 0

Zie het bestand gscd voor meer informatie over deze driver.

Mcd Driver

Voornaamste auteur:Martin (martin@bdsi.com)
Multisessie support:nee
Multiple drive support:nee
Laadbare module-support:ja
Lezen van audio frames:nee
Auto-probing:nee
Devicebestand:/dev/mcd, major 23
Configuratiebestand:mcd.h
Kernel config optie:Standaard Mitsumi CDROM support
Documentatiebestand:mcd

Dit is de oudere driver voor Mitsumi drivers welke een tijdje beschikbaar was. Wellicht dat je de nieuwere mcdx driver wilt proberen, die een aantal nieuwe features bevat, maar mogelijk minder stabiel is.

Deze driver accepteert een kernelopdrachtregel in de vorm:

mcd=<io-address>,<irq>

het I/O basisadres van de kaart aangevend (b.v. 0x340) en het gebruikte IRQ nummer.

Het apparaatbestand kan worden aangemaakt met:

# mknod /dev/mcd b 23 0

Zie het bestand mcd voor meer informatie over deze driver.

Mcdx Driver

Voornaamste auteur:Heiko Schlittermann
Multisessie support:ja
Multiple drive support:ja
Laadbare module support:ja
Lezen van audio frames:nee (niet ondersteund door hardware)
Auto-probing:nee
Devicebestand:/dev/mcdx0, major 20
Configuratiebestand:mcdx.h
Kernel config optie:Experimentele Mitsumi support
Documentatiebestand:mcdx

Dit is een nieuwere driver voor Mitsumi drivers. De oudere en mogelijk stabielere mcd driver is nog steeds beschikbaar.

Deze driver accepteert een kernelopdrachtregel in de vorm:

mcdx=<io-address>,<irq>

het I/O basisadres van de kaart aangevend (b.v. 0x340) en het gebruikte IRQ nummer.

Het apparaatbestand kan worden aangemaakt met:

# mknod /dev/mcdx0 b 20 0

Als je pas geleden een Mitsumi CD-ROM station kocht, veronderstel dan niet dat het deze kerneldriver zou moeten gebruiken. Nieuwe Mitsumi drives zijn nu EIDE/ATAPI compatibel en zouden in plaats daarvan de idecd kerneldriver moeten gebruiken.

Zie het bestand mcdx voor meer informatie over deze driver.

Cm206 Driver

Voornaamste auteur:David A. van Leeuwen (david@tm.tmo.nl)
Multisessie support:ja
Multiple drive support:nee
Laadbare module support:ja
Lezen van audio frames:nee
Auto-probing:ja
Devicebestand:/dev/cm206cd, major 32
Configuratiebestand:cm206.h
Kernel config optie:Philips/LMS CM206 CDROM support
Documentatiebestand:cm206

De driver accepteert een kernelopdrachtregel in de vorm:

cm206=<io-address>,<interrupt>

waar het eerste nummer het I/O basisadres is van de kaart (b.v. 0x340). De tweede is het interruptkanaal.

Het apparaatbestand kan worden aangemaakt met:

# mknod /dev/cm206cd b 32 0

Zie het bestand cm206 voor meer informatie over deze driver.

Optcd Driver

Voornaamste auteur:Leo Spiekman (spiekman@dutette.et.tudelft.nl)
Multisessie support:ja
Multiple drive support:nee
Laadbare module support:ja
Lezen van audio frames:nee
Auto-probing:nee
Devicebestand:/dev/optcd0, major 17
Configuratiebestand:optcd.h
Kernel config optie:Experimentele Optics Storage ... CDROM support
Documentatiebestand:optcd

De driver accepteert een kernelopdrachtregel in de vorm

optcd=<io-address>

om het I/O basisadres op te geven van de kaart (b.v. 0x340).

Het apparaatbestand kan worden aangemaakt met:

# mknod /dev/optcd0 b 17 0

Zie het bestand optcd voor meer informatie over deze driver.

Sjcd Driver

Voornaamste auteur:Vadim V. Model (vadim@rbrf.msk.su)
Multisessie support:nee
Multiple drive support:nee
Laadbare module support:ja
Lezen van audio frames:nee
Auto-probing:nee
Devicebestand:/dev/sjcd, major 18
Configuratiebestand:sjcd.h
Kernel config optie:Experimentele Sanyo H94A CDROM support
Documentatiebestand:sjcd

De driver accepteert een kernelopdrachtregel in de vorm:

sjcd=<io-address>,<interrupt>,<dma>

het te gebruiken basisadres, het interrupt en DMA kanaal aangevend (b.v. sjcd=0x340,10,5).

Het apparaatbestand kan worden aangemaakt met:

# mknod /dev/sjcd b 18 0

Zie het bestand sjcd voor meer informatie over deze driver.

Paride Driver

Voornaamste auteur:Grant R. Guenther (grant@torque.net)
Multisessie support:nee
Multiple drive support:ja
Laadbare module support:ja
Lezen van audio frames:nee
Auto-probing:ja
Devicebestand:/dev/pcd0, major 46
Configuratiebestand:bpcd.h
Kernel config optie:parallelle poort IDE device support
Documentatiebestand:paride.txt

Dit is de driver voor diverse typen opslagdevices die zijn aangesloten op een parallelle poort. Normaal gesproken zal de driver het parallelle poort device automatisch detecteren. De documentatie beschrijft de parameters die kunnen worden gebruikt om de device parameters te specificeren als de auto-detectie niet werkt.

Het apparaatbestand voor de eerste drive kan worden aangemaakt met:

# mknod /dev/pcd0 b 46 0

Zie het bestand /usr/src/linux/Documentation/paride.xt voor meer informatie over deze driver. Deze driver vervangt de bpcd driver die in oudere kernels aanwezig was.

SCSI Driver

Voornaamste auteur:David Giller
Multisessie support:ja (afhankelijk van de drive)
Multiple drive support:ja
Laadbare module support:ja
Lezen van audio frames:nee
Auto-probing:ja
Devicebestand:/dev/scd0, major 11
Configuratiebestand:cdrom.h
Kernel config optie:SCSI CDROM support
Documentatiebestand:scsi.txt

Er zijn kernelopdrachtregelopties specifiek voor elk type SCSI controller. Zie de SCSI HOWTO voor meer informatie.

Er worden meerdere drives ondersteund (tot aan het limiet van het maximum aantal devices op de SCSI-bus). Maak apparaatbestanden aan met majornummer 11 en minornummers beginnend bij nul:

# mknod /dev/scd0 b 11 0
# mknod /dev/scd1 b 11 1

Ondanks dat de kerneldriver zelf het lezen van digitale audio frames niet ondersteunt, heeft een aantal SCSI-drives die mogelijkheid wel en werken die onder het programma cdda2wav (welke gebruik maakt van een generic SCSI-kernelinterface).

Zie ook de bespreking van de IDE SCSI emulatie driver eerder in dit document.

IDECD Driver

Voornaamste auteur:Scott Snyder (snyder@fnald0.fnal.gov)
Multisessie support:ja
Multiple drive support:ja
Laadbare module support:nee
Lezen van audio frames:ja (op ondersteunde drives)
Auto-probing:yes
Devicebestand:/dev/hd{a,b,c,d}, major 22
Configuratiebestand:cdrom.h
Kernel config optie:Bevat ondersteuning voor IDE/ATAPI CDROM's
Documentatiebestand:ide-cd

Dit is de driver voor ATAPI CD-ROM's. De driver accepteert een kernelopdrachtregel in de vorm

hdx=cyls,heads,sects,wpcom,irq
  of
hdx=cdrom

waar hdx één van [hda,hdb,hdc,hdd] kan zijn, of simpelweg hd, voor de "volgende" drive in de reeks. Alleen de eerste drie parameters zijn vereist (cyls,heads,sects). Bijvoorbeeld hdc=1050,32,64 hdd=cdrom.

Het kan lastig zijn de IDE-driver je CD-ROM te laten herkennen, vooral als je meer dan 2 of meer devices of meer dan één IDE controller hebt. Gewoonlijk hoef je alleen de juiste opdrachtregelopties aan LILO door te geven. In het bestand /usr/src/linux/Documentation/cdrom/ide-cd wordt dit uitgelegd. Lees dit zorgvuldig door.

Recente Linux kernels bieden betere ondersteuning voor meerdere IDE-devices. Als je problemen ondervindt bij een oudere kernel, kan een upgrade helpen.

Bij een aantal IDE controllers doen zich problemen voor welke de kerneldriver kan omzeilen. Wellicht dat je extra parameters moet doorgeven aan de driver om dit te activeren. Zie de documentatie voor details.

De Linux kernel booten

Je kunt nu het systeem opnieuw opstarten met de nieuwe kernel. Kijk uit naar een melding zoals het volgende, welke aangeeft dat de CD-ROM werd aangetroffen door de device driver (de melding zal variëren afhankelijk van het type drive):

hdd: TOSHIBA CD-ROM XM-7002B, ATAPI CD/DVD-ROM drive

Als de opstartmeldingen te snel voorbij scrollen waardoor je ze niet kunt lezen, dan moet het mogelijk zijn ze op te halen met behulp van dmesg of tail /var/log/messages.

Als de drive niet werd aangetroffen, dan heeft een probleem plaatsgevonden. Zie de sectie over probleemoplossing.

Mounten, unmounten en uitwerpen van devices

Doe een dics in de drive en geef de opdracht mount als root om een CD-ROM te mounten (hierbij wordt verondersteld dat je een symbolische link naar je apparaatbestand hebt aangemaakt zoals eerder aanbevolen en dat een lege directory met de naam /mnt/cdrom voorkomt):

# mount -t iso9660 -r /dev/cdrom /mnt/cdrom

De CD kan nu worden benaderd onder de directory /mnt/cdrom.

Er zijn andere opties voor de mount opdracht die je wellicht wenst te gebruiken; zie de mount(8) man page voor details.

Je kunt een regel toevoegen aan /etc/fstab om automatisch een CD-ROM te mounten wanneer Linux opstart of om parameters op te geven die moeten worden gebruikt wanneer het wordt gemount; zie de fstab(5) man page.

Probeer audio-CD's niet te mounten als je ze af wilt spelen.

Gebruik de opdracht umount als root om een CD-ROM te unmounten:

# umount /mnt/cdrom

De disc kan alleen worden losgekoppeld van het bestandssysteem als er geen processen zijn die thans de drive benaderen (waaronder de standaarddirectory ingesteld op de gemounte drive). Je kunt de disc dan uitwerpen. De meeste discs zijn voorzien van een uitwerpknop; er bestaat ook nog een standalone eject programma waarmee onder de besturing van software CD-ROM's kunnen worden uitgeworpen.

Werp een disc niet uit als het is gemount (dit kan afhankelijk van het type drive wel of niet mogelijk zijn). Een aantal CD-ROM drivers kan een CD-ROM automatisch uitwerpen als het wordt losgekoppeld van het bestandssysteem en de CD-lade dichtdoen wanneer een disc wordt gemount (je kunt deze feature uitzetten bij het compileren van de kernel of met behulp van een softwarematige opdracht).

Het is mogelijk dat na het afspelen van een audio-CD je geen CD-ROM kunt mounten. Je moet een CD-audio "stop" opdracht versturen (met een CD-speler programma) voor je probeert te mounten. Dit probleem doet zich alleen voor bij de SBPCD-driver.

Recente kernels ondersteunen een op de kernel gebaseerde automounter die voorziet in het transparant mounten van verwijderbare media waaronder CD-ROM's. Je kunt de benodigde tools vinden op ftp://ftp.kernel.org/pub/linux/daemons/autofs/.

Probleemoplossing

Als je nog steeds problemen ondervindt na het opvolgen van de instructies in deze HOWTO, dan zijn hier nog een aantal controles die je uit kunt voeren. De controles staan in oplopende volgorde van complexiteit. Als een controle mislukt, dan moet je het probleem eerst oplossen voordat je verdergaat naar de volgende fase.

Stap 1: Zorg dat je werkeljk de door jou gecompileerde kernel draait

Je kunt de datumstempel van de kernel controleren om te bezien of je die kernel draait die je compileerde met ondersteuning voor je CD-ROM. Je kunt dit doen met de opdracht uname:

% uname -a
Linux moe 2.4.4 #1 Sat Apr 28 10:30:45 EDT 2001 i686 unknown  

of door het weergeven van het bestand /proc/version:

% cat /proc/version
Linux version 2.4.4 (root@moe) (gcc version 2.95.2 20000220 (Debian GNU/Linux)) #1 Sat Apr 28 10:30:45 EDT 2001

Als de datumstempel niet overeenkomt met de datum dat je de kernel compileerde, dan is een oude kernel actief. Dacht je eraan om je systeem te herstarten? Als je gebruik maakt van LILO, installeerde je het dan opnieuw (typisch door de uitvoering van /sbin/lilo)? Als je van diskette boot, heb je dan een nieuwe opstartdiskette aangemaakt en deze gebruikt om te booten?

Stap 2: Zorg dat de juiste kerneldrivers zijn meegecompileerd

Je kunt zien welke drivers zijn meegecompileerd door /proc/devices te bekijken:

% cat /proc/devices
Character devices:
 1 mem
 2 pty
 3 ttyp
 4 ttyS
 5 cua
 7 vcs

Block devices:
 3 ide0
22 ide1

Zoek als eerste naar de devicedriver van je CD-ROM. Dit zijn allen block devices. In dit geval zien we dat de idecd driver met majornummer 22 aanwezig is.

Zorg ook dat de ondersteuning voor het ISO-9660 bestandssysteem werd meegecompileerd. Controleer dit door /proc/filesystems te bekijken:

% cat /proc/filesystems
        ext2
nodev   proc
nodev   devpts
        vfat
        iso9660

Je kunt ook zien welke i/o poortadressen door een driver worden gebruikt. Deze informatie is te vinden in het bestand /proc/ioports:

howto % cat /proc/ioports
 ...
0230-0233 : sbpcd
 ...

Als een van de drivers waarvan je dacht dat deze zou worden meegecompileerd, niet wordt weergegeven, dan is er iets verkeerd gegaan bij de kernelconfiguratie of het compileren van de kernel. Start het installatieproces opnieuw, beginnend met de configuratie en het compileren van de kernel.

Stap 3: Detecteerde de kernel het station tijdens het booten?

Kijk na of het CD-ROM station werd gedetecteerd toen de kernel werd geboot. Je zou hiervan een melding moeten hebben gezien tijdens het booten. Als de meldingen van het scherm scrollde, dan kun je ze gewoonlijk herroepen met de opdracht dmesg:

% dmesg

of

% tail /var/log/messages

Als je drive niet werd aangetroffen dan is er iets mis. Zorg dat deze aan staat (en stroom krijgt) en alle kabels verbonden zijn. Controleer op de juiste instelling van de hardwarejumpers als deze zich op de drive bevinden (b.v. drive 0 als je slechts één drive heb). ATAPI CD-ROM stations moeten worden gejumperd als "single" of "master", en niet als "slave" wanneer slechts één IDE device is aangesloten op een interface. Als de drive onder DOS werkt dan kun je er redelijk zeker van zijn dat de hardware functioneert.

Veel kerneldrivers maken gebruik van auto-probing, maar een aantal doet dit ook niet, en in ieder geval is de probing niet altijd betrouwbaar. Gebruik de kernelopdrachtregeloptie weergegeven voor je type kerneldriver. Wellicht dat je verschillende waarden kunt proberen als je niet zeker bent van het i/o adres of één van de andere parameters. LILO kan zo worden geconfigureerd (en gewoonlijk is dit ook zo) dat je de parameters tijdens het booten met de hand kunt opgeven.

Een andere mogelijkheid is dat je de verkeerde kerneldriver voor je CD-ROM driver gebruikt. In sommige documentatie wordt naar gepatenteerde interfaces gerefereerd als IDE, wat een aantal onjuist kan doen geloven dat het ATAPI drives zijn.

Een andere mogelijkheid is dat je drive (of interfacekaart) één van de "compatibele" types is waarvoor initialisatie door de DOS-driver noodzakelijk is. Probeer in DOS te booten en laadt de door de leverancier geleverde DOS devicedriver. Vervolgens moet je middels een Control-Alt-Delete Linux booten.

Wanneer je drive niet in dit document is weergegeven, dan is het mogelijk dat er geen drivers voor onder Linux beschikbaar zijn. Je kunt dit controleren met een aantal referenties die aan het einde van dit document zijn weergegeven.

Stap 4: Kun je gegevens van de drive lezen?

Probeer te lezen van het CD-ROM station. Het typen van de volgende opdracht zou ervoor moeten zorgen dat de led (als deze aanwezig is) op de drive oplicht en er geen fouten worden gemeld. Gebruik het apparaatbestand dat van toepassing is op je drive en zorg dat er zich een CD-ROM in de drive bevindt; gebruik Control-C om te stoppen.

# dd if=/dev/cdrom of=/dev/null bs=2048
^C
124+0 records in
124+0 records out

Als dit werkt dan communiceert de kernel met de drive en kun je verdergaan met stap 5.

Zo niet, dan is een mogelijke oorzaak het apparaatbestand. Zorg dat het apparaatbestand in de directory /dev het correcte major- en minornummer heeft zoals eerder aangegeven voor je type drive. Ga na of de permissies op het apparaatbestand lezen en schrijven toestaat.

Een mogelijkheid is een hardware probleem. Probeer zo mogelijk de drive te testen onder een ander besturingssysteem om vast te stellen of dit het geval zou kunnen zijn.

Stap 5: Kun je de drive mounten?

Wanneer je wel van de drive kunt lezen maar het niet kunt mounten, moet je eerst verifiëren dat je de ondersteuning voor het ISO-9660 bestandssysteem hebt gecompileerd door het inlezen van /proc/filesystems, zoals eerder werd beschreven.

Zorg dat je het station mount met de opties "-t iso9660" en "-r" en met een ISO-9660 CD-ROM in het station waarvan bekend is dat deze goed is (geen Audio CD). Je moet drives normaal gesproken als root mounten.

Zorg dat het mountpoint bestaat en dat het een lege directory is.

Zorg dat je de juiste regels in het bestand /etc/fstab hebt staan als je de CD-ROM tijdens de systeemstart automatisch mount.

Als je de syslog daemon draait, dan kan het zijn dat er foutmeldingen van de kernel aan het oog worden onttrokken. Probeer de opdracht "dmesg":

% dmesg
SBPCD: sbpcd_open: no disk in drive

Afhankelijk van hoe je systeem is geconfigureerd, kunnen er foutmeldingen zijn gelogd naar bestanden in /var/log,

Fouten opsporen bij audio-problemen

Als het station wel goed werkt met CD-ROM's, maar niet voor het afspelen van audio-CD's, dan zijn hier een aantal mogeljke oplossingen.

Je hebt een toepassingsprogramma nodig om audio-CD's af te spelen. Een aantal toepassingen kan gebrekkig zijn of niet compatibel met je drive. Probeer een andere toepassing en/of probeer ze zelf te compileren. Een prima plek om naar software te zoeken is ftp://www.ibiblio.org/pub/Linux/apps/sound/cdrom/.

Een paar van de CD-ROM stations ondersteunt het afspelen van audio-CD's niet. Kijk in het documentatiebestand of de broncode of dit het geval is.

Ga na of de audio kan worden afgespeeld via de hoofdtelefooningang. Zo ja, dan heeft het probleem naar alle waarschijnlijkheid te maken met je geluidskaart. Gebruik een mixerprogramma om het invoerdevice en het volumeniveau in te stellen. Zorg dat je een audio-kabel hebt geïnstalleerd die is verbonden van het CD-ROM station naar de geluidskaart. Zorg dat de kerneldriver voor de geluidskaart is geïnstalleerd en werkt (zie de Sound HOWTO).

Wanneer al het andere niet lukt

Hier zijn nog een aantal laatste uit te proberen suggesties als er zich nog steeds problemen voordoen:

  • lees nogmaals zorgvuldig deze HOWTO door

  • lees de referenties opgesomd aan het einde van dit document, vooral de relevante kernel bronbestanden

  • post een vraag naar één van de comp.os.linux of andere Usenet nieuwsgroepen

  • stuur een vraag naar de Linux mailing list

  • probeer de laatste Linux kernel

  • neem contact op met de leverancier van je computer

  • neem contact op met de fabrikant van de CD-ROM

  • stuur een mail naar de beheerder van de relevante kerneldriver (kijk in het bestand /usr/src/linux/MAINTAINERS)

  • stuur mij een mail

  • start emacs op en typ Esc-x doctor :-)