CD-Writer mit EIDE-Schnittstelle unter LINUX installieren
Vorwort
Ich entschied mich vor einiger Zeit, einen preiswerten Rechner anzuschaffen.
Nach einer gewissen Zeit wollte ich mir auch einen CD-Brenner gönnen. Wieder sollte es ein preiswerter sein. Schließlich wollte ich nur ab und zu eine Sicherungskopie erstellen und ein paar Audio-CDs für den portablen CD-Player brennen.
So dachte ich, und schon stand das gelobte Gerät zuhause.
Über die möglichen Folgen und damit verbundenen Probleme habe ich nicht mal eine Sekunde nachgedacht. Da aber die preiswertesten PC-Komponenten leider mit EIDE-Schnittstelle ausgestattet sind, fingen die Überlegungen an, wie ich dieses Gerät auch unter Linux nutzen konnte.
Auch wenn es keinen direkten Treiber für EIDE-Brenner gibt, besteht die Chance, ein solches Produkt zum Laufen zu bekommen. So haben findige Programmierer eine Möglichkeit ausgearbeitet, eine SCSI-Schnittstelle emulieren zu können. Das war ein wichtiger Punkt im Leben von Linux, besonders wichtig für uns, die Linux-Anwender.
Die Emulation der SCSI-Schnittstelle wird im großen und ganzen dazu verwendet, gerade CD-Brenner, Scanner, manche CD-ROM-Laufwerke, Streamer und andere Geräte basierend auf der EIDE-Technologie zu betreiben. Die Konfiguration des Systems, um die SCSI Schnittstelle zu emulieren, ist in all diesen Fällen ähnlich. Außerdem muß auch gesagt werden, daß nicht alles, was neu ist, auch besser ist. Das ist besonders zu berücksichtigen unter Linux. Nicht alle CD-Brenner werden aktuell unterstützt. Die (immer aktuelle) Liste unterstützter Brenner kann unter der Adresse http://wt.xpilot.org/cgi-bin/winni/lsc-orig.pl begutachtet werden. Dort sind auch, in einer Tabelle zusammengestellt, die Brennprogramme und Kernelversionen, die den entsprechenden Brenner unterstützen. Diese Liste wird ständig aktualisiert, so daß fast jeden zweiten Monat neue CD-Brenner dazukommen, die getestet worden sind. Genauso wird gebeten, ein neues Gerät oder andere Konfiguration, die noch nicht in die Liste aufgenommen worden ist, aber erfolgreich betrieben wird, zu registrieren.
Die Konfiguration
Um einen EIDE CD-Brenner unter Linux zu installieren, braucht nur der Kernel entsprechend compiliert und ein paar Konfigurationsdateien entsprechend meiner Beschreibung geändert zu werden. Die Einfachheit dieses Unterfangens wird auch diese Installation beweisen.
Die Konfiguration wird hier beschrieben auf der Basis des Kernels 2.0.35, eines CD-ROM Laufwerks von »Toshiba« und eines CD-Brenners von »Mitsumi«. Beide sind EIDE-Geräte.
Bootdiskette erstellen
Besonders wichtig für Anfänger!!! Eine Boot-Diskette erstellen (falls nicht vorhanden), und prüfen, ob sie richtig bootet. Egal ob Anfänger oder Profi, man braucht immer eine Bootdiskette, denn schließlich kann Ihnen keiner versichern, daß nichts »dumm läuft«. Wie eine Bootdiskette erstellt wird, steht in jedem Handbuch.
Brenner einbauen
Den Brenner laut Angaben der Herstellers einbauen. Hier ist kein Kommentar nötig.
Kernel compilieren
Kernel kompillieren. Die genaue Beschreibung, wie ein Kernel kompilliert wird, entnehmen Sie bitte den man- bzw. HOWTO-Seiten. Hier nur kurze (für uns wichtige) Anweisungen:
Loggen Sie sich als root ein.
cd /usr/src/linux make xconfig
(für Anfänger empfohlen).
Hier in der Tabelle sind die Kernel-Variablen zusammengestellt, die zu unserem Thema gehören. Weiteres siehe [2].
Kernel 2.0.x
Abschnittname | Abfrage | Variablenname | Auswahl |
---|---|---|---|
SCSI support | SCSI support | CONFIG_SCSI | |
SCSI CD-ROM support | CONFIG_BLK_DEV_SR | ||
SCSI generic support | CONFIG_CHR_DEV_SG | ||
Floppy, IDE and other block devices | Include IDE/SCSI/ATAPI CDROM support | CONFIG_BLK_DEV_IDECD | |
SCSI emulation support | CONFIG_BLK_DEV_IDESCSI | ||
ilesystem | ISO9660 cdrom filesystem support | CONFIG_ISO9660_FS |
Kernel 2.2.x
Abschnittname | Abfrage | Variablenname | Auswahl |
---|---|---|---|
SCSI support | SCSI support | CONFIG_SCSI | |
SCSI CD-ROM support | CONFIG_BLK_DEV_SR | ||
SCSI generic support | CONFIG_CHR_DEV_SG | ||
Enable vendor-specific extensions | CONFIG_BLK_DEV_SR_VENDOR | ||
Probe all LUNs on each SCSI device | CONFIG_SCSI_MULTI_LUN | ||
Block devices | Enhanced IDE/MFM/RLL disc/cdrom/tape/floppy support | CONFIG_BLK_DEV_IDE | |
Include IDE/ATAPI CDROM support | CONFIG_BLK_DEV_IDECD | ||
SCSI emulation support | CONFIG_BLK_DEV_IDESCSI | ||
Generic PCI bus-master DMA support | CONFIG_BLK_DEV_IDEDMA | ||
Filesystems | ISO 9660 CDROM filesystem support | CONFIG_ISO9660_FS | |
Microsoft Joliet cdrom extensions | CONFIG_JOLIET |
Kernel 2.4.x
Abschnittname | Abfrage | Variablenname | Auswahl |
---|---|---|---|
SCSI support | SCSI support | CONFIG_SCSI | |
SCSI CD-ROM support | CONFIG_BLK_DEV_SR | ||
SCSI generic support | CONFIG_CHR_DEV_SG | ||
Enable vendor-specific extensions | CONFIG_BLK_DEV_SR_VENDOR | ||
Probe all LUNs on each SCSI device | CONFIG_SCSI_MULTI_LUN | ||
Verbose SCSI error reporting (kernel size +=12K) | CONFIG_SCSI_CONSTANTS | ||
ATA/IDE/MFM/RLL support => IDE, ATA and ATAPI Block devices | Enhanced IDE/MFM/RLL disc/cdrom/tape/floppy support | CONFIG_BLK_DEV_IDE | |
Include IDE/ATAPI CDROM support | CONFIG_BLK_DEV_IDECD | ||
SCSI emulation support | CONFIG_BLK_DEV_IDESCSI | ||
Generic PCI bus-master DMA support | CONFIG_BLK_DEV_IDEDMA | ||
USE PCI DMA by default when available | CONFIG_IDEDMA_PCI_AUTO | ||
Filesystems | ISO 9660 CDROM filesystem support | CONFIG_ISO9660_FS | |
Microsoft Joliet CDROM extensions | CONFIG_JOLIET |
Danach mit
die Änderungen in der Konfiguration abspeichern.Folgende Befehle ausführen:
make dep clean bzImage make modules make modules_install make bzlilo
Herzlichen Glückwunsch, der neu konfigurierte und übersetzte Kernel ist fertig.
lilo.conf oder GRUB anpassen
Die Datei /etc/lilo.conf mit einem beliebigen Texteditor (joe, kedit, vi, emacs, ...) editieren und am Ende des Bereichs »Start Lilo global Section« folgendes eintragen:
append = "hdx=ide-scsi hdy=ide-scsi"
Dabei bedeutet hdx,hdy
entweder hdb, hdc oder hdd
- hdb - CD-Laufwerk am Port 1 als Slave angeschlossen.
- hdc - CD-Laufwerk am Port 2 als Master angeschlossen.
- hdd - CD-Laufwerk am Port 2 als Slave angeschlossen.
Eine Bootsdiskette »OLD« erstellen für den Fall, daß wir etwas am Kernel falsch gemacht haben. Danach Änderung abspeichern und lilo -v
aufrufen, um die Änderungen zu übernehmen.
Die Datei /boot/grub/menu.lst mit einem beliebigen Texteditor (joe, kedit, vi, emacs, ...) editieren und hinter der Kernel- und root-Angabe einfach angeben:
kernel (hd0,1)/boot/vmlinuz-2.2.20 root=/dev/hda2 hdx=ide-scsi hdy=ide-scsi
wobei "hdx", "hdy" wie bei "lilo.conf" definiert werden.