Next Previous Contents

32. SCSI CD-ROM Changers: Installing and Setup

Most SCSI CD Changers use one SCSI ID number and then use LUNs (Logical Unit IDs) to address each CD within the changer. With LUNs, now you can access all 4-?12? CDs in the changer from a single SCSI ID. Problem is, not all changer's LUN systems work with Linux.

Because of this, you will have to experiment with the kernel option for Multi-LUN scan support. With my Nakamichi 7-CD changer (old 2x-speed), if I enable the multi-LUN support, my kernel would HANG after the box would post the SCSI changer device but before it was to post an additional single CD CD-ROM drive. By turning OFF the Multi-LUN kernel option and recompiling, my box would boot fine.

So, with that in mind:

- Try to NOT ENABLE the:

Probe all LUNs on each SCSI device (CONFIG_SCSI_MULTI_LUN) [N/y/?]

option unless your changer is NOT properly recognized.

- Add the changer to the SCSI chain and boot up the linux box.

- Create the following file: /etc/rc.d/rc.cdrom

NOTE: Please note that the UID and GIDs are specific to my machine and you will need to change them for your system. UIDs are defined in /etc/passwd and GIDs are defined in /etc/groups.

NOTE2: The permissions of these CDROMs after mounting STILL isn't right. I'm working on it but I have to admit I'm stumped.

/etc/rc.d/rc.cdrom


--
#!/bin/sh

# See how we were called.
case "$1" in
 start)

  echo "Mounting CD-ROMs.."

  mount -t iso9660 /dev/scd0 ~hpe/CDROMs/Cdrom0 -o norock,uid=501,gid=10,suid,mode=0550
  mount -t iso9660 /dev/scd1 ~hpe/CDROMs/Cdrom1 -o norock,uid=501,gid=10,suid,mode=0550
  mount -t iso9660 /dev/scd2 ~hpe/CDROMs/Cdrom2 -o norock,uid=501,gid=10,suid,mode=0550
  mount -t iso9660 /dev/scd3 ~hpe/CDROMs/Cdrom3 -o norock,uid=501,gid=10,suid,mode=0550
  mount -t iso9660 /dev/scd4 ~hpe/CDROMs/Cdrom4 -o norock,uid=501,gid=10,suid,mode=0550
  mount -t iso9660 /dev/scd5 ~hpe/CDROMs/Cdrom5 -o norock,uid=501,gid=10,suid,mode=0550
  mount -t iso9660 /dev/scd6 ~hpe/CDROMs/Cdrom6 -o norock,uid=501,gid=10,suid,mode=0550
#  mount -t iso9660 /dev/scd7 ~hpe/CDROMs/Cdrom7 -o norock,uid=501,gid=10,suid,mode=0550
  ;;

 start0)
  mount -t iso9660 /dev/scd0 ~hpe/CDROMs/Cdrom0 -o norock,uid=501,gid=10,suid,mode=0550
 ;;

 start1)
  mount -t iso9660 /dev/scd1 ~hpe/CDROMs/Cdrom1 -o norock,uid=501,gid=10,suid,mode=0550
 ;;

 start2)
  mount -t iso9660 /dev/scd2 ~hpe/CDROMs/Cdrom2 -o norock,uid=501,gid=10,suid,mode=0550
 ;;

 start3)
  mount -t iso9660 /dev/scd3 ~hpe/CDROMs/Cdrom3 -o norock,uid=501,gid=10,suid,mode=0550
 ;;

 start4)
  mount -t iso9660 /dev/scd4 ~hpe/CDROMs/Cdrom4 -o norock,uid=501,gid=10,suid,mode=0550
 ;;

 start5)
  mount -t iso9660 /dev/scd5 ~hpe/CDROMs/Cdrom5 -o norock,uid=501,gid=10,suid,mode=0550
 ;;

 start6)
  mount -t iso9660 /dev/scd6 ~hpe/CDROMs/Cdrom6 -o norock,uid=501,gid=10,suid,mode=0550
 ;;

 start7)
  mount -t iso9660 /dev/scd7 ~hpe/CDROMs/Cdrom7 -o norock,uid=501,gid=10,suid,mode=0550
 ;;

 stop)
        echo "Unmounting CD-ROMs.."

        umount /dev/scd0 
        umount /dev/scd1 
        umount /dev/scd2 
        umount /dev/scd3 
        umount /dev/scd4 
        umount /dev/scd5 
        umount /dev/scd6 
        umount /dev/scd7 
        ;;

  stop0)
        umount /dev/scd0 
  ;;

  stop1)
        umount /dev/scd1 
  ;;

  stop2)
        umount /dev/scd2 
  ;;
  stop3)
        umount /dev/scd3 
  ;;

  stop4)
        umount /dev/scd4 
  ;;

  stop5)
        umount /dev/scd5 
  ;;

  stop6)
        umount /dev/scd6 
  ;;

  stop7)
        umount /dev/scd7 
  ;;

  *)
        echo "Usage: rc.cdrom {start|stop|startn|stopn} where "n" is the CDROM drive ID"
        exit 1
esac

exit 0
--

- Make the rc.cdrom script executable by running "chmod r+x rc.cdrom" - Make the mount points for the CD- Changer's CDs:


                mkdir ~hpe/CDROMs/Cdrom0; mkdir ~hpe/CDROMs/Cdrom1; mkdir ~hpe/CDROMs/Cdrom2; mkdir ~hpe/CDROMs/Cdrom3;
                mkdir ~hpe/CDROMs/Cdrom4; mkdir ~hpe/CDROMs/Cdrom5; mkdir ~hpe/CDROMs/Cdrom6; mkdir ~hpe/CDROMs/Cdrom7

- Change the permissions on the newly created dirs:


                chown 550 ~hpe/CDROMs/Cdrom*
                chgrp wheel ~hpe/CDROMs/Cdrom*
                chown hpe ~hpe/CDROMs/Cdrom*

- Edit the "/etc/rc.d/rc.local" file and add the following lines at the end:


                --
                #Run the cdrom mount script
                /etc/rc.d/rc.cdrom start
                --


Next Previous Contents