bmv
|
|
Archangel
|
|
|
|
|
|
|
Рег.: 22.11.2003
|
|
Сообщений: 9597
|
|
Из: Universe
|
|
Рейтинг: 1431
|
|
CDemu 1.1.0 Release
24.12.2007 16:53
|
|
|
Что-то последнее время стали просыпаться, после многолетней спячки, проекты долгострои. Было уже забытый проект CDemu сегодня вышел с релизом. Хотя по изменениям относительно прошлой версии 0.8 его смело можно называть 2.0 http://cdemu.sourceforge.net/ В ответ на:
Merry Christmas and Happy New Year! - a CDemu 1.0.0 Release! December 24th, 2007 CDemu xmas logo
This is CDemu 1.0.0, a CD/DVD drive emulator for Linux.
Features:
* New design - pushed everything possible to userspace. * Thin kernel layer (should be more stable & maintainable). * .B6T, .CCD, .CDI, .CUE, .ISO, .MDS, .NRG, .TOC support. * Command line & GUI clients.
This release was brought mainly by Rok Mandeljc. We would like also introduce Chia-I Wu who contributed a new kernel module (vhba).
Why 1.0.0? Is it stable? Is it over?
CDemu 1.0.0 is based on completly new design (quite diffrent from 0.8.0), so it deserves major version number change. It's stable (of course we couldn't test everything - please post bug reports).
We have done a massive release initiated by Henrik Stokseth who among other things prepared packages for Ubuntu.
Current design should be far more friendly for both users & developers. Most of the project is in userspace now and a vhba module is thin and based on (more mature) SCSI driver. We hope that this means less hassle with constantly evolving Linux kernel.
Please, read about different parts of CDemu project to find more.
Sources & packages are available from SourceForge.net.
|
Transit-forever Mageia Linux provider
|
|
bmv
|
|
Archangel
|
|
|
|
|
|
|
Рег.: 22.11.2003
|
|
Сообщений: 9597
|
|
Из: Universe
|
|
Рейтинг: 1431
|
|
Re: CDemu 1.0.0 Release
[re: bmv]
24.12.2007 16:56
|
|
|
В ответ на:
VHBA module About
VHBA module provides Virtual (SCSI) Host Bus Adapter, which is the link between userspace daemon and linux kernel.
Contrary to what some might expect due to the "userspace" part of the name, userspace CDEmu still needs a kernel module, just like the original CDEmu - the difference is that userspace CDEmu does all the processing (i.e. file reading, fake data generation, etc.) in userspace.
Kernel module takes care of device emulation in the kernel; it registers virtual device with appripriate drivers and creates corresponding device nodes. It also creates a special character device that is used for communication with userspace.
As a virtual device is accessed, requests are generated by kernel, which are in fact SCSI commands. These are passed to userspace daemon via afore-mentioned character device. Once it processes the request, the daemon returns corresponding data and status to kernel, thus completing the request.
The whole process is very similar to accessing a real device, except that requests are passed to userspace daemon instead to hardware.
Early, experimental versions of userspace-cdemu used a module that was called cdemu-module. This release is based on VHBA module, which was written by Chia-I Wu. Contrary to cdemu-module, which implemented all the interfaces (i.e. block device, uniform CD-ROM driver, etc.) manually, VHBA implements virtual SCSI host adapter and lets the kernel's SCSI layer do the rest. This approach is cleaner, faster and more robust. Requirements
* recent kernel (2.6.19 or newer) with SCSI support
В ответ на:
libMirage library About
libMirage is a CD-ROM image access library. It is written in C and based on GLib. It's aim is to provide uniform access to the data stored in various image formats. Features
* Written in C, based on GLib and its technologies, such as GObject and GModule. * Disc layout representation via GObject-based objects representing disc, session, track, language, index, etc. * Support for both CD-ROM and DVD-ROM images * CD-TEXT, ISRC, MCN and DVD-ROM disc structures support * Capable of generating information not provided by image file; for instance, if image provides only user data, sync pattern, header, ECC/EDC codes and subchannel are generated on fly when they are attempted to be accessed. * Currently supported image formats: o B6T: BlindWrite 5/6 file format (experimental) o CCD: CloneCD image format o CDI: DiscJuggler file format (experimental) o CUE: CDRwin CUE/BIN image format o ISO: classic ISO9660 image format o MDS: Alcohol 120% image format o NRG: Nero Burning ROM image format o TOC: cdrdao's TOC/BIN image format * Plug-in based system that allows simple addition of new image format parsers or data-file access fragments. * Debugging; verbosity of debug traces can be adjusted on fly using special debug context objects. Therefore, amount of traces can be adjusted without the need to restart the application. * Various utility functions for converting address from/to LBA and MSF, interleaving and deinterleaving subchannel data, ECC/EDC generation, etc.
Requirements
* GLib 2.6 or newer * libsndfile 1.0.0 or newer * flex 2.5.33 or newer, bison (for parser code re-generation only) * gtk-doc (for documentation building)
В ответ на:
CDEmu daemon About CDEmu daemon is the userspace daemon part of the cdemu suite.
It receives SCSI commands from kernel module and processes them, passing the requested data back to the kernel.
Daemon implements the actual virtual device; one instance per each device registered by kernel module. It uses libMirage, an image access library that is part of cdemu suite, for the image access (e.g. sector reading).
Daemon is controlled through methods that are exposed via D-BUS. It is written in C and based on GLib (and thus GObjects), but being controlled over D-BUS, it allows for different clients written in different languages. Features
* Written in C, based on GLib and GObjects * D-BUS interface for communication with clients * Implemens a set of packet commands specified by MMC-3, therefore emulating real optical device * Can register itself either on session or system bus * Local and daemon mode * Debugging; on-fly change of debug traces verbosity
Requirements
* GLib 2.6 or newer * D-BUS and D-BUS GLib bindings, 6.01 or newer * libdaemon 0.10 or newer * libmirage 1.0.0 or newer (part of the suite) * VHBA module 1.0.0 or newer (part of the suite)
System bus vs. Session bus
CDEmu daemon registers a D-BUS interface that can be used by clients to communicate with it; the interface can be registered either on system or session bus.
A session bus instance is created for every user session, and is visible only within that session. On the other hand, there's only one instance of system bus, which is visible system-wide.
This means that when session bus is used, every user can run its own instance of CDEmu daemon, as long as device number limit of VHBA module is not reached. There can be only one instance of the daemon running on system bus, but it is visible to all users. Also, a single instance of daemon on system bus and multiple instances on session busses can be running at the same time.
Note that running on system bus requires special permissions; to this end, CDEmu daemon installs a D-BUS config file which by default allows root to run daemon on system bus. Session bus requires no such permissions, but the user running the daemon must have read/write permissions to VHBA character control device. Daemon mode vs. Local mode
CDEmu daemon can be run in two different modes; local and daemon.
When local mode is used, the daemon runs as a normal console applicaton; i.e. it runs in the foreground and its output is displayed in the console. When in local mode, daemon can use either system or session bus.
When run in daemon mode, the process is forked and daemon runs in background. All the output from the daemon is logged via system logger (i.e. syslogd). Running in daemon mode automatically implies the use of system bus.
В ответ на:
CDEmu CLI client About
CDEmu client is a simple command-line client for controlling CDEmu daemon.
It provides a way to perform the key tasks related to controlling the CDEmu daemon, such as loading and unloading devices, displaying devices' status and retrieving/setting devices' debug masks. Features
* CLI client * Device status display, device loading and unloading. * Support for listing supported debug masks, and debug masks getting/setting. * Support for listing supported image parsers and fragment types.
Requirements
* python 2.4 or newer * D-BUS python bindings * intltool
В ответ на:
gCDEmu GNOME applet About
gCDEmu is a GNOME applet for controlling CDEmu daemon.
It provides a graphic interface that allows performing the key tasks related to controlling the CDEmu daemon, such as loading and unloading devices, displaying devices' status and retrieving/setting devices' debug masks.
In addition, the applet listens to signals emitted by CDEmu daemon and provides notifications via libnotify (provided that python bindings are installed). Features
* GNOME applet * Supports communication via either session or system bus. * Device status display, device loading and unloading. * Support for getting/setting device's debug masks. * Daemon and device status changes notification via libnotify.
Requirements
* python 2.4 or newer * D-BUS python bindings * PyGTK, PyGObject and PyGNOME 2.6 or newer; (gnomeapplet and gconf modules are required) * intltool * notify-python (optional)
В ответ на:
Image analyzer About
Image Analyzer is a simple Gtk+ application that displays tree structure of disc image created by libMirage.
It is mostly intended as a demonstration of libMirage API use, although it can be also used to verify that an image is correctly handled by libMirage. Requirements
* Gtk+ 2.6 or newer * libmirage 1.0.0 or newer
|
Transit-forever Mageia Linux provider
|
|
|
ManMachine
|
|
1KB MEMORY OK
|
|
|
|
|
|
|
Рег.: 19.09.2006
|
|
Сообщений: 10834
|
|
Из: $HOME
|
|
Рейтинг: 8213
|
|
Re: CDemu 1.0.0 Release
[re: bmv]
24.12.2007 17:42
|
| |
| |