CDEmu
CD ドライブエミュレータ CDEmu を動かしてみます。
Windows には、DAEMON Tools という 仮想 CD ドライブがあり、使っていました。Linux で同様なものがないかを探したら、CDEmu というものがありました。しかし、パッケージはないのでソースから、コンパイルできるかどうか試します。
ソースをダウンロードする
https://cdemu.sourceforge.io/ からソースをダウンロードします。ダウンロードしたソースは、以下の 6 つです。
- libmirage-3.2.4.tar.bz2
- image-analyzer-3.2.4.tar.bz2
- cdemu-client-3.2.4.tar.bz2
- cdemu-daemon-3.2.4.tar.bz2
- gcdemu-3.2.4.tar.bz2
- vhba-module-20200106.tar.bz2
必要なパッケージのインストール
コンパイルする際にいくつかのパッケージが必要になります。
$ sudo apt-get install libnotify-dev libao-dev intltool
カーネルモジュールのコンパイル環境の構築
カーネルモジュールのコンパイルが必要になるので、環境を構築します。
https://qiita.com/newtypehiro919/items/336e09340e728a94a9f7を参考に準備を整えました。
2021.04.09 追記
カーネルモジュールビルドの準備の記事をアップしました。
コンパイルとインストール
vhba-module 以外は、展開してコンパイル、インストールでいいですが、はじめに cdemu-daemon に必要な libmirageをインストールしなければなりません。次のようにします。(xxx はパッケージ名)
$ tar xvfj xxx.tar.bz2
$ cd xxx
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install
$ cd ..
libmirage を入れたあと、ldconfig を実行します。
$ sudo ldconfig
カーネルモジュールのコンパイル
vhba-module は展開したディレクトリに移動して、次のようにします。
$ sudo make modules
$ sudo make modukes_install
$ sudo depmod -A
当然、カーネルモジュールのコンパイルの準備が済んでいないとコンパイルできません。
udev のルール追加
全部インストールできたら、/etc/udev/rules.d に 99-cdemu.rules を追加します。内容は以下の 1 行です。
KERNEL=="vhba_ctl", MODE="0660″, OWNER="root", GROUP="cdrom"
念の為再起動したあと、モジュールをロードしてみます。
$ sudo modprobe vhba
lsmod でモジュールがあれば成功です。
$ lsmod | grep vhba
gcdemu コマンドを実行すれば、システムトレイに gcdemu が常駐します。クリックでイメージをマウントするダイアログが表示されます。
rc.local の修正
最後に、カーネルモジュールの vhba を起動時にロードするように、/etc/rc.local に次の一行を追加します。
modprobe vhba
もっと苦戦するかと思いましたが、意外と楽にインストールできました。これで仮想 CD ドライブに CD イメージをマウントできるようになります。
ディスカッション
コメント一覧
まだ、コメントがありません