[Debburn-changes] r655 - cdrkit/trunk/doc/plattforms

Eduard Bloch blade at alioth.debian.org
Fri Dec 29 09:46:32 CET 2006


Author: blade
Date: 2006-12-29 09:46:32 +0100 (Fri, 29 Dec 2006)
New Revision: 655

Modified:
   cdrkit/trunk/doc/plattforms/README.linux
Log:
Defudification of doc/plattforms/README.linux

Modified: cdrkit/trunk/doc/plattforms/README.linux
===================================================================
--- cdrkit/trunk/doc/plattforms/README.linux	2006-12-29 01:01:43 UTC (rev 654)
+++ cdrkit/trunk/doc/plattforms/README.linux	2006-12-29 08:46:32 UTC (rev 655)
@@ -1,183 +1,37 @@
 
-NOTE for all Linux 2.5.x versions and all Linux versions before 2.6.8:
+Requirements of cdrkit on Linux:
 
-	Linux did ship with defective kernel include files starting
-	with 2.5.x. These defective kernel include files did prevent
-	compilation. If you have problems compiling software and see
-	error messages related to include/scsi/scsi.h & include/scsi/sg.h
-	either upgrade to Linux-2.6.8 or newer or remove /usr/src/linux
+ - Linux kernel 2.4 or newer 
+ - Glibc 2.2 or newer
+ - libcap library package is required, with development files (headers)
+ - kernel headers useable with the combination of glibc and kernel, as approved
+   by the distribution. Do not blindly use random kernel headers, do not
+   symlink them to /usr/include/linux or /usr/include/asm*.
 
-NOTE for all Linux versions using libc.so.6:
+Notes about support on Linux:
 
-	Libc.so.6 is definitely a big problem in binary compatibility.
-	First you should note that Linux is not a OS but only a kernel.
+ - Linux kernel versions between 2.6.8 and 2.6.11 are known to have invasive
+   SCSI command filtering which makes the use of wodim almost inpossible or
+   complicated for non-root users. Avoid those kernel versions, unless they
+   have been patched to disable that filtering.
 
-	Creating a OS from kernel, libraries and applications is done
-	by various companies that create "Linux distributions". It seems
-	that these companies (e.g. SuSE and Red Hat) are fighting wars
-	against each other.
+ - support of generic scsi was limited on 2.4, ie. not available directly with
+   IDE/ATAPI devices. The ide-scsi driver could be used map ATAPI devices to
+   SCSI ids, however this driver had other problems. See README.ATAPI for
+   details. Note that there also the ATAPI:... device access method using an
+   undocumented (?) backdoor, however its usage is NOT RECOMMENDED and the
+   support may be removed in future versions.
 
-	There is no guarantee that a binary that has been compiled
-	on one Linux distribution will run correctly on a different
-	release of the same vendor or on a distribution from a different 
-	vendor. You cannot copy binaries between different Linux
-	versions, always compile the sources by yourself.
+ - the DMA transfer size is limited with some device controllers and the Linux
+   kernel 2.6.x (2.6.19 currently) provides no method to retrieve it for
+   exactly one device. Wodim scans sysfs to retrieve this information, but it
+   needs to be mounted. Use the ts= option of wodim to limit the transfer size
+   on problems.
 
-	We should consider that the name libc.so.6 is burned out for
-	these incompatibility reasons. But stop: Don't be too fast.
-	The dynamic linker on Linux does not work correctly. It has
-	been derived from the SunOS 4.x linker (which worked correctly)
-	but  the Linux version does not even warn if it could not
-	find a library with the right major version number. Until
-	this is fixed it makes no sense to switch to libc.so.7
 
-	See below for more information.
-
-
-NOTES for S.u.S.E distributions: If the "make" run aborts with strange messages,
-then you need to unset an environment variable called PROMPT_COMMAND
-It contains illegal values for a make file system.
-
-		I M P O R T A N T
-
-	please carefully read all notes:
-
-Newer Linux kernels (from 2.3.51) moved SVSv shared memory into a filesystem.
-If you get messages with error code EINVAL related to shared memory, you 
-most likely installed a newer kernel on an old system that does not mount
-the new shared memory filesystem.
-For information on this filesystem please read README.linux-shm
-
-If you have any problems to access a device on the SCSI bus, check your
-/dev/sg devices first. Your system should either only have /dev/sga...
-or /dev/sg0... The newer Linux kernel use /dev/sg0... so the actual
-SCSI transport code checks for /dev/sg0... first. Many Linux installations
-have too few /dev/sg* device nodes. This is because of the funny device 
-mapping. It may be possible that one SCSI device eats up 8 /dev/sg* entries.
-I recommend to have at least 20 /dev/sg* device nodes.
-
-In any case: first read the man page for hints how to specify the device.
-If nothing helps, first run e.g. wodim -scanbus. If this does not find
-your device, the problem is in your kernel or system installation.
-If scanning the bus finds the device, you are using the wrong device name.
-If nothing help try to call e.g. strace wodim 
-
-Linux ATAPI hints:
-
-Read README.ATAPI to learn how to use ATAPI drives with the SCSI transport
-library.
-
-Linux SCSI hints:
-
-If you want to use the user SCSI library on a target that is connected
-to a SCSI hostadapter which is not the first, you need to apply a patch
-to your Linux kernel code. This patch is located in the file 
-
-Linux.scsi-patch
-
-Please chdir to /usr/src, call
-patch  < Linux.scsi-patch
-and re-compile and re-install your kernel.
-
-Linux kernels past 2.0.30 will probably already have this patch included.
-
-I recommend to use Linux 2.0.35 or later or Linux 2.1.115 or later.
-These versions of Linux will include ATAPI support in a way needed by wodim.
-Linux 2.1.115 or newer will in addition support the Parallel Port / ATAPI
-adapters found in some CD-R or CD-RW drives.
-
-IMPORTANT:
-
--	Linux driver design oddities ******************************************
-	Although wodim supports to use dev=/dev/sgc, it is not recommended
-	and it is unsupported.
-
-	The /dev/sg* device mapping in Linux is not stable! Using dev=/dev/sgc
-	in a shell script may fail after a reboot because the device you want
-	to talk to has moved to /dev/sgd. For the proper and OS independent
-	dev=<bus>,<tgt>,<lun> syntax read the man page of wodim.
-
--	Linux Kernel bug ******************************************************
-	In some architectures (at least on sparc / alpha / ppc) kernels prior
-	to 2.0.32 are not usable because the call to mlockall() kills wodim.
-
--	You configured you kernel the wrong way *******************************
-	If you get a message like:
-
-		wodim: Function not implemented. shmget failed
-
-	You need to look for three possible reasons:
-
-	-	You are using a Linux Kernel 2.3.51 or newer.
-		Read README.linux-shm
-
-	-	You removed SVSv IPC from your kernel. You need to enable it again.
-		Run a Linux kernel config and recompile with SYSv IPC.
-
-	-	The allowed amount of shared memory in the kernel is
-		not sufficient. See next main point for a solution:
-
--	Linux kernel oddities *************************************************
-	You may need to edit /usr/src/linux/include/asm*/shmparam.h to allow at least 
-	4 MB of shared memory for your architecture by modifying SHMMAX
-	and re-compile/re-install Linux !
-	(note that Linux for Intel by default allows 16 MB) 
-
-	Do this by e.g. changing the #define for SHMMAX to:
-
-	#define SHMMAX 0x1000000                /* max shared seg size (bytes) */
-
-	This will allow 16 MB for shared memory.
-
--	Linux kernel memory management ****************************************
-	If you get the message: "Cannot allocate memory. Cannot send SCSI cmd via ioctl"
-	Your kernel/include files are inconsistent.
-
-		This seems to be the case with most actual Linux kernels!!!!!!
-
-	Make sure, that the include file /usr/src/linux/include/scsi/sg.h
-	reflects the actual kernel. Usually, the files /usr/include/scsi/sg.h
-	and /usr/src/linux/include/scsi/sg.h should be identical.
-
-	**** Never change the content of /usr/src/linux/include/scsi/sg.h without
-	properly recompiling the kernel. wodim depends on the fact that
-	the value of the define SG_BIG_BUFF uses the same value as the actual
-	kernel. Use wodim -scanbus -debug to get the value of SG_BIG_BUFF
-	with wodim has been compiled. An output of:
-
-		scsi_getbuf: 32768 bytes
-
-	indicates that wodim has been compiled with 32k SG_BIG_BUF
-
-	The Linux 'sg' driver is the worst driver design, I've ever seen.
-
--	Linux Binary incompatibility *****************************************
-	If any of the options that take a equal sign ('=') in the middle does
-	not work correctly (e.g. dev= or if=) you are using a binary that
-	does not work correctly on your current OS distribution.
-
-	If dev=0,0,0 does not work but -dev=0,0,0 works you found this
-	incompatibility. This problem is caused by an incompatibility
-	in ctype.h and it seems that there are other compatibility problems
-	e.g. with reading /etc/wodim.conf.
-
-	You cannot copy binaries between different Linux versions,
-	always compile the sources by yourself. 
-
-	If a hint from a user is correct then even a RPM binary built for
-	RH-6.2 did not work on RH-6.2 because of these binary incompatibilities.
-
-
-Joerg
-
-Edited for cdrkit by Eduard Bloch <blade at debian.org>
-
-
 Additional comments moved from the wodim.1 manpage (originaly cdrecord.1):
 
-When using wodim with the broken "Linux SCSI generic driver." You should note
-that wodim uses a hack, that tries to emulate the functionality of the scg
-driver.  Unfortunately, the sg driver on Linux has several severe bugs:
+The sg driver on Linux has several severe bugs:
 
  - It cannot see if a SCSI command could not be sent at all.
  - It cannot get the SCSI status byte.
@@ -190,4 +44,4 @@
  - It fetches too few data in auto request sense (CCS/SCSI-2/SCSI-3 needs
    >= 18).
 
- -- Reviewed by Eduard Bloch  -- Sat, 09 Sep 2006 11:49:08 +0200
+ -- Reviewed by Eduard Bloch -- 12/2006




More information about the Debburn-changes mailing list