ArchWiki / CDemu
ArchWiki / CDemu
ja:CDemu
zh-hans:CDemu
CDemu is a software suite designed to emulate an optical drive and disc (including CD-ROMs and DVD-ROMs). It enables you to use other disk image formats that contain more than just the standard ISO-9660 filesystem, for instance .bin/.cue, .nrg, or .ccd images. mount can directly handle only .iso disc images (which contain a single filesystem), but many images contain multiple sessions, mixed data/audio tracks… In short, cdemu enables you to mount nearly any kind of image file with ease.
Installation
CDemu can be installed with the package cdemu-client. This package pulls cdemu-daemon as its dependency, which provides a cdemu-daemon.service that will be started by D-Bus when CDemu is used. Mind this is a user service. If you are using a custom kernel, instead of the normal vhba kernel module package (vhba-module) you must use the DKMS variant of the package: vhba-module-dkms.
Since systemd does not automatically load drivers for CD/DVD drives, you need to do it manually:
# modprobe -a sg sr_mod vhbaGUI
There are several GUIs available:
GTK/Gnome: gcdemu is the official GTK version, which also provides a GNOME panel applet.
KDE: kde-cdemu-manager is the KDE equivalent which also integrates with Dolphin's Actions menu when right clicking an image file.
Examples
Loading a single image to first device:
$ cdemu load 0 ~/image.mdsLoading multiple-file image to first device:
$ cdemu load 0 ~/session1.toc ~/session2.toc ~/session3.tocLoading a text-based image in non-ASCII/non-Unicode encoding:
$ cdemu load 0 ~/image.cue --encoding=windows-1250Loading an encrypted image with password provided as an argument:
$ cdemu load 0 ~/image.daa --password=seeninplainUnloading first device:
$ cdemu unload 0Displaying device status:
$ cdemu statusDisplaying device mapping information:
$ cdemu device-mappingSetting daemon debug mask for the first device:
$ cdemu daemon-debug-mask 0 0x01Obtaining library debug mask for the first device:
$ cdemu library-debug-mask 0Disabling DPM emulation on all devices:
$ cdemu dpm-emulation all 0Enabling transfer rate emulation on first device:
$ cdemu tr-emulation 0 1Changing device ID of first device:
$ cdemu device-id 0 "MyVendor" "MyProduct" "1.0.0" "Test device ID"Enumerating supported parsers:
$ cdemu enum-supported-parsersEnumerating supported fragments:
$ cdemu enum-supported-fragmentsEnumerating supported daemon debug masks:
$ cdemu enum-daemon-debug-masksEnumerating supported library debug masks:
$ cdemu enum-library-debug-masksDisplaying daemon and library version:
$ cdemu versionEnabling support for CSS encryption on drive 0 (For when a DVD video playback is choppy)
$ cdemu dvd-report-css 0 1