Projects :: Changer
Normally it isn't possible to mount all the discs of a changer at once, that is because when you mount one slot you can't change to another anymore, because the cdrom gets locked. And of course you'll have to unmount it and then you'll have to change discs by hand.
One could solve this with a script but what if you want to share the drives with NFS or Samba and you don't want people to have to hassle with the scripts; let alone when multiple people try...
This little wrapper driver solves this problem. When it is loaded by the kernel it seeks in the Unified CdRom driver list and checks for changers (capacity>1&changable).
It adds these devices to an changer-internal list, opens them and adds them to the changer-devices minor list. The devices changer:minor can then be mounted like any other normal cdrom device, as it acts like a single cdrom device... The other minors can also be mounted at the same time as the changer-wrapper will change to the appropriate slot when it needs access to it.
NOTE: This driver works with ANY cdrom driver, not only IDE but also scsi and other drivers supporting the Unified CdRom driver changing mechanism.
Mounting with block=2048 & /etc/fstab
I use "block=2048" to increase read performance a bit and also helps against too many changes as now it'll change at least per 2048 bytes.
The changer-part of the fstab on heaven looks like:
/dev/changer0 /cdrom/1 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0 /dev/changer1 /cdrom/2 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0 /dev/changer2 /cdrom/3 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0 /dev/changer3 /cdrom/4 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0 /dev/changer4 /cdrom/5 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0 /dev/changer5 /cdrom/6 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0
Revisions & Contacting
A version number is simply the date of the driver. eg. 19990316 = 16 March 1999.
For enquiries, bug-reports etc. send an email to firstname.lastname@example.org.
Current version can also be found in Github.
The following versions are available for you to download:
|Date||Name||Diffed Kernel Version||tar.gz||bzip2|
|16||March||1999||The 1st Alpha||N.A.||tar.gz||bzip2|
|17||March||1999||The 2nd Alpha||N.A.||tar.gz||bzip2|
|19||March||1999||The 3rd Alpha||N.A.||tar.gz||bzip2|
|24||March||1999||The 1st Beta||2.2.4||tar.gz||bzip2|
|07||April||1999||The 2nd Beta||2.2.5||tar.gz||bzip2|
|29||April||1999||The 3rd Beta||2.2.6-ac2||tar.gz||bzip2|
|19||May||1999||The 4th Beta||2.2.9||tar.gz||bzip2|
|01||February||2000||1st Stable||2.2.14 & 2.3.38||tar.gz||bzip2|
See the changer.desc for latest updates. For installation info check the README included in the archive.