README.linux
上传用户:xiejiait
上传日期:2007-01-06
资源大小:881k
文件大小:4k
- WARNING: Do not use 'mc' to extract the tar file!
- All mc versions before 4.0.14 cannot extract symbolic links correctly.
- Linux includes the gnu make program by default but it is called 'make' on linux.
- You will definitely need the shell script Gmake.linux to use gmake
- on a linux system.
- Install it as /usr/bin/Gmake with:
- cp Gmake.linux /usr/bin/Gmake
- Then compile the system by calling:
- /usr/bin/Gmake
- or ./Gmake.linux
- NOTES for S.u.S.E distributions: you must 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 :
- 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. cdrecord -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 cdrecord
- 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 cdrecord.
- 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:
- - Although cdrecord 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 independant
- dev=<bus>,<tgt>,<lun> syntax read the man page of cdrecord.
- - In some architectures (at least on sparc / alpha / ppc) kernels prior
- to 2.0.32 are not usable because the call to mlockall() kills cdrecord.
- - If you get a message like:
- cdrecord: Function not implemented. shmget failed
- You removed SVSv IPC from your kernel. You need to enable it again.
- - 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.
- - 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. Cdrecord depends on the fact that
- the value of the define SG_BIG_BUFF uses the same value as the actual
- kernel. Use cdrecord -scanbus -debug to get the value of SG_BIG_BUFF
- with cdrecorrd has been compiled. An output of:
- scsi_getbuf: 32768 bytes
- indicates that cdrecord has been compiled with 32k SG_BIG_BUF
- The Linux 'sg' driver is the worst driver design, I've ever seen.
- Joerg