Initial public release:
- manages multiple dvd drives via mdev
- mounts discs by label
- mounts discs at boot
- handles volume labels with spaces in them
- ejects discs when button is pressed
Copyright (C) 2009 Brad Love
cd.manager is taken from a linux-kernel mailing list post by Jens Axboe as an example of how to poll for CDROM events and deal with them in user space. After that Peter Willis got ahold of it and enhanced it to his wishes. I then modified the source code specifically to retool it for use on the WDTV with external usb cd/dvd drives. Manages mounting and allows use of eject button with the drive, as long as there is not a file being played. Discs are mounted using their volume label if it exists. Can be theoretically used to manage multiple external drives simultaneously.
cd.manager polls the CDROM for various events and handles them accordingly.
when new media is detected the script cd.mount is executed.
when the eject button is pressed the script cd.eject is executed.
make (must have mipsel-linux cross compile toolchain installed)
follow the instructions displayed by make which are:
download cd.manager-0.5.install.tgz to wdtv, and execute from wdtv terminal:
tar -zxvf cd.manager-0.5.install.tgz -C /
for mdev compatibility aka hotplug drive capability & boot time mounting
add the following line to /etc/mdev.conf:
sr[0-9] 0:0 755 @(/etc/hotplug/cd.agent)
add the following line to /etc/filesystems above the vfat line:
8.4GiB DVD+R-DL has been tested to mount & play correctly.
Thanks to Jens and Peter for most of the work on this code.
GPL v2 compatible. see Copying for full details.
* fixed error in cd.eject to accomodate xmount double-mount'ing
* fixed clean up of all umounted directories
* fixed up Makefile a bit
* fixed issue of ghost mounting no disc (was mounted as auto)
* added logger logging to cd.agent
* added sanity checks
* manages multiple dvd drives via mdev
* mounts discs by label
* mounts discs at boot
* handles volume labels with spaces in them
* ejects discs when button is pressed
0.4 - initial public release