GNU/Linux Desktop Survival Guide by Graham Williams |
|||||
CD writing software for GNU/Linux (prior to kernel 2.6) targets SCSI devices, so you will need to install appropriate drivers so that your ATAPI IDE CD-RW (and your CD-R/DVD if you wish) pretends to be a SCSI device. It will then be identified as /dev/scd0 rather than /dev/hdd.
Turning a IDE CD-RW into a SCSI CD-RW is pretty straightforward. First ensure the appropriate kernel modules are loaded (you need sg and ide-scsi). Use the command lsmod to list the modules currently loaded in the kernel, and the commands modconf or insmod to load the modules. If you already have the drive under the control of ide-cd then you need to get rid of it (as below).
You can ensure these happen at boot time, and the appropriate dependencies between kernel modules are identified, by creating /etc/modutils/cdrw:
# # As suggested in CD Writing HOWTO # # This assumes IDE-CD is a module rather than copmiled into kernel. # options ide-cd ignore="hdc hdd" alias scd0 sr_mode pre-install sg modprobe ide-scsi pre-install sr_mod modprobe ide-scsi pre-install ide-scsi modprobe ide-cd |
Note here that we are telling the IDE CD module to ignore the disk which we want the ide-scsi module to handle. The ide-scsi module won't touch any disks already being driven. Change the hdd to the appropriate one of hda, hdb, hdc, or hdd. To check which one to ignore look through the output of the dmesg command for the CD-RW line which identifies the driver, which on Altrop (97.21) is:
hdd: ATAPI 40X CD-ROM CD-R/RW drive, 2048kB Cache |
Thus ide-cd should ignore hdd. If you want all CD drives to be SCSI (useful for some cases like cdrdao when asked to copy a disk) then don't include either of the lines that mention ide-cd!
Now update the modules.conf file with:
# update-modules |
Finally, tell the kernel to load the modules at boot time by adding the following to /etc/modules
sr_mod sg ide-cd |
You will now probably need to reboot to have the new configuration take effect. Also, don't include ide-cd if you want all your drives recognised as SCSI.
Once set up cdrecord can be used to identify the SCSI device on which the CD writer sits:
For example, on Mint (97.28) the device is 0,1,0. The LG CD-RW CED-8080B 1.04 on this host is identified using:
# cdrecord -scanbus scsibus0: 0,0,0 0) '_NEC ' 'DV-5700A ' '3.07' Removable CD-ROM 0,1,0 1) 'LG ' 'CD-RW CED-8080B ' '1.04' Removable CD-ROM |
On Velox (97.27) the device is 2,0,0. The SONY CD-RW CRX140E on this host is identified using:
# cdrecord -scanbus scsibus0: 0,0,0 0) 'QUANTUM' 'ATLAS10K2-TY184L' 'DA40' Disk scsibus2: 2,0,0 200) 'SONY' 'CD-RW CRX140E' '1.0n' Removable CD-ROM |
Altrop (97.21) and Velox (97.27) have DVD drives (which remain as IDE devices as /dev/hdc) and a CD-RW writer (which with the above set up becomes /dev/scd0). Mint (97.28) also has two drives but both are run as SCSI devices.
If you are having problems with CD drives being found try adding ide-probe-modbefore ide-scsi in /etc/modules.
A line that someone suggested to be added to lilo.conf:
append = "apm=on apm=power-of idebus=N hdc=ide-scsi hdd=ide-scsi max_scsi_luns=1" |
I've not used this.