5. Setting up scsi emulation

5.1. Installing the ide-scsi module in the kernel

Install the ide-scsi module by running modconf.

athlon:/home/chris# modconf
scsi   Drivers for SCSI controller cards and classes of SCSI device Ok
ide-scsi   - SCSI emulation support OK
Install this module in the kernel? Yes
Enter Command-Line Arguments (leave blank) Ok
Installation succeeded
Please press ENTER when you are ready to continue. <enter>
Exit   Finished. Return to previous menu. Ok
Exit   Finished. Return to previous menu. Ok
athlon:/home/chris#

5.2. Checking that the kernel is running ide-scsi

The ide-scsi module will be included in the kernel at the next boot. Re-boot the system

athlon:/home/chris# shutdown -r now

After re-booting, use dmesg to check the start-up messages. You are looking for confirmation that the ide-scsi emulation is working. In my case a drive called "scsi0" is listed. You also need to know the block device for your CD (re-)writer drive - in my case it is "hdc".

athlon:/home/chris# dmesg | grep ATAPI

Here is a listing of the output from my system:

hdc: PHILIPS CDRW1610A, ATAPI CDROM drive
hdc: ATAPI 40X CD-ROM CD-R/RW drive, 8192kB Cache
scsi0 : SCSI host adapter emulation for IDE ATAPI devices

There are two entries for "hdc". This is the only CDROM drive in my PC. As you can see, the listing also suggests that the drive has 8MB of memory.

5.3. Modifying the lilo.conf file

You need to modify "lilo.conf" so that Linux recognises your CD (re-)writer drive as a SCSI drive. You can use any text editor, but I have given detailed instructions for emacs.

If you are working in a terminal window, you must invoke emacs from the terminal prompt (not from the desktop menu). This is so that you retain root privileges during editing.

athlon:/home/chris# emacs /etc/lilo.conf

My lilo.conf looked like this (but it may contain comment lines too):

boot=/dev/hda7
root=/dev/hda7
compact
install=/boot/boot.b
map=/boot/map
vga=normal
delay=20
image=/vmlinuz
label = Linux
read-only

Under the line beginning with "root=", add this line (substituting for block device "hdc" if necessary):

append="hdc=ide-scsi max_scsi_luns=1"

Save the file and exit using these commands:

<F10> f s
<F10> f e

It should now look something like this:

boot=/dev/hda7
root=/dev/hda7
append="hdc=ide-scsi max_scsi_luns=1"
compact
install=/boot/boot.b
map=/boot/map
vga=normal
delay=20
image=/vmlinuz
label = Linux
read-only

The new settings will not take effect until you run lilo and reboot.

Warning

Do not forget to run LILO after making these changes.

athlon:/home/chris# lilo
athlon:/home/chris# shutdown -r now

After rebooting, login and use dmesg to look at the lines near the end of the start-up messages. Check that your "SCSI" CDROM has been detected, and that it has changed from "hdx" to "scx" . Mine was changed from "hdc" to "sc0".

athlon:/home/chris# dmesg
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
scsi : 1 host.
  Vendor: PHILIPS   Model: CDRW1610A         Rev: P1.4
  Type:   CD-ROM                             ANSI SCSI revision: 02
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray

You are now ready to test the cd writer.