Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



Yet another version, fixing some patching problems with Linux Kernel 2.2.14, currently diffed against 2.3.38 Memset is still a pain in the special dark place... but it works... See the source code and the website for the rest of the documentation available. For comments etc, send them to: or check the website at

Greets, Jeroen Massar

PS-for-nosy-people: My linux development&server&router box is called heaven ( My NT X-Workstation (running only ReflectionX most of the time) is called hell ( The names have been chosen for the obvious reasons.

Legal Mumbo Jumbo

The code is GPL'ed as attached into the source code.


/dev/changer will allow you to mount all the cd's in your IDE changer(s) at once. thus avoiding the hassle with scripts or other custom software.


The code for /dev/changer can now be considered to be at a stable level.

Currently we only have the following problems:

  • It is a changer so you technically CAN'T access two slots at the same time. Thus whenever you spool two movies, one from slot 0 and the other from slot 3 the /dev/changer code will keep swapping between them every request. It'll get very slow because of this.

    I'll work on something like a timer or alike (see the source-code) which will fix this by simply only allowing a slotchange every n seconds and thus effectivly allowing datatransfer from/to that slot for that time.

  • CD's aren't locked whenever I mount them.

See the source code and the website for the rest of the documentation available.


You'll have to apply the patch to your kernel, then enable either the module or include the driver into the kernel. eg:

root@heaven:/usr/src/local/linux-2.2.4# patch -p1 <changer_19990429.diff
root@heaven:/usr/src/local/linux-2.2.4# make xconfig
root@heaven:/usr/src/local/linux-2.2.4# make-kpkg --revision=42:heaven.2.2.6 binary
root@heaven:/usr/src/local/linux-2.2.4# cd ..
root@heaven:/usr/src/local/# dpkg -i *.deb

line 1: patch the kernel
line 2: configure the kernel (select either CHANGER=module or CHANGER=yes)
line 3: make debian kernel packages, non-debian users could use:

        root@machine:/usr/src/local/linux-2.2.4# make dep bzLilo modules modules_install
line 5: install the new kernel

And don't forget to modify your lilo where required... then reboot the newly installed kernel, see your favourite kernel HOWTO...

If you've created a module you'll have to insmod it eg: alias block-major-42 changer

then you should create enough devices for the changer with:

root@heaven:/dev# for i in `seq 255`; do mknod /dev/changer$i b 42 $i; mkdir /cdrom/$i; chown root:cdrom /dev/changer$i /cdrom/$i; done

after you've done that you'll have to mount the slots, just like an ordinary cdrom, eg:

root@heaven:# mount /dev/changer4 /cdrom/4 -t iso9660

you can ofcourse put these into the /etc/fstab.

If you still got any questions do a: vi question; cat question | mail


/dev/changer - Linux Kernel CD Disk Changer support







No releases published


No packages published