README.linux
上传用户:xiejiait
上传日期:2007-01-06
资源大小:881k
文件大小:4k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. WARNING: Do not use 'mc' to extract the tar file!
  2. All mc versions before 4.0.14 cannot extract symbolic links correctly.
  3. Linux includes the gnu make program by default but it is called 'make' on linux.
  4. You will definitely need the shell script Gmake.linux to use gmake
  5. on a linux system.
  6. Install it as /usr/bin/Gmake with:
  7. cp Gmake.linux /usr/bin/Gmake
  8. Then compile the system by calling:
  9. /usr/bin/Gmake
  10. or ./Gmake.linux
  11. NOTES for S.u.S.E distributions: you must unset an environment variable
  12. called PROMPT_COMMAND
  13. It contains illegal values for a make file system.
  14. I M P O R T A N T :
  15. If you have any problems to access a device on the SCSI bus, check your
  16. /dev/sg devices first. Your system should either only have /dev/sga...
  17. or /dev/sg0... The newer Linux kernel use /dev/sg0... so the actual
  18. SCSI transport code checks for /dev/sg0... first. Many Linux installations
  19. have too few /dev/sg* device nodes. This is because of the funny device 
  20. mapping. It may be possible that one SCSI device eats up 8 /dev/sg* entries.
  21. I recommend to have at least 20 /dev/sg* device nodes.
  22. In any case: first read the man page for hints how to specify the device.
  23. If nothing helps, first run e.g. cdrecord -scanbus. If this does not find
  24. your device, the problem is in your kernel or system installation.
  25. If scanning the bus finds the device, you are using the wrong device name.
  26. If nothing help try to call e.g. strace cdrecord 
  27. Linux ATAPI hints:
  28. Read README.ATAPI to learn how to use ATAPI drives with the SCSI transport
  29. library.
  30. Linux SCSI hints:
  31. If you want to use the user SCSI library on a target that is connected
  32. to a SCSI hostadapter which is not the first, you need to apply a patch
  33. to your Linux kernel code. This patch is located in the file 
  34. Linux.scsi-patch
  35. Please chdir to /usr/src, call
  36. patch  < Linux.scsi-patch
  37. and re-compile and re-install your kernel.
  38. Linux kernels past 2.0.30 will probably already have this patch included.
  39. I recommend to use Linux 2.0.35 or later or Linux 2.1.115 or later.
  40. These versions of Linux will include ATAPI support in a way needed by cdrecord.
  41. Linux 2.1.115 or newer will in addition support the Parallel Port / ATAPI
  42. adapters found in some CD-R or CD-RW drives.
  43. IMPORTANT:
  44. - Although cdrecord supports to use dev=/dev/sgc, it is not recommended
  45. and it is unsupported.
  46. The /dev/sg* device mapping in Linux is not stable! Using dev=/dev/sgc
  47. in a shell script may fail after a reboot because the device you want
  48. to talk to has moved to /dev/sgd. For the proper and OS independant
  49. dev=<bus>,<tgt>,<lun> syntax read the man page of cdrecord.
  50. - In some architectures (at least on sparc / alpha / ppc) kernels prior
  51. to 2.0.32 are not usable because the call to mlockall() kills cdrecord.
  52. - If you get a message like:
  53. cdrecord: Function not implemented. shmget failed
  54. You removed SVSv IPC from your kernel. You need to enable it again.
  55. -       You may need to edit /usr/src/linux/include/asm*/shmparam.h to allow at least 
  56.         4 MB of shared memory for your architecture by modifying SHMMAX
  57. and re-compile/re-install Linux !
  58. (note that Linux for Intel by default allows 16 MB) 
  59. Do this by e.g. changing the #define for SHMMAX to:
  60. #define SHMMAX 0x1000000                /* max shared seg size (bytes) */
  61. This will allow 16 MB for shared memory.
  62. - If you get the message: "Cannot allocate memory. Cannot send SCSI cmd via ioctl"
  63. Your kernel/include files are inconsistent.
  64. This seems to be the case with most actual Linux kernels!!!!!!
  65. Make sure, that the include file /usr/src/linux/include/scsi/sg.h
  66. reflects the actual kernel. Usually, the files /usr/include/scsi/sg.h
  67. and /usr/src/linux/include/scsi/sg.h should be identical.
  68. **** Never change the content of /usr/src/linux/include/scsi/sg.h without
  69. properly recompiling the kernel. Cdrecord depends on the fact that
  70. the value of the define SG_BIG_BUFF uses the same value as the actual
  71. kernel. Use cdrecord -scanbus -debug to get the value of SG_BIG_BUFF
  72. with cdrecorrd has been compiled. An output of:
  73. scsi_getbuf: 32768 bytes
  74. indicates that cdrecord has been compiled with 32k SG_BIG_BUF
  75. The Linux 'sg' driver is the worst driver design, I've ever seen.
  76. Joerg