home *** CD-ROM | disk | FTP | other *** search
/ linuxmafia.com 2016 / linuxmafia.com.tar / linuxmafia.com / pub / linux / backup / star-1.3.1.tar.gz / star-1.3.1.tar / star-1.3.1 / README.linux < prev    next >
Text File  |  2000-12-06  |  7KB  |  182 lines

  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.  
  4. Linux is the most self incompatible OS I know. If you have any problem,
  5. first carefully read this file.
  6.  
  7. Linux includes the gnu make program by default but it is called 'make' on linux.
  8. You will definitely need the shell script Gmake.linux to use gmake
  9. on a linux system.
  10.  
  11. Install it as /usr/bin/Gmake with:
  12.  
  13. cp Gmake.linux /usr/bin/Gmake
  14.  
  15. Then compile the system by calling:
  16.  
  17. /usr/bin/Gmake
  18. or ./Gmake.linux
  19.  
  20. NOTE for all Linux versions using libc.so.6:
  21.  
  22.     Libc.so.6 is definitely a big problem in binary compatibility.
  23.     First you should note that Linux is not a OS but only a kernel.
  24.  
  25.     Creating a OS from kernel, libraries and applications is done
  26.     by various companies that create "Linux distributions". It seems
  27.     that these companies (e.g. SuSE and Red Hat) are fighting wars
  28.     against each other.
  29.  
  30.     There is no guarantee that a binary that has been compiled
  31.     on one Linux distribution will run correctly on a different
  32.     release of the same vendor or on a distribution from a different 
  33.     vendor. You cannot copy binaries between different Linux
  34.     versions, always compile the sources by yourself.
  35.  
  36.     We should consider that the name libc.so.6 is burned out for
  37.     these incompatibility reasons. But stop: Don't be too fast.
  38.     The dynamic linker on Linux does not work correctly. It has
  39.     been derived from the SunOS 4.x linker (which worked corrctly)
  40.     but  the Linux version does not even warn if it could not
  41.     find a library with the right major version number. Until
  42.     this is fixed it makes no sense to switch to libc.so.7
  43.  
  44.     See below for more information.
  45.  
  46.  
  47. NOTES for S.u.S.E distributions: you must unset an environment variable
  48. called PROMPT_COMMAND
  49. It contains illegal values for a make file system.
  50.  
  51.         I M P O R T A N T
  52.  
  53.     please carefully read all notes:
  54.  
  55. Newer Linux kernels (from 2.3.51) moved SVSv shared memory into a filesystem.
  56. If you get messages with error code EINVAL related to shared memory, you 
  57. most likely installed a newer kernel on an old system that does not mount
  58. the new shared memory filesystem.
  59. For information on this filesystem please read README.linux-shm
  60.  
  61. If you have any problems to access a device on the SCSI bus, check your
  62. /dev/sg devices first. Your system should either only have /dev/sga...
  63. or /dev/sg0... The newer Linux kernel use /dev/sg0... so the actual
  64. SCSI transport code checks for /dev/sg0... first. Many Linux installations
  65. have too few /dev/sg* device nodes. This is because of the funny device 
  66. mapping. It may be possible that one SCSI device eats up 8 /dev/sg* entries.
  67. I recommend to have at least 20 /dev/sg* device nodes.
  68.  
  69. In any case: first read the man page for hints how to specify the device.
  70. If nothing helps, first run e.g. cdrecord -scanbus. If this does not find
  71. your device, the problem is in your kernel or system installation.
  72. If scanning the bus finds the device, you are using the wrong device name.
  73. If nothing help try to call e.g. strace cdrecord 
  74.  
  75. Linux ATAPI hints:
  76.  
  77. Read README.ATAPI to learn how to use ATAPI drives with the SCSI transport
  78. library.
  79.  
  80. Linux SCSI hints:
  81.  
  82. If you want to use the user SCSI library on a target that is connected
  83. to a SCSI hostadapter which is not the first, you need to apply a patch
  84. to your Linux kernel code. This patch is located in the file 
  85.  
  86. Linux.scsi-patch
  87.  
  88. Please chdir to /usr/src, call
  89. patch  < Linux.scsi-patch
  90. and re-compile and re-install your kernel.
  91.  
  92. Linux kernels past 2.0.30 will probably already have this patch included.
  93.  
  94. I recommend to use Linux 2.0.35 or later or Linux 2.1.115 or later.
  95. These versions of Linux will include ATAPI support in a way needed by cdrecord.
  96. Linux 2.1.115 or newer will in addition support the Parallel Port / ATAPI
  97. adapters found in some CD-R or CD-RW drives.
  98.  
  99. IMPORTANT:
  100.  
  101. -    Linux driver design oddities ******************************************
  102.     Although cdrecord supports to use dev=/dev/sgc, it is not recommended
  103.     and it is unsupported.
  104.  
  105.     The /dev/sg* device mapping in Linux is not stable! Using dev=/dev/sgc
  106.     in a shell script may fail after a reboot because the device you want
  107.     to talk to has moved to /dev/sgd. For the proper and OS independent
  108.     dev=<bus>,<tgt>,<lun> syntax read the man page of cdrecord.
  109.  
  110. -    Linux Kernel bug ******************************************************
  111.     In some architectures (at least on sparc / alpha / ppc) kernels prior
  112.     to 2.0.32 are not usable because the call to mlockall() kills cdrecord.
  113.  
  114. -    You configured you kernel the wrong way *******************************
  115.     If you get a message like:
  116.  
  117.         cdrecord: Function not implemented. shmget failed
  118.  
  119.     You need to look for three possible reasons:
  120.  
  121.     -    You are using a Linux Kernel 2.3.51 or newer.
  122.         Read README.linux-shm
  123.  
  124.     -    You removed SVSv IPC from your kernel. You need to enable it again.
  125.         Run a Linux kernel config and recompile with SYSv IPC.
  126.  
  127.     -    The allowed amount of shared memory in the kernel is
  128.         not sufficient. See next main point for a solution:
  129.  
  130. -    Linux kernel oddities *************************************************
  131.     You may need to edit /usr/src/linux/include/asm*/shmparam.h to allow at least 
  132.     4 MB of shared memory for your architecture by modifying SHMMAX
  133.     and re-compile/re-install Linux !
  134.     (note that Linux for Intel by default allows 16 MB) 
  135.  
  136.     Do this by e.g. changing the #define for SHMMAX to:
  137.  
  138.     #define SHMMAX 0x1000000                /* max shared seg size (bytes) */
  139.  
  140.     This will allow 16 MB for shared memory.
  141.  
  142. -    Linix kernel memory management ****************************************
  143.     If you get the message: "Cannot allocate memory. Cannot send SCSI cmd via ioctl"
  144.     Your kernel/include files are inconsistent.
  145.  
  146.         This seems to be the case with most actual Linux kernels!!!!!!
  147.  
  148.     Make sure, that the include file /usr/src/linux/include/scsi/sg.h
  149.     reflects the actual kernel. Usually, the files /usr/include/scsi/sg.h
  150.     and /usr/src/linux/include/scsi/sg.h should be identical.
  151.  
  152.     **** Never change the content of /usr/src/linux/include/scsi/sg.h without
  153.     properly recompiling the kernel. Cdrecord depends on the fact that
  154.     the value of the define SG_BIG_BUFF uses the same value as the actual
  155.     kernel. Use cdrecord -scanbus -debug to get the value of SG_BIG_BUFF
  156.     with cdrecord has been compiled. An output of:
  157.  
  158.         scsi_getbuf: 32768 bytes
  159.  
  160.     indicates that cdrecord has been compiled with 32k SG_BIG_BUF
  161.  
  162.     The Linux 'sg' driver is the worst driver design, I've ever seen.
  163.  
  164. -    Linux Binary incompatibility *****************************************
  165.     If any of the options that take a equal sign ('=') in the middle does
  166.     not work correclty (e.g. dev= or if=) you are using a binary that
  167.     does not work correctly on your current OS distribution.
  168.  
  169.     If dev=0,0,0 does not work but -dev=0,0,0 works you found this
  170.     incompatibility. This problem is caused by an incompatibility
  171.     in ctype.h and it seems that there are other compatibility problems
  172.     e.g. with reading /etc/default/cdrecord.
  173.  
  174.     You cannot copy binaries between different Linux versions,
  175.     always compile the sources by yourself. 
  176.  
  177.     If a hint from a user is correct then even a RPM binary built for
  178.     RH-6.2 did not work on RH-6.2 because of these binary incompatibilities.
  179.  
  180.  
  181. Joerg
  182.