鈁ersetzt von Eduard Bloch <edi@ka.linux.de>. F□ die Richtigkeit der 鈁ersetzun...
鈁ersetzt von Eduard Bloch <edi@ka.linux.de>. F□ die Richtigkeit der 鈁ersetzung wird keine Gew鄣r □ernommen, lesen Sie bitte ebenfalls das Original von Joerg
Schilling. Sie benutzen diese 鈁ersetzung auf eigene Gefahr.

WARNUNG: Benutzen Sie kein 'mc', um Archive zu entpacken.
爐ltere MC-Versionen (vor  4.0.14) k霵nen die symbolischen Links nicht
richtig entpacken.

Linux enth鄟t das GNU make-Program, das normallerweise mit "make"
aufgerufen wird. Sie ben飆igen definitiv das Shell-Script Gmake.linux, um
gmake auf Linux benutzen zu k霵nen.

Installation von Gmake:

cp Gmake.linux /usr/bin/Gmake

Nun kann mit dem Aufruf "./Gmake.linux" kompiliert werden.

ANMERKUNG f□ S.u.S.E.-Benutzer: die Variable PROMPT_COMMAND muss
zur□kgesetzt werden ("unset PROMPT_COMMAND"), sie enth鄟t einen
ung□tigen Eintrag f□ das Make-Dateisystem.

W I C H T I G:

Falls Sie bei Zugriffen auf den SCSI-Bus Problemme bekommen, □erpr□en
Sie als allererstes ihre /dev/sg*-Dateien. Ihr System sollte entweder
die /dev/sga... oder die /dev/sg0... -Dateien enthalten. Die neueren
Linux-Kernels benutzen /dev/sg0, also □erpr□t der derzeitige
SCSI-Transportcode zuerst die /dev/sg0...-Ger酹e. Das kommt von dem
witzigen Ger酹e-Mapping. Es ist durchaus m鐷lich, da□ein SCSI-Ger酹 bis
zu 8 /dev/sg0-Eintr輍e belegt (A.d.□: <untested>Die Kernel-Option
"Probe all LUNs on each SCSI device" □erpr□en und ggf. abschalten).
Ich empfehle midestens 20 /dev/sg0...-Ger酹edateien.

Lesen Sie jedenfalls zuerst die Manpage wie man die Ger酹e richtig angibt.
Wenn nichts anderes hilft, versuchen Sie zuerst etwas wie "cdrecord -scanbus".
Wenn ihr Ger酹 dabei nicht gefunden wird, liegt das Problem in ihrem
Kernel oder der Systeminstallation.

Linux ATAPI-Tips:

Lesen Sie README.ATAPI.de, um mehr Infos zur Benutzung von
ATAPI-Laufwerken mit der SCSI-Transport-Bibliothek zu bekommen.

Linux SCSI-Tips:

(A.d.□: gel飉cht, da nur f□ Kernel <2.0.30 von Bedeutung)

Ich empfehle, Linux-Kernel 2.0.35 bzw. 2.1.115 oder neuere zu verwenden.
Diese Versionen enthalten den ATAPI-Support in der Art, wie es von
cdrecord erwartet wird.

Linux 2.1.115 enth鄟t zus酹zlich die Unterst□zung f□ Parallel Port /
ATAPI Adapter, die in einigen CD-R- oder CD-RW-Laufwerken verwendet
werden.

WICHTIG:

-Obwohl cdrecord die Benutzung von dev=/dev/sgc noch akzeptiert,
wird es nicht empfohlen und nicht unterst□zt.  
Die /dev/sg* Ger酹ezuordnung ist unter Linux nicht festgelegt!  Die
Angabe von dev=/dev/sgc in einem Shell-Script k霵nte nach dem n踄hsten
Reboot nicht mehr funktionieren, weil dieses Ger酹 vielleicht zu
/dev/sgd verschoben wurde. Sauber und BS- unabh鄚gig ist in der Manpage
von cdrecord beschriebenene Syntax dev=<bus>,<tgt>,<lun>.

-Bei einigen Architekturen (zumindest auf sparc / alpha / ppc)
Kernels vor 2.0.32 sind nicht benutzbar, da der Aufruf von
mlockall() cdrecord killt.

-Wenn eine Meldung wie: 
"cdrecord: Function not implemented. shmget failed"
erscheint, haben Sie vermuttlich SVSv IPC aus dem Kernel
entfernt. Sie m□sen es wieder aktivieren.

-Evtl. sollten Sie /usr/src/linux/asm*/shmparam.h editieren, und
mindestens 4 MB von "shared memory" bei ihrer Architektur
erlauben. Dann den Kernel neukompilieren/installieren. (Bemerkung:
Linux f□ Intel erlaubt i.d.R. 16 MB). Das wird z.B. durch das
Ver鄚dern des Wertes SHMMAX bei nach #define erreicht.

#define SHMMAX 0x1000000                /* max shared seg size (bytes) */

Das erlaubt 16MB von Shared-Memory.

-Wenn Sie eine Fehlermeldung wie 
  "Cannot allocate memory. Cannot send SCSI cmd via ioctl"
erhalten, sind ihre Kernel/Include-Dateien inconsistent.
(A.d.□: Oder beim Wechsel der Kernel-Generation, 2.0.x -> 2.2.x. In
diesem Fall sollte man cdrecord gegen mit den aktuellen Kernel-Headers
neukompilieren, s.unten).
Stellen Sie fest, da□die Include-Datei /usr/src/linux/include/scsi/sg.h
der aktuellen Kernel-Version entspricht. Normallerweise sollten
die Dateien /usr/include/scsi/sg.h und /usr/src/linux/include/scsi/sg.h
identisch sein. 
(A.d.□: z.B. durch einen Link
/usr/include/scsi -> /usr/src/linux/include/scsi)

**** 瓏dern Sie niemals den Inhalt von /usr/src/linux/include/scsi/sg.h
ohne den Kernel ohne den den Kernel erneut zu kompilieren. Cdrecord
arbeitet in der Annahme, das der dort definierte Wert
SG_BIG_BUFF dem Wert des aktuellen Kernels entspricht. Der
Aufruf: "cdrecord -scanbus -debug" gibt den Wert SG_BIG_BUFF
aus, mit dem cdrecord kompiliert wurde. Die Ausgabe: 

scsi_getbuf: 32768 bytes

besagt, das Cdrecord mit 32k SG_BIG_BUF kompiliert wurde.

Der 'sg'-Treiber von Linux hat den schlechtesten Design, den ich
jemals gesehen habe.

Joerg