De Linux CD-ROM HOWTO

Jeff Tranter

tranter@pobox.com

Vertaald door: Ellen Bokhorst

bokkie@nl.linux.org

In dit document wordt beschreven hoe CD-ROM stations onder Linux te installeren, configureren en gebruiken. Er wordt een opsomming gegeven van de ondersteunde hardware en er wordt antwoord gegeven op een aantal veelgestelde vragen. De bedoeling is nieuwe gebruikers snel op weg te helpen en de hoeveelheid verkeer in de Usenet nieuwsgroepen en mailinglijsten te verminderen.

Inhoudsopgave

1. Introductie............................................................................................................................................................1 2. CD-ROM technologie ...........................................................................................................................................2 3. Ondersteunde Hardware.......................................................................................................................................3 4. Installatie .............................................................................................................................................................6 5. Applicaties.......................................................................................................................................................... 22 6. Antwoorden op veelgestelde vragen.................................................................................................................... 24 7. Referenties.......................................................................................................................................................... 30

1. Introductie

Dit is de Linux CD-ROM HOWTO. Het is bedoeld als een snelle referentie waarin alles wordt behandeld wat je moet weten over de installatie en configuratie van CD-ROM hardware onder Linux. Er wordt antwoord gegeven op veelgestelde vragen gerelateerd aan CD-ROM’s en er worden referenties gegeven naar andere informatiebronnen gerelateerd aan CD-ROM toepassingen en de technologie daaromtrent.

1.1. Erkenningen

Veel van deze informatie is rechtstreeks afkomstig uit de documentatie- en bronbestanden die worden meegeleverd met de Linux kernel, de Internet alt.cdrom (news:alt.cd-rom) nieuwsgroep FAQ, en inbreng van Linux gebruikers.

Met dank aan de DocBook (http://www.docbook.org) tools. Deze HOWTO is in verscheidene formaten beschikbaar, allen gegenereerd vanuit een algemeen bronbestand.

1.2. Nieuwe versies van dit document

Nieuwe versies van dit document zullen periodiek worden gepost naar de nieuwsgroep comp.os.linux.answers (news:comp.os.linux.answers). Hypertextversies van deze en andere Linux HOWTO’s zijn beschikbaar op vele world-wide websites, waaronder http://www.linuxdoc.org (http://www.linuxdoc.org/). De HOWTO’s worden in de meeste Linux CD-ROM distributies opgenomen, vaak te vinden onder de directory /usr/doc. Bovendien kun je bij diverse leveranciers gedrukte kopiëen kopen. Soms zijn de HOWTO’s beschikbaar bij leveranciers van CD-ROM’s, op ftp-sites, en in afgedrukt formaat verouderd. Als de vermelde datum in deze HOWTO ouder is dan zes maanden geleden, dan is op Internet waarschijnlijk een nieuwere kopie beschikbaar.

Houd alsjeblieft in de gaten, dat door de aard van het Internet, alle web en ftp-links die in dit document worden gegeven, onderworpen zijn aan wijzigingen.

Dit document is in verscheidene talen verkrijgbaar:

Chinees: http://www.linux.org.tw/CLDP/CDROM-HOWTO.html

Frans: http://www.freenix.org/unix/linux/HOWTO/

Duits: http://www.tu-harburg.de/dlhp/HOWTO/DE-CDROM-HOWTO.html

Koreaans: http://kldp.org/HOWTO/html/CDROM/CDROM-HOWTO.html

Japans: http://www.linux.or.jp/JF/JFdocs/CDROM-HOWTO.html

Pools: http://www.jtz.org.pl/Html/CDROM-HOWTO.pl.html

Spaans: ftp://ftp.insflug.org/es

Zweeds: ftp://ftp.hig.se/pub/linux/swe-doc/

De meeste vertalingen van deze en andere Linux HOWTO’s zijn ook te vinden op http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/. Wanneer je dit document vertaalt naar een andere taal, laat me dit dan weten zodat ik er hier een verwijzing naar in op kan nemen.

1.3. Feedback

Ik reken op jullie, als lezer, deze HOWTO nuttig te maken. Als je suggesties, correcties of opmerkingen hebt, mail deze dan alsjeblieft naar tranter@pobox.com (mailto:tranter@pobox.com), en ik zal proberen ze in de volgende revisie op te nemen.

Ik ben ook bereid zo goed ik kan algemene vragen over CD-ROM’s onder Linux te beantwoorden. Lees alsjeblieft alle informatie in deze HOWTO, voor je hier echter toe overgaat, en stuur me dan gedetailleerde informatie over het probleem. Stel me alsjeblieft geen vragen over het gebruik van CD-ROM stations onder andere besturingssystemen dan Linux.

Als je dit document op een CD-ROM of in papieren formaat publiceert, wordt een kopie van het presentexemplaar gewaardeerd; mail me om mijn postadres. Overweeg ook een donatie aan het Linux Documentatie Project om te helpen vrije documentatie voor Linux te ondersteunen. Neem contact op met de LDP via feedback@linuxdoc.org (mailto:feedback@linuxdoc.org) voor meer informatie.

1.4. Distributiebeleid

Copyright (c) 1995-2001 door Jeff Tranter. Het is toegestaan dit document onder de voorwaarden van de GNU Free Documentation License, versie 1.1 of enige latere versie gepubliceerd door de Free Software Foundation te kopiëren, distribueren en/of aan te passen; zonder Invariant Sections, zonder Front-Cover Texts, en zonder Back-Cover Texts. Een kopie van de licentie is beschikbaar op http://www.gnu.org/copyleft/fdl.html

2. CD-ROM technologie

"CD-ROM is read-only memory, and audio compact disc system is available as package-media of digital data for those purpose. For playing audio CD, please insert Head-phone jack."

—uit een CD-ROM instructiehandleiding

Geen paniek! De wereld van CD-ROM technologie is niet zo verwarrend als je instructiehandleiding.

CD-ROM staat voor Compact Disc Read-Only Memory, een massa-opslagmedium waarbij een optische laser wordt aangewend om microscopische putjes op de aluminium laag van een polycrabonaat disc te lezen. Hetzelfde formaat wordt gebruikt voor audio Compact Discs. Vanwege zijn hoge opslagcapaciteit, betrouwbaarheid, en lage kosten, is de CD-ROM een steeds populairder opslagmedium geworden.

De opslagcapaciteit van een CD-ROM disc benadert de 650 megabytes, equivalent aan meer dan 500 high density 3.5" diskettes of grofweg 250,000 getypte pagina’s.

De eerste generatie stations (bekend als single speed), voorzag in een transportsnelheid van bij benadering 150 kilobytes per seconde. Hardwarefabrikanten introduceerden vervolgens double speed (300 kB/sec), quad speed (600 kB/sec) en meer. Huidige stations werken op tot 40 maal die snelheid, alhoewel de maximumsnelheid slechts te bereiken is over bepaalde delen van het discoppervlak.

De meeste CD-ROM stations gebruiken of de Small Computer Systems Interface (SCSI), ATAPI enhanced IDE interface, of een leveranciers-eigen interface. Ze ondersteunen ook het afspelen van audio-CD’s via een externe hoofdtelefoonplug of line level output. De meeste drives kunnen ook de frames met data van audio-CD’s in digitale vorm inlezen.

CD-ROM’s worden gewoonlijk geformatteerd met een ISO-9660 (voorheen genaamd High Sierra) bestandssysteem. Dit formaat beperkt bestandsnamen tot de MS-DOS stijl (8+3 tekens). De Rock Ridge Extensies gebruiken ongedefinieerde velden in de ISO-9660 standaard om langere bestandsnamen en extra informatie in de stijl van Unix (b.v. eigenaar van het bestand, symbolische links, enz.) te ondersteunen. Microsoft heeft een eigen uitbreiding op het ISO bestandssysteem gedefinieerd met de naam Joliet. Joliet ondersteunt lange bestandsnamen waarbij het gebruik maakt van de 16-bit UNICODE tekencodering.

PhotoCD is een standaard ontwikkeld door Kodak voor het opslaan van fotografische afbeeldingen zoals digitale gegevens op een CD-ROM. Met de juiste software kun je de afbeeldingen op een computer bekijken, ze manipuleren, of naar een printer sturen. Informatie kan op een later tijdstip aan een PhotoCD worden toegevoegd; dit staat bekend als multi-sessie.

CD recordable (CD-R) stations maken het je mogelijk een speciale "gold" CD te beschrijven. De CD kan dan door elke CD-ROM worden gelezen. Gegevens kunnen slechts eenmaal worden geschreven, alhoewel met het gebruik van multi-sessie nieuwe data aan de disc kan worden toegevoegd.

CD-RW (rewritable) discs kunnen worden opgeschoond en weer worden herschreven met nieuwe data. Ze maken gebruik van speciale discs die door de meeste recente CD-ROM stations kunnen worden gelezen (maar niet met de oudere stations of meeste audio CD-spelers).

DVD-ROM breidt de opslag van een CD uit tot wel 17 gigabytes. Ze worden gewoonlijk gebruikt als medium voor het distribueren van bewegende beelden gecodeerd in het MPEG-2 formaat. De MPEG videocodering wordt uitgevoerd door gebruik te maken van gespecialiseerde coderingssoftware en/of hardware. DVD-RAM is een beschrijfbare versie van DVD.

3. Ondersteunde Hardware

In deze sectie worden de CD-ROM drivers en interfaces opgesomd die thans onder Linux worden ondersteund. De informatie hier is gebaseerd op de laatste stabiele Linux kernel, wat tijdens dit schrijven versie 2.4.4. was.

Deze informatie is van toepassing op Linux op het Intel x86 platform. Veel ervan is tevens toepasbaar voor Linux onder andere processorarchitecturen.

3.1. ATAPI CD-ROM stations

ATAPI (ATA Packet Interface) is een protocol voor het besturen van massa-opslagdevices. Het bouwt voort op de ATA (AT Attachment) interface, de officiële ANSI standaardnaam voor de IDE-interface ontwikkeld voor harddisk drives. ATAPI wordt gewoonlijk gebruikt voor harddisks, CD-ROM stations, tape-drives en andere apparaten. Thans het populairste type interface biedt het de meeste functionaliteit van SCSI, zonder de noodzaak van een dure controller of kabels.

De Linux kernel heeft een device driver die met elk ATAPI compliant CD-ROM station zou moeten werken. Leveranciers die compatibele drives leveren zijn o.a. Aztech, Mitsumi, NEC, Sony, Creative Labs, en Vertos. Als je recentelijk een CD-ROM station hebt gekocht, en vooral als het een quad speed of sneller is, dan is het bijna zeker dat het een IDE/ATAPI is.

Linux heeft ook een IDE SCSI emulatie kerneldriver die ervoor zorgt dat een IDE/ATAPI device in software verschijnt als een SCSI-device, wat het mogelijk maakt een SCSI devicedriver te gebruiken in plaats van de native ATAPI-driver. Dit is handig als je een ATAPI device hebt, waarvoor geen native driver is geschreven (bijvoorbeeld voor een ATAPI PD-CD of CDR-drive); je kunt deze emulatie dan samen met een passende SCSI device-driver gebruiken.

3.2. SCSI CD-ROM stations

SCSI (Small Computer Systems Interface) is een populair formaat voor CD-ROM stations. Het voornaamste voordeel is de redelijk snelle transportsnelheid, de multi-device mogelijkheid, en ondersteuning voor een diversiteit aan computerplatforms. Een nadeel van SCSI is de noodzaak tot een relatief dure controllerkaart met kabels.

Elk SCSI CD-ROM station met een blokomvang van 512 of 2048 bytes zou onder Linux moeten werken; hieronder valt de meerderheid aan CD-ROM stations op de markt.

Je zult ook een ondersteunde SCSI controllerkaart nodig hebben; zie de Linux SCSI HOWTO (http://www.ibiblio.org/pub/Linux/docs/HOWTO/unmaintained/SCSI-HOWTO) voor meer informatie over interface hardware.

Een aantal oudere CD-ROM stations maakt gebruik van een eigen controller met een aangepaste interface die niet volledig compatibel is met SCSI (b.v. het ondersteunt wellicht geen toevoeging van andere SCSI-devices op de bus). Deze zullen naar alle waarschijnlijkheid niet onder Linux werken.

3.3. Gepatenteerde CD-ROM stations

Er zijn verscheidene CD-ROM stations beschikbaar die gebruik maken van gepatenteerde interfaces; in de interface wordt vaak voorzien op een geluidskaart. Tevens zijn simpele interfacekaarten beschikbaar equivalent aan die waarin is voorzien op de geluidskaart. Deze drives neigen gewoonlijk goedkoper en kleiner te zijn dan SCSI-drives. Het nadeel hiervan is het gebrek aan standaardisatie en uitbreidbaarheid.

Naar gepatenteerde interfaces wordt soms onjuist gerefereerd als IDE-interfaces, omdat ze in tegenstelling tot IDEharddisks een simpele interface gebruiken die is gebaseerd op de PC/AT bus. Om de verwarring nog wat groter te maken, heeft een aantal leveranciers verschillende typen CD-ROM stations geleverd en gepatenteerde SCSI- en ATAPI-interfaces op hun geluidskaarten geboden, waaronder opvallend die van Creative Labs.

In de tabel worden de gepatenteerde CD-ROM’s getoond waarvan bekend is dat ze onder Linux worden ondersteund. Drivers voor extra devices kunnen in de laatste ontwikkelaars kernels of als kernelpatches beschikbaar zijn. Die laatsten zijn vaak te vinden op ftp://www.ibiblio.org/pub/Linux/kernel/patches/cdrom/. Kijk voor de laatste informatie ook in de documentatiebestanden die met de kerneldistributie worden meegeleverd, gewoonlijk worden

deze geïnstalleerd in /usr/src/linux/Documentation/cdrom.

Leverancier Model Kernel Driver

Opmerkingen

Panasonic  CR-521  sbpcd  Opmerking 1

De Linux CD-ROM HOWTO

Leverancier Model Kernel Driver

Opmerkingen

Panasonic  CR-522  sbpcd  Opmerking 1
Panasonic  CR-523  sbpcd  Opmerking 1
Panasonic  CR-562  sbpcd  Opmerking 1
Panasonic  CR-563  sbpcd  Opmerking 1

Creative Labs CD-200

sbpcd

IBM  External ISA  sbpcd  Opmerking 2
Longshine  LCS-7260  sbpcd
Teac  CD-55A  sbpcd
Sony  CDU-31A  cdu31a
Sony  CDU-33A  cdu31a
Sony  CDU-535  sonycd535  Opmerking 3
Sony  CDU-531  sonycd535
Aztech  CDA268-01A  aztcd  Opmerking 4
Orchid  CDS-3110  aztcd

Okano/Wearnes CDD110

aztcd

Conrad  TXC  aztcd
CyCDROM  CR520ie  aztcd
CyCDROM  CR940ie  aztcd
GoldStar  R420  gscd  Opmerking 5
Philips/LMS  CM206  cm206  Opmerking 6

Mitsumi CRMC LU005S mcd/mcdx

Opmerking 7, 8

Mitsumi FX001 mcd/mcdx

Opmerking 7, 8

Optics Storage Dolphin 8000AT

optcd

Lasermate  CR328A  optcd
Sanyo  H94A  sjcd
various  various  isp16  Opmerking 9

Opmerkingen:

1. Deze stations kunnen zijn verkocht onder de naam Creative Labs, Panasonic, Matsushita, of Kotobuki.

2. Dit station is hetzelfde als een Panasonic CR-562.

3. Kan ook zijn verkocht onder de naam Procomm.

4. Deze driver is er alleen voor de CDA268-01A. Andere modellen waaronder de CDA268-03I en CDA269-031SE zijn niet gepatenteerd en hiervoor zou de IDECD (ATAPI) kerneldriver moeten worden gebruikt.

5. Kan ook zijn verkocht als onderdeel van een Reveal Multimedia Kit.

6. De Philips CM205 wordt niet door deze driver ondersteund, maar er is een aparte alpha release driver beschikbaar vanaf ftp://www.ibiblio.org in /pub/Linux/kernel/patches/cdrom/lmscd0.4.tar.gz

7. Kan ook zijn verkocht onder de naam Radio Shack.

8. Er zijn twee drivers beschikbaar. "mcd" is de oorspronkelijke driver en "mcdx" is een nieuwere driver met meer features (XA en multi-sessie ondersteuning).

9. Deze driver werkt met CD-ROM stations die zijn aangesloten op de interface op een ISP16, MAD16 of Mozart geluidskaart.

Als een hier weergegeven station niet door je kernel wordt ondersteund, dan moet je waarschijnlijk naar een nieuwere versie upgraden.

Als je drive niet tot één van de hier weergegeven modellen behoort, vooral als je het recent hebt gekocht en het een quad speed drive of snellere drive is, dan maakt het waarschijnlijk gebruik van de IDE/ATAPI interfaces zoals in de vorige sectie weergegeven. De enige meest voorkomende fout onder Linux CD-ROM gebruikers is te veronderstellen dat elke drive aangesloten op een SoundBlaster kaart gebruik maakt van de SBPCD driver. Creative Labs en de meeste andere leveranciers verkopen niet langer gepatenteerde interface drives, ze volgen de ATAPI/IDE interface standaard.

3.4. parallelle Poort Drives

Er bestaan externe opslagdevices, waaronder CD-ROM stations, die worden aangesloten op de parallelle poort van personal computers. In veel gevallen gebruiken de devices intern een IDE interface in combinatie met een adaptor welke de interne IDE bus met de PC parallelle poort koppelt.

Linux heeft een parallelle poort IDE driver die de meeste parallelle poort devices ondersteunt. Tijdens het schrijven van dit document ondersteunde het devices van de volgende leveranciers (als ook van de meeste no-name en kloondrives die hiermee compatibel zijn): ATEN, Avatar, DataStor, Fidelity International Technology, Freecom, Hewlett-Packard, Imation, KT Technology, KingByte Information Corp., Maxell, MicroSolutions, OnSpec, Shuttle Technology, SyQuest, en ValuStore.

Aanvullende informatie is te vinden op http://www.torque.net/parport/.

3.5. PCMCIA Drives

Met het gebruik van een PCMCIA SCSI of IDE adaptor kun je externe CD-ROM stations met een laptop verbinden. Zodra de passende PCMCIA kerneldriver is geïnstalleerd, zal de drive als enig andere IDE of SCSI-drive verschijnen.

Zie de Linux PCMCIA HOWTO (http://www.ibiblio.org/LDP/HOWTO/PCMCIA-HOWTO.html) voor meer informatie.

3.6. USB CD-ROM stations

De Universal Serial Bus heeft ondersteuning voor massa opslagdevices. USB CD-R en CD-RW drives zijn populair omdat ze snel en makkelijk tussen systemen kunnen worden verplaatst.

Je moet de kernel voor "USB Mass Storage support" configureren. Dit maakt dat USB opslagdevices verschijnen als SCSI, alhoewel ze geen gebruik maken van dezelfde apparaatbestanden. Zie de Linux USB HOWTO (http://www.dynamine.net/linux-usb/HOWTO) voor meer details.

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

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

4.2. 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 (http://www.linuxdoc.org/HOWTO/Installation-HOWTO/index.html) 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:

• om een CD-ROM station of andere hardware te ondersteunen

• om te upgraden naar een nieuwere kernelrelease

• om geheugenbronnen vrij te maken door het minimaliseren van de kernelomvang.

De Linux Kernel HOWTO (http://www.ibiblio.org/LDP/HOWTO/Kernel-HOWTO.html) 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 (http://www.ibiblio.org/LDP/HOWTO/Sound-HOWTO.html) 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 (http://www.ibiblio.org/LDP/HOWTO/Kernel-HOWTO.html).

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 (http://www.ibiblio.org/LDP/HOWTO/Kernel-HOWTO.html) 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.

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

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

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

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

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

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

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

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

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

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

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

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

4.3.12. 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 (ftp://www.ibiblio.org/pub/Linux/docs/HOWTO/unmaintained/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 SCSIdrives 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.

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

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

4.5. 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 (http://www.pobox.com/~tranter/eject.html) 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/.

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

4.6.1. 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?

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

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

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

4.6.5. 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,

4.6.6. 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 (http://www.ibiblio.org/LDP/HOWTO/Sound-HOWTO.html)).

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

5. Applicaties

In deze sectie wordt een beknopte opsomming gegeven van de vele applicaties gerelateerd aan CD-ROM’s die beschikbaar zijn onder Linux. Kijk in de Linux Software Map voor de laatste versies en archiefsites.

5.1. Audio CD-spelers

Er zijn verscheidene programma’s beschikbaar voor het afspelen van audio-CD’s, of via een hoofdtelefooningang of een aangesloten geluidskaart.

De Linux CD-ROM HOWTO

kscd

Een grafische CD-speler opgenomen als onderdeel van de KDE desktop environment. gtcd

Een grafische CD-speler opgenomen als onderdeel van de GNOME desktop environment. Workman

een grafische speler draaiend onder X11 en CD-database ondersteunend en nog vele andere features WorkBone

een interactieve tekstmodus speler xcdplayer

een simpele op X11 gebaseerde speler cdplayer

een zeer simpele opdrachtregelgeöriënteerde speler Xmcd

een op X11/Motif gebaseerde speler xmitsumi

een andere op X11 gebaseerde speler voor Mitsumi drives xplaycd

een andere op X11 gebaseerde speler, gebundeld met sound mixer en VU meter programma’s cdtool

opdrachtregeltools voor het afspelen van audio-CD’s

Een aantal van deze programma’s is zodanig gecodeerd dat gebruik wordt gemaakt van een specifiek apparaatbestand voor de CD-ROM (b.v. /dev/cdrom). Je kunt wellicht de correcte devicenaam als een parameter doorgeven, of je kunt een symbolische link in de directory /dev aanmaken. Wanneer de CD-uitvoer naar een geluidskaart wordt gezonden, dan wil je wellicht een mixerprogramma gebruiken om de volume-instellingen in te stellen of de CD-ROM invoer voor opname selecteren.

5.2. PhotoCD

PhotoCD’s gebruiken een ISO-9660 bestandssysteem met image bestanden in een eigen formaat. Het inlezen van PhotoCD’s wordt niet door alle CD-ROM stations ondersteund. Het programma hpcdtoppm geschreven door Hadmut Danisch converteert PhotoCD bestanden naar het portable pixmap formaat. Het kan worden verkregen vanaf ftp://ftp.gwdg.de/pub/linux/hpcdtoppm of als onderdeel van de PBM (portable bit map) utility’s, beschikbaar op veel archiefsites (zoek naar "pbm" of "netpbm"). Het programma photocd door Gerd Knorr (kraxel@cs.tu-berlin.de (mailto:kraxel@cs.tu-berlin.de)) kan PhotoCD images converteren naar Targa of Windows en OS/2 bitmap bestanden. Dezelfde auteur heeft het programma xpcd geschreven, een op X11 gebaseerd programma voor het omgaan met PhotoCD images. Je kunt de images met een muis selecteren, de image in een klein venster bekijken, en het image in één van de vijf mogelijke resoluties laden. Je kunt ook een deel van het image markeren en alleen het geselecteerde deel laden. Zoek naar dit package op ftp://ftp.cs.tu-berlin.de/pub/linux/Local/misc/.

Het ImageMagick image bestandsmanipulatieprogramma ondersteunt ook PhotoCD bestanden. Het is beschikbaar vanaf ftp://ftp.x.org/contrib/applications/ImageMagick/.

5.3. Mkisofs

Eric Youngdale’s mkisofs package staat het aanmaken van een ISO-9660 bestandssysteem toe op een harddiskpartitie. Dit kan dan worden gebruikt om te assisteren in het aanmaken en testen van CD-ROM bestandssystemen voordat het op discs wordt opgeslagen.

5.4. ISO-9660 utility’s

Dit zijn een aantal utility’s voor het verifiëren van het formaat van ISO-9660 geformatteerde discs; wellicht dat je ze handig vindt voor het testen van verdachte CD’s. Het package is te vinden op ftp://ftp.cdrom.com/pub/unixfreeware/archive/. Het werd geschreven door Bill Siegmund en Rich Morin.

6. Antwoorden op veelgestelde vragen

6.1. Hoe kan een niet-root gebruiker discs mounten en unmounten?

De meeste mount opdrachten ondersteunen de user optie. Als je een regel maakt zoals het volgende voor in het

bestand /etc/fstab:
/dev/sbpcd  /mnt/cdrom   iso9660     user,noauto,ro

dan zal een gewone gebruiker het station met deze opdrachten kunnen mounten en unmounten:

% mount /mnt/cdrom
% umount /mnt/cdrom

Standaard zal de disc worden gemount met een aantal opties die helpen bij het afdwingen van een zekere mate van beveiliging (b.v. programma’s die niet kunnen worden uitgevoerd, apparaatbestanden worden genegeerd). Als je dit te beperkend vindt, dan kun je extra opties gebruiken (b.v. de optie "exec" zal de uitvoering van programma’s activeren). Ze de mount(8) man page voor details.

Een andere methode is het ophalen van het package usermount waarmee niet-root gebruikers verwijderbare devices zoals diskettes en CD-ROM’s kunnen mounten en unmounten, maar de toegang tot andere devices (zoals harddiskpartities) beperkt. Het is beschikbaar op de grotere archiefsites.

Nog een andere optie is het gebruik van het programma sudo, waarmee gebruikers selectieve programma’s met root-privileges kunen uitvoeren.

6.2. Waarom krijg ik een ’device is busy’ wanneer ik een CD-ROM unmount?

De disc kan niet van het bestandssysteem worden losgekoppeld als er nog een proces is dat het station benadert. Dit geldt ook voor de standaarddirectory dat is ingesteld op het gemounte bestandssysteem. Als je het proces dat de disc gebruikt niet kan identificeren, dan kun je de opdracht fuser toepassen, zoals in de volgende opdracht wordt getoond:

% umount /cdrom
umount: /dev/hdd: device is busy
% fuser -v /cdrom
                     USER       PID ACCESS COMMAND
/mnt/cdrom           tranter    133 ..c..  bash

Op een aantal systemen moet je root zijn wanneer je de opdracht fuser draait om processen van andere gebruikers te kunnen zien.

6.3. Hoe exporteer ik een CD-ROM naar andere hosts over NFS?

Je moet hiervoor een regel toevoegen aan het bestand /etc/exports. Gebruikers op andere machines kunnen dan het device mounten. Zie de exports(5) man page voor details.

6.4. Kan ik Linux booten vanaf een CD-ROM?

De meeste Linux distributies ondersteunt het direct booten van een Linux kernel van CD als alternatief voor het booten van een diskette. Hiervoor is een opstartbare CD en ROM BIOS en een CD-ROM nodig welke het booten van een CD ondersteunt.

De laatste versie van mkisofs ondersteunt het aanmaken van dergelijke disks met de El Torito standaard voor opstartbare CD’s.

6.5. Hoe kan ik digitale data lezen van audio-CD’s

Heiko Eissfeldt (heiko@colossus.escape.de (mailto:heiko@colossus.escape.de)) en Olaf Kindel hebben een utility geschreven dat audio data inleest en het als een geluidsbestand in het .wav formaat opslaat. Het package wordt

cdda2wav.tar.gz genoemd en het is te vinden op www.ibiblio.org.

Een ander utility om digitale audio te extraheren is cdparanoia beschikbaar vanaf http://www.xiph.org/paranoia (http://www.xiph.org/paranoia/).

Omdat CD-ROM stations zeer snel aan verandering onderhevig zijn, is het moeilijk een opsomming te geven van de modellen die het inlezen van digitale data ondersteunen. Het beste kun je het laatste cdda2wav of cdparanoia package ophalen en de documentatie lezen.

Zie de website http://www.tardis.ed.ac.uk/~psyche/cdda/ en de alt.cd-rom FAQ weergegeven in de sectie referenties voor meer informatie over dit onderwerp.

6.6. Waarom werkt de find opdracht niet correct?

Op ISO-9660 geformatteerde discs zonder de Rock Ridge Extensies moet je de optie -noleaf aan de opdracht find meegeven. Zie de find(1) manpage voor details.

(In mijn ervaring gebruiken praktisch alle recente Linux CD’s de Rock Ridge extensies, dus dit probleem zou zeer zeldzaam plaats moeten vinden).

6.7. Ondersteunt Linux opneembare CD-ROM stations?

Linux ondersteunt de meeste CD-R en CD-RW stations. De cdrecord en mkisofs tools kunnen worden gebruikt om CD’s te branden. Er zijn bovendien vele grafische front-ends voor deze tools. Zie voor meer informatie de Linux CD-Writing HOWTO (http://www.ibiblio.org/LDP/HOWTO/CD-Writing-HOWTO.html).

6.8. Waarom krijg ik mount: Read-only file system bij het mounten van een CD-ROM?

Een CD-ROM is een read-only media. Bij een aantal eerdere kernels kon je een CD-ROM read/write mounten; pogingen om gegevens naar de CD te schrijven werden eenvoudigweg genegeerd. Vanaf kernelversie 1.1.33 werd dit gecorrigeerd zodat CD-ROM’s read-only moeten worden gemount (b.v. met de optie -r aan mount).

6.9. Waarom opent de disc-lade als ik het systeem afsluit?

De sbpcd driver ondersteunt het automatisch uitwerpen van de CD wanneer het wordt losgekoppeld van het bestandssysteem. In een aantal oudere kernelversies was dit het standaardgedrag. Als je het systeem afsluit, dan zal een gemounte CD worden losgekoppeld van het systeem wat het uitwerpen veroorzaakt.

Deze feature is er voor het gemak wanneer discs worden gewisseld. Als de lade open is wanneer je een CD mount of inleest, dan zal het ook automatisch worden gesloten.

Ik bemerkte dat dit met een paar programma’s problemen gaf (b.v. cdplay en workbone). Sinds kernelverise 1.1.60 kun je deze feature softwarematig besturen. Een voorbeeldprogramma is opgenomen in het sbpcd documentatiebestand (of gebruik het programma eject (http://www.pobox.com/~tranter/eject.html)). Je kunt ook het standaardfunctioneren besturen door het wijzigen van het kernelbronbestand sbpcd.h.

6.10. Ik heb een "speciale" CD die niet kan worden gemount

Als je een bepaalde disc hebt, die niet kan worden gemount, dan zijn hier wat mogelijke redenen:

1. Het is een XA, CD-R of CD-RW disc en je drive of de Linux driver ondersteunt het inlezen van deze discs niet (dit is alleen waarschijnlijk voor zeer oude drives).

2. Het is een DVD disc, welke alleen leesbaar is door een DVD-ROM drive.

3. De disc maakt geen gebruik van het ISO-9660 bestandssysteem (b.v. een aantal gebruiken SunOS of HFS).

4. Het is een audio-CD.

5. De CD is beschadigd of defect.

6. Je plaatste het ondersteboven in de drive :-)

6.11. Werken multi-platter CD-ROM stations onder Linux?

Verscheidene gebruikers hebben succes gemeld met SCSI multi-disc CD-ROM wisselaars. Je moet waarschijnlijk de kernelconfiguratieoptie "Probe all LUNs on each SCSI device" wijzigen (dit is niet nodig als je CD-wisselaar reeds bekend is bij de SCSI-driver. Kijk eens in /usr/src/linux/drivers/scsi.c).

Tenminste één gebruiker moest ook een SCSI timeout waarde in de kerneldriver ophogen. Een symptoom hiervan is een foutmelding die iets luidt als: "wrong fs type, bad option, bad superblock on /dev/sr5, or too many mounted file systems" wanneer je voor de eerste keer een CD probeert te mounten, maar een tweede mount onmiddellijk daarna wel succesvol gaat. Voor het verhogen van de timeout waarde, verhoog je de waarde van IOCTL_TIMEOUT aan het begin van /usr/src/linux/drivers/scsi/sr_ioctl.c en compileer je de kernel opnieuw. Een waarde van 10000 in plaats van de standaard 3000 schijnt te werken met een NEC Multispin 4Xc.

Het kan nodig zijn om extra block special files aan te maken, zodat alle LUN’s kunnen worden benaderd. Voor elke LUN is een apparaatbestand nodig. Dus voor een 7 disc wisselaar zijn /dev/sr0 tot /dev/sr6 nodig (meer als je extra SCSI CD-ROM stations hebt). Om het block special file aan te maken geef je als root de opdracht mknod /dev/sr? b 11 ? met ? als het benodigde aantal.

De Nakamichi MBR-7 7 disc wisselaar, NEC Multispin 4Xc en Pioneer 12 disc wisselaar schijnen te werken.

Ook zijn EIDE/ATAPI multi-disc wisselaars beschikbaar. De kernel heeft voor een aantal drives ondersteuning met de functie CDROM_SELECT_DISC ioctl. In het documentatiebestand van de IDE-CD kerneldriver is broncode opgenomen voor een programma om wisselslots te selecteren. Je kunt ook gebruik maken van diverse utility’s zoals het eerder beschreven eject programma.

6.12. Ik krijg "/cdrom: Permission denied" foutmeldingen

Op een aantal CD’s zijn de bestandspermissies van de rootdirectory zo ingesteld dat alleen de root gebruiker ze kan lezen. Dit is een fout aan de kant van de CD-ROM leverancier en echt onhandig. Een wat gebruikelijker situatie is dat bepaalde bestanden of directory’s niet voor iedereen leesbaar zijn. Een aantal mensen hebben hun kernel gepatcht om dit probleem te omzeilen.

Zie ook de hieraan gerelateerde vraag over verborgen bestanden later in dit document.

6.13. Hoe interpreteer ik IDE CD kernelfoutmeldingen?

Wat betekent een kernelfoutmelding van de IDE CD-ROM drivers als "hdxx: code: xx key: x asc: xx ascq: x"?

Dit is een status-/foutmelding van het IDE CD-ROM station. Standaard drukt de IDECD driver de ruwe informatie af in plaats van kernelruimte te verspillen met foutmeldingen. Je kunt de standaard wijzigen dat het de actuele foutmeldingen toont door in het bestand /usr/src/linux/drivers/block/ide-cd.c, de waarde van VER-BOSE_IDE_CD_ERRORS in te stellen op 1, om vervolgens de kernel opnieuw te compileren.

6.14. Hoe weet ik welke snelheid mijn CD-ROM heeft?

Hier is een manier. Deze opdracht meet hoelang het duurt om 1500K data van CD te lezen:

% time -p dd if=/dev/cdrom of=/dev/null bs=1k count=1500
1500+0 records in
1500+0 records out
real 5.24
user 0.03
sys 5.07

De transportsnelheid van single speed drives is 150 kilobytes per seconde, wat ongeveer 10 seconden zou moeten duren. Op double speed zou het ongeveer vijf seconden in beslag moeten nemen en op quad speed 2.5, enz.

De "echte" tijd hierboven is waarschijnlijk de beste te bekijken tijd, in dit geval geeft het een double speed drive aan. Je kunt de hoeveelheid te transporteren data verhogen om een wat accuratere waarde te krijgen (de data wordt niet in een cache geplaatst). Je zou de opdracht wellicht een aantal keren uit moeten voeren en dan het gemiddelde moeten nemen.

Ik heb ook een klein programma in C geschreven dat de CD-ROM data transportsnelheid meet en rapporteert; ik kan het je op verzoek toesturen.

6.15. Mijn CD-ROM functioneerde niet meer nadat Linux was geïnstalleerd

Het gebruikelijke symptoom is dat de gebruikte bootdisk om Linux voor de eerste keer te installeren je CD-ROM station herkende, maar nadat Linux werd geïnstalleerd op de harddisk of diskette en het systeem opnieuw werd opgestart, herkent het de CD-ROM niet meer.

De reden van dit probleem is gewoonlijk dat met een aantal Linux distributies de kernel die wordt gebruikt om Linux op je harddisk (of diskette) te installeren niet noodzakelijkerwijs dezelfde is als die op je bootdisk. Je selecteerde een bootdisk die overeenkwam met je CD-ROM hardware, terwijl de kernel die je installeerde een "generic" kernel is waarin ondersteuning voor de CD-ROM ontbreekt. Je kunt dit verifiëren door de richtlijnen in probleemoplossing op te volgen die eerder in dit document werden besproken (begin bijvoorbeeld met het controleren van /proc/devices).

De oplossing hiervoor is het opnieuw compileren van de kernel, ter verzekering dat de drivers voor je CD-ROM station en vele anderen die nodig zijn (b.v. SCSI controller, ISO-9660 bestandssysteem) zijn opgenomen. Zie de Kernel HOWTO (http://www.ibiblio.org/LDP/HOWTO/Kernel-HOWTO.html) als je niet weet hoe je dit moet doen.

Als je opdrachtregels aan de bootdisk meegaf (b.v. "hdf=cdrom") dan moet je deze aan het configuratiebestand van het bootprogramma opgeven (typisch /etc/lilo.conf).

6.16. Op de CD bevinden zich "hidden" bestanden die ik niet kan lezen

Op een aantal CD’s staan bestanden met het "hidden" bit ingesteld. Normaal gesproken zijn deze bestanden niet zichtbaar. Als je de CD met de optie "unhide" mount, dan zouden de bestanden toegankelijk moeten zijn (dit schijnt nergens te zijn gedocumenteerd).

6.17. Waar is de CD-ROM API gedocumenteerd?

Wanneer je je eigen applicatie wilt schrijven, zoals een audio CD-speler programma, zul je de application programming interface (API) moeten begrijpen waarin door Linux wordt voorzien.

Oorspronkelijk gebruikte de CD-ROM kerneldrivers eigen ioctl() functies om features te ondersteunen die specifiek zijn voor elke drive. Header files zoals /usr/include/linux/sbpcd.h beschrijven deze. Omdat veel drivers werden gebaseerd op andere drivers, hebben de interfaces terwijl ze niet identiek zijn, veel gemeen.

Recenter ontstond een initiatief onder leiding van David van Leeuwen (david@tm.tno.nl (mailto:david@tm.tno.nl)) om de API voor CD-ROM stations te standaardiseren, waarbij algemene code op één plaats wordt bijgehouden ter verzekering dat alle drivers hetzelfde gedrag vertonen. Dit is gedocumenteerd in het bestand /usr/src/linux/Documentation/cdrom/cdromstandard.tex. Verscheidene kerneldrivers ondersteunen dit. Sinds kernel 2.0 passen alle CD-ROM drivers zich aan aan deze API.

Mijn boek, de Linux Multimedia Guide, gaat in detail in op hoe je CD-ROM stations programmeert, vooral voor audio-functies. Zie het einde van de sectie Referenties.

6.18. Waarom zie ik geen lange bestandsnamen op deze Windows CD-ROM?

Als je een CD-ROM hebt met lange bestandsnamen onder Windows, maar niet onder Linux, dan kan het zijn geformatteerd met Microsoft’s eigen Joliet bestandssysteem. Zie de volgende vraag voor een oplossing.

6.19. Wordt Microsoft’s Joliet bestandssysteem ondersteund?

Microsoft heeft een uitbreiding op het ISO CD-ROM formaat gemaakt, met de naam Joliet. Hiermee kunnen lange bestandsnamen worden gecodeerd in het 16-bit UNICODE formaat.

Te beginnen met versie 2.0.34 biedt de kernel ondersteuning voor de Microsoft Joliet bestandssysteem extensies. Je moet de ondersteuning hiervoor activeren in de kernel.

Als je bestandsnamen correct op het scherm weer wilt geven met native taaltekens van Joliet CD-ROM’s, dan moet je ondersteuning in de kernel activeren voor de juiste NLS ISO8859 tekensets.

6.20. Ondersteunt Linux "enhanced" CD’s?

Een aantal audio CD’s is "enhanced" met extra data. Kenmerkend zul je bemerken dat deze CD’s de gebruikelijke audio CD-tracks hebben als ook een data track welke kan worden gemount als een ISO-9660 bestandssysteem.

Op een "enhanced" CD die ik bestudeerde bevonden zich Microsoft en Apple Macintosh applicaties (die ik niet direct onder Linux uitvoer uiteraard, alhoewel ik deels succes had met het draaien van de Windows applicatie onder de WINE Windows emulator). Er stonden een aantal GIF images op die ik kon bekijken met een standaardviewer zoals xv en nog een aantal animaties in in Apple QuickTime formaat die konden worden bekeken met het programma xanim. Het was een multi-sessie disk die een aantal zeer oude CD-ROM stations niet kan lezen. Op de disc bevond zich een readme.txt bestand met een Enhanced CD FAQ.

6.21. Ondersteunt Linux DVD-ROM?

SCSI en ATAPI compliant DVD-ROM drives zouden onder Linux moeten werken voor het inlezen van discs geformatteerd met een ISO-9660 bestandssysteem. Met andere woorden: ze zullen werken als een (mogelijk groot) CD-ROM station.

Veel DVD-ROM discs gebruiken het UDF bestandssysteem. Recente kernels hebben ondersteuning voor het UDF bestandssysteem.

Er zijn een aantal Linux MPEG-2 DVD spelers beschikbaar. Zie de DVD Playing HOWTO (http://www.ibiblio.org/LDP/HOWTO/DVD-Playing-HOWTO.html) voor meer informatie.

6.22. Ondersteunt Linux CD-RW?

SCSI en ATAPI compliant CD-RW drives werken onder Linux voor discs geformatteerd met een ISO-9660 of UDF bestandssysteem. Hieronder valt tevens de mogelijkheid om naar de disc te schrijven. Utility’s zoals cdrecord kunnen worden gebruikt om de inhoud van een disc te verwijderen.

6.23. Hoe mount ik een multi-sessie disc?

Je mount een multi-sessie disc net als iedere andere CD-ROM. Het normale functioneren voor multi-sessie ondersteuning is dat de laatste sessie zal worden gezien wanneer je de disc mount. Meerdere partities zul je niet zien. Er zijn drie redenen te noemen waarom dit wellicht niet werkt:

1. Je CD-ROM station ondersteunt het lezen van multi-sessie CD’s niet (het is waarschijnlijk nogal oud als dit het geval is).

2. De Linux kerneldriver voor je type CD-ROM ondersteunt geen multi-sessie (voornamelijk de wat oude gepatenteerde, niet-IDE/ATAPI en niet-SCSI drives vallen in deze categorie).

3. Als je een CD mount met een ander bestandssysteem dan ISO-9660, dan kan het zijn dat multi-sessie niet wordt ondersteund.

6.24. Hoe lees ik een CD volumelabel in?

Er is een klein utility genaamd volname opgenomen met recente versies van het programma eject. Als alternatief kun je deze shellopdracht uitvoeren:

dd if=/dev/cdrom bs=1 skip=32808 count=32

in de veronderstelling dat /dev/cdrom het apparaatbestand is voor je device.

6.25. Mijn IDE CD-R of CD-RW station werkt niet onder Linux

Je moet de IDE-SCSI emulatiedriver gebruiken voor CD-R’s en CD-RW ’s. Zie de Linux CD-Writing HOWTO (http://www.ibiblio.org/LDP/HOWTO/CD-Writing-HOWTO.html) voor meer informatie.

6.26. Wordt de voeg hier je merk/model in IDE CD-ROM station ondersteund?

Ja, natuurlijk is het ondersteund. Linux ondersteunt de IDE interface die wordt gebruikt door alle moderne IDE CD-ROM stations. Dit is zo sinds kernelversie 1.1.85.

6.27. Ik schijn mijn driver niet te kunnen vinden voor mijn IDE-drive in de kernelsource?

In tegenstelling tot de oudere gepatenteerde drives, bestaat er voor elk model ATAPI/IDE CD-ROM station geen specifieke driver. Alle drives die voldoen aan de standaard zouden met de ATAPI CD-ROM driver moeten werken die is opgenomen in de standaard Linux-kernel.

6.28. Ik ondervind problemen met mijn CD-ROM onder RedHat 7.1

Het kan zijn dat je ooit in een situatie belandt waarbij de hardware geen DMA (Direct Memory Access) ondersteunt. RedHat levert een zeer goed fijnafgestemde versie van de Linux kernel welke DMA op geselecteerde IDE controller chipsets activeert. Informatie over dit onderwerp is te vinden op http://www.exocore.com/linux/rhl71dma/

7. Referenties

Ik heb reeds de documentatiebestanden genoemd, kenmerkend geïnstalleerd in /usr/src/linux/Documentation/cdrom. Deze kunnen een goudmijn met nuttige informatie bevatten.

De volgende Usenet FAQ’s worden periodiek gepost naar news.answers (news:news.answers) en gearchiveerd op Internet FTP sites zoals ftp://rtfm.mit.edu/.

• alt.cd-rom FAQ

• comp.periphs.scsi FAQ

De Linux CD-ROM HOWTO

• Enhanced IDE/Fast-ATA/ATA-2 FAQ Er zijn nog verscheidene andere Linux HOWTO’s met nuttige informatie relevant aan CD-ROM’s:

• Linux SCSI HOWTO (http://www.ibiblio.org/pub/Linux/docs/HOWTO/unmaintained/SCSI-HOWTO)

• Hardware Compatibility HOWTO (http://www.ibiblio.org/LDP/HOWTO/Hardware-HOWTO.html)

• Sound HOWTO (http://www.ibiblio.org/LDP/HOWTO/Sound-HOWTO.html)

• Kernel HOWTO (http://www.ibiblio.org/LDP/HOWTO/Kernel-HOWTO.html)

• Distribution HOWTO (http://www.ibiblio.org/LDP/HOWTO/Distribution-HOWTO.html)

• CD Writing HOWTO (http://www.ibiblio.org/LDP/HOWTO/CD-Writing-HOWTO.html) Op z’n minst een dozijn bedrijven verkoopt Linux distributies op CD-ROM; de meeste daarvan zijn weergegeven in de Distribution HOWTO. De volgende Usenet nieuwsgroepen gaan over onderwerpen gerelateerd aan CD-ROM’s.

• comp.publish.cdrom.hardware (news:comp.publish.cdrom.hardware)

• comp.publish.cdrom.multimedia (news:comp.publish.cdrom.multimedia)

• comp.publish.cdrom.software (news:comp.publish.cdrom.software)

• comp.sys.ibm.pc.hardware.cd-rom (news:comp.sys.ibmpc.hardware.cd-rom)

• alt.cd-rom (news:alt.cd-rom)

• alt.cd-rom.reviews (news:alt.cd-rom.reviews) De comp.os.linux nieuwsgroepen zijn ook een prima bron met specifieke informatie over Linux. Een FAQ document over IDE en ATA devices is te vinden op ftp://rtfm.mit.edu/pub/usenet/news.answers/pchardware-faq/enhanced-IDE/ en op http://www.seagate.com/techsuppt/faq/faqlist.html. Een website gericht op multimedia is te vinden op http://www.scala.com/multimedia/. Creative Labs heeft een website op http://www.creaf.com/. De Linux Software Map (LSM) is een referentie van onschatbare waarde voor het lokaliseren van Linux software. De homepage van de LSM is te vinden op http://www.ExecPC.com/lsm/. en er is een online doorzoekbare versie op http://www.boutell.com/lsm/. Een andere geweldige site voor het opsporen van Linux applicaties is http://www.freshmeat.net/. De Linux mailinglist heeft een aantal "kanalen" toegewijd aan verschillende onderwerpen. Om erachter te komen hoe je mee kunt doen, kun je een mailbericht sturen naar majordomo@vger.kernel.org (mailto:majordomo@vger.kernel.org) met het woord "help" in het berichtenvenster. Het Linux Documentatie Project heeft verscheidene boeken over Linux geproduceerd, waaronder de Linux Installation and Getting Started. Deze zijn vrij verkrijgbaar via anonymous FTP vanaf belangrijke Linux archiefsites of te koop in papieren formaat. Als laatste nog een schaamteloze opvulling: Als je veel meer wilt leren over multimedia onder Linux (vooral over CD-ROM en geluidskaarttoepassingen en programmering), bekijk mijn boek de Linux Multimedia Guide, ISBN 1-56592-219-0, dan eens welke is gepubliceerd door O’Reilly and Associates. Zowel de oorspronkelijke Engelse versie, als ook de Franse en Japanse vertaling zijn nu in gedrukte vorm verkrijgbaar. Voor details, bel 800-998-9938 in Noord-Amerika of kijk op de webpage http://www.ora.com/catalog/multilinux/noframes.html.