Deze sectie geldt voor de volgende typen CD-writers: SCI, IDE/ATAPI en de devices voor de parallelle poort. USB CD-writers worden maart 2000 niet ondersteund. Niet-SCSI writers vereisen compatibiliteits drivers, die ze laten lijken alsof het SCSI-devices zijn. Aan de ene kant is een dergelijke uniforme strategie eenvoudig ("alles is SCSI"), omdat je op applicatie-niveau de kennis met andere gebruikers betreffende hun soort CD-writer kunt delen. Aan de andere kant moet je applicaties zoals audio CD-spelers of het mount utility opnieuw configureren om de wijziging van de naam van de driver weer te geven. Als je bijvoorbeeld voorheen je ATAPI CD-writer via het devicebestand /dev/hdc benaderde, zal je het na het activeren van de SCSI compatibiliteits drivers via /dev/scd0 moeten benaderen.
Zodra het je is gelukt om je hardware en de rest van je Linux-systeem in
te stellen, toont het commando cdrecord -scanbus
je een lijst met
devices op je SCSI-bussen. Het doel van dit hoofdstuk
is je te begeleiden bij het instellen van je Linux-systeem, zodat je
uiteindelijk iets te zien krijgt als:
shell> cdrecord -scanbus
Cdrecord release 1.7a1 Copyright (C) 1995-1998 Jörg Schilling
scsibus0:
0,0,0) 'Quantum ' 'XP34300 ' 'F76D' Disk
0,1,0) 'SEAGATE ' 'ST11200N ' '8334' Disk
0,2,0) *
0,3,0) 'TOSHIBA ' 'MK537FB/ ' '6258' Disk
0,4,0) 'WANGTEK ' '5150ES SCSI 36 ' 'ESB6' Verwijderbare Tape
0,5,0) 'EXABYTE ' 'EXB-8500-85QUE ' '0428' Verwijderbare Tape
0,6,0) 'TOSHIBA ' 'XM-3401TASUNSLCD' '3593' Verwijderbare CD-ROM
0,7,0) *
scsibus1:
1,0,0) 'Quantum ' 'XP31070W ' 'L912' Disk
1,1,0) *
1,2,0) *
1,3,0) 'TEAC ' 'CD-R55S ' '1.0H' Verwijderbare CD-ROM
1,4,0) 'MATSHITA' 'CD-R CW-7502 ' '4.02' Verwijderbare CD-ROM
1,5,0) *
1,6,0) 'YAMAHA ' 'CDR400t ' '1.0d' Verwijderbare CD-ROM
1,7,0) *
Listing: Detecteren van devices op je SCSI bus
Het voorbeeld werd door Jörg Schilling aangeleverd en toont een totaal van vier CD-writers. Houd alsjeblieft in de gaten dat -scanbus ook andere devices rapporteert, b.v. reguliere CD-ROM's en harddisk drives. In de laatste kolom staat de SCSI-beschrijving van het device, waaruit je niet duidelijk af kunt leiden wat de gewone CD-ROM drives en de CD-ROM drives met brandingscapaciteiten zijn. Maar de product-identificatie (middelste kolom) geeft vaak aanwijzingen over de faciliteit in de vorm van een R, -R of -RW.
Deze sectie is een poging te voorzien in een snelle en eenvoudige beschrijving van de configuratie. Niet alle mogelijke setups worden behandeld, maar probeer dit alsjeblieft zelf uit te zoeken. Controleer als eerste het versienummer dat door het commando uname wordt afgedrukt. Het zou iets moeten zijn als 2.0.X of 2.2.Y, waar de X groter is dan 36 en Y kleiner dan 11. Als je een iets oudere of 2.1.* draait, dan ben je op jezelf aangewezen. De listing hieronder toont een set commando's waarmee je kunt beginnen. De commando's maken devicebestand entries aan onder /dev en proberen een aantal modules te laden.
test `whoami` = 'root' || echo "Je moet root zijn om de commando's uit te voeren."
cd /dev/
umask -S u=rwx,g=rwx,o-rwx
./MAKEDEV loop || for i in 0 1 2 3 4 5 6 7; do mknod loop$i c 7 $i; done
./MAKEDEV sg || for i in 0 1 2 3 4 5 6 7; do mknod sg$i c 21 $i; done
for i in ide-scsi scsi_mod sg sr_mod loop
do
modprobe $i || grep loop /proc/modules || echo "Module $i ontbreekt."
done
cdrecord -scanbus
Listing: devicebestanden aanmaken en het laden van modules
Toegang tot hardware wordt onder Linux gewoonlijk via devicebestanden geïmplementeerd. Dus zorg er als eerste voor dat de benodigde entries in de directory /dev bestaan. Nog niemand heeft me een onweerstaanbare reden kunnen geven waarom dit nog niet via technieken als het device filesystem (devfs) is geautomatiseerd. devfs is reeds jaren beschikbaar, het geeft een veiliger (!) en veel duidelijkere benaming aan devices en maakt dat de device entries automatisch onder /dev verschijnen. Een aantal mensen beargumenteert dat devfs niet de perfecte oplossing is, maar zij komen niet met iets beters, zelfs niet iets vergelijkbaars, en als laatste maar niet het minste, niets dat nu beschikbaar en getest is. Laten we beginnen devfs te gebruiken!
Lees alsjeblieft het volgende hoofdstuk als er wordt gerapporteerd dat modules op je systeem ontbreken of raadpleeg de documentatie van je Linux-distributie. Als je je in de tekstmodus (console) bevindt, kan het zijn dat het laden van modules als resultaat geeft dat er wat meldingen op je scherm worden afgedrukt. Als je je in de grafische modus bevindt (X11, KDE, Gnome), kun je deze meldingen met het commando dmesg afdrukkenn. Om de modules te laden, moet je ze óf in een configuratiebestand zoals /etc/modules hebben opgesomd, óf de daemons kerneld of kmod hebben draaien, die beiden de vereiste modules automatisch voor je laden wanneer de kernel ziet dat ze nodig zijn.
Mensen met een SCSI-writer kunnen de rest van deze sectie overslaan, omdat cdrecord naar alle waarschijnlijkheid hun hardware reeds detecteert. Stuur me alsjeblieft een email met wat informatie over je setup als dit niet zo is, zodat ik de sectie over SCSI-writers kan verbeteren.
Nu voor de mensen met CD-writers voor IDE/ATAPI. Zoals in het vorige hoofdstuk geschreven, moet je de compabiliteitsdriver ide-scsi laden. Maar deze driver kan je CD-Writer alleen benaderen als nog geen enkele andere driver dit heeft gedaan. Met andere woorden, je moet de reguliere IDE-driver laten weten dat het je CD-writer niet herkent, zodat de ide-scsi-driver het af kan vangen.
hda = IDE bus/connector 0 master device
hdb = IDE bus/connector 0 slave device
hdc = IDE bus/connector 1 master device
hdd = IDE bus/connector 1 slave device
Tabel: device bestandsnamen van IDE/ATAPI devices
De tabel hierboven toont de relatie van device bestandsnamen en de plaats van devices op de IDE-bussen. De bestandsnaam van het device, je CD-Writer voorstellend, moet aan de driver in de Linux-kernel worden doorgegeven. Voorbeeld: hdb=ide-scsi. Als de driver statisch in je kernel is gecompileerd zou deze instelling in lilo.conf of chos.conf moeten worden geplaatst; dit is de meest algemene setup. De volgende twee listings tonen voorbeeldconfiguraties. Alle andere varianten, zoals hdb=ignore of hdb=none zullen niet datgene doen wat je nodig hebt. "Ignore" betekent gewoon "geen autoprobing" en "none" zal zelfs de toegang tot het device voor ide-scsi blokkeren.
image=/boot/zImage-2.2.14
label=Linux
read-only
append="hdb=ide-scsi"
Listing: Voorbeeldconfiguratie voor lilo (/etc/lilo.conf)
linux "Linux 2.1.14" {
image=/boot/zImage-2.0.37
cmdline= root=/dev/hda5 readonly hdb=ide-scsi
}
Listing: Voorbeeldconfiguratie voor chos (/etc/chos.conf)
Als de driver voor IDE/ATAPI CD-ROM's als een module is geladen, dan maakt het bovenstaande geen verschil voor je, maar zorg ervoor dat je de regel met 'options' in de volgende listing opneemt. De laatste drie regel van dit listing worden in 't algemeen geopperd als verdere automatisering voor het laden van de vereiste modules. Voeg de namen van de modules toe aan /etc/modules (of wat voor strategie je Linux-distributie dan ook gebruikt) als je de kernel daemon niet gebruikt om het laden van modules automatisch teweeg te brengen.
options ide-cd ignore=hdb # zeg de ide-cd module hdb te negeren
alias scd0 sr_mod # load sr_mod upon access of scd0
pre-install sg modprobe ide-scsi # voor sg, laad ide-scsi
pre-install sr_mod modprobe ide-scsi # voor sr_mod, laad ide-scsi
Listing: Voorbeeldconfiguratie voor /etc/modules.conf
Denk eraan dat je de CD-writer via het devicebestand /dev/scdx, waarbij x=0,..,8, moet benaderen. Wellicht dat je de symbolische naam cdrom naar je feitelijke bestandsnaam van het device wilt laten verwijzen. De listing hieronder toont met als voorbeeld scd0 het commando waarmee je dit kunt bereiken.
cd /dev && rm cdrom && ln -s scd0 cdrom
Listing: cdrom als symbolische naam voor scd0 maken
De Linux-kernel kan met drivers voor diverse faciliteiten worden toegerust. Je kunt de drivers in de kernel-image statisch compileren of je kunt ze als een module compileren om ze op verzoek te laden. De laatste methode heeft de voorkeur voor drivers die niet essentieel zijn voor het tot leven brengen van je Linux-systeem, omdat je kernel dan kleiner en sneller zal zijn. Een aantal drivers zijn echter essentieel op het systeem te kunnen laten werken en je zou ze niet als een module moeten compileren. Voorbeeld: als je systeem zich op een IDE-harddisk bevindt, moet de driver voor je IDE-harddisk zich in de kernel bevinden -- en niet als een module.
Er zijn drie verschillende typen CD-writers: SCSI, IDE/ATAPI en externe writers die via parallelle poort werken. De tabel laat zien hoe je de Linux-kernel voor deze hardwaretypen kunt configureren. De eerste kolom van de tabel is de sectie van het configuratie-menu van de kernel, waar je de instelling kunt vinden. De tweede kolom is de beschrijving van de faciliteit (ook afkomstig van het configuratie-menu van de kernel). De kolommen met de namen SCSI, IDE en PP bevatten de benodigde opties voor de daarmee verbonden hardware (PP = parallelle poort).
Sect. Beschrijving Module SCSI IDE PP
------------------------------------------------------------
BLOCK Enhanced IDE/MFM/RLL... Y
BLOCK IDE/ATAPI CDROM ide-cd M
BLOCK SCSI emulation support ide-scsi M
BLOCK Loopback device loop M M M
PARIDE Parallel port IDE device paride Y/M
PARIDE Parallel port ATAPI CD-ROMs M
PARIDE Parallel port generic ATAPI M
PARIDE (select a low-level driver) Y
SCSI SCSI support scsi_mod Y/M Y/M
SCSI SCSI CD-ROM support sr_mod Y/M Y/M
SCSI Enable vendor-specific Y Y
SCSI SCSI generic support sg Y/M Y/M
SCSI (select a low-level driver) Y
FS ISO 9660 CDROM filesystem iso9660 Y/M Y/M Y/M
FS Microsoft Joliet cdrom... joliet Y Y Y
Tabel: driver selectie voor verschillende writer typen
Y staat voor ja en betekent dat je het beest in de kernel zou moeten compileren. M staat voor module en betekent dat je deze faciliteit als een module zou kunnen of moeten compileren. Y/M geeft je de optie tussen één van beiden te kiezen (de volgorde geeft keuzes aan met minder potentiële problemen). Lege instellingen hoeven niet te worden gewijzigd en als je ze niet verandert, maakt dat de kans groter dat de resulterende kernel voor je zal werken (als dat het voorheen deed...). Vooral in omgevingen waar SCSI en ATAPI door elkaar worden gebruikt, kun je het meeste beter als modules bouwen.
Het compileren van het loopback device optioneel. Het staat je toe de image te testen, voordat je het naar de media gaat schrijven. Als je CD-ROM's wilt kunnen lezen, heb je ondersteuning nodig voor het ISO 9660 bestandssysteem. Met deze driver worden automatisch RockRidge Extensies opgenomen. De Microsoft Joliet CD-ROM uitbreidingen moeten expliciet aan het ISO 9660 bestandssysteem worden toegevoegd. Je hebt in ieder geval een low-level driver voor je hardware nodig. Low-level verwijst naar de driver, die direct op de hardware inwerkt. Er zijn voor SCSI en de parallelle poort een heleboel low-level drivers beschikbaar.
Het installeren van de resulterende Linux-kernel valt buiten het kader van deze HOWTO. Raadpleeg hiervoor alsjeblieft de documentatie van je Linux-distributie.
Als gebruiker van RedHat Linux zou je er op moeten letten dat je de features "Ramdisk support" en "Initial ramdisk" moet compileren. Bovendien moet je een nieuwe ramdisk met de nieuwe modules genereren door het aanroepen van een commando als "mkinitrd --preload ide-cd initrd-2.2.14.img 2.2.14".
Activeer tot aan kernelversie 2.2.9, niet tegelijkertijd de variabele CONFIG_SCSI_MULTI_LUN ('uitproberen van meerdere luns') en ide-scsi support, een ide-scsi bug belet dit.
Een aantal gebruikers rapporteerden conflicten met voorgecompileerde binaries en de 2.2-release. Dit is een probleem met de Linux-kernel. Mogelijke oplossingen:
Wees er zeker van dat je brander door de BIOS van je computer wordt herkend. Het heeft geen zin om verder te gaan als je computer de hardware niet accepteert (het feit dat het het niet afstoot, zou niet moeten worden geïnterpreteerd als een teken van bevestiging; een bericht op het scherm is vereist).
Als je van plan bent om je SCSI-drive via je parallelle poort aan te sluiten (niet te verwarren met de IDE-drives voor de parallelle poort), heb je een speciale kabel en een speciale kerneldriver nodig. Lees alsjeblieft de http://www.torque.net/parport/parscsi.html om meer over deze optie te leren.
Ik weet hier niets van, sorry. Lees alsjeblieft http://www.torque.net/parport/paride.html of je lokale bestand /usr/src/linux/Documentation/paride.txt.
Een meer gedetailleerd overzicht met tools gerelateerd aan het produceren van CD-ROM's is beschikbaar vanaf http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdb.html.
Één van de volgende packages is vereist om images van CD-R's te genereren (alleen vereist voor data CD-ROM's):
ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/ (mkisofs)ftp://ftp.ge.ucl.ac.uk/pub/mkhfs (mkhybrid)
Je hebt één van de volgende software-packages nodig voor het schrijven van images naar CD-R's:
ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/ (cdrecord)http://www.ping.de/sites/daneb/cdrdao.html (cdrdao)
Vertrouw niet op de man-page van (oude) mkisofs
, waarin wordt
vermeld dat je versie 1.5 van cdwrite
nodig hebt.
Gebruik gewoon cdrecord en het is prima in orde.
Let alsjeblieft op dat nieuwere versies van cdrecord met een verbeterde
versie van mkisofs en een aantal extra tools worden geleverd, deze zijn
te vinden in de subdirectory misc/ (readcd, isosize) en zijn elders niet
aangetroffen.
Front-ends zijn onder Linux echt front-ends. Dat betekent dat je nog steeds de commando-regel utilities moet installeren, maar dat je ze in een beter uitziende situatie benadert.
X-CD-Roast is een programma-package dat is bestemd om makkelijk
CD's aan te maken onder Linux.
Commando-regel tools zoals cdrecord
en
mkisofs
worden gecombineerd tot een fraaie grafische
gebruikersinterface.
http://www.fh-muenchen.de/home/ze/rz/services/projects/xcdroast/e_overview.html
BurnIT is een JAVA front-end naar cdrecord, mkisofs en cdda2wav-0.95 wat het een compleet package voor het onder het Unix-platform branden van CD's maakt. Het is beschikbaar vanaf
http://sunsite.auc.dk/BurnIT/
CD-Tux is een tekengeöriënteerd frontend voor de programma's mkisofs en cdrecord. "Het maakt een eenvoudig te gebruiken omgeving voor bijna alles voor een CD in volledige kleurweergave via het gebruik van de (niet) beroemde NCURSES Library. En het doet dit met een uitvoerbaar bestand van minder dan 75K.
http://www.datadictator.co.za/cdtux/