2008-02-14 21:46:01 +00:00
|
|
|
------------------------------------------------------------------------------
|
|
|
|
libburnia-project.org
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
libisoburn. By Vreixo Formoso <metalpain2002@yahoo.es>
|
|
|
|
and Thomas Schmitt <scdbackup@gmx.net>
|
|
|
|
Integrated sub project of libburnia-project.org.
|
|
|
|
Copyright (C) 2006-2008 Vreixo Formoso, Thomas Schmitt.
|
|
|
|
Provided under GPL version 2.
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
libisoburn is a frontend for libraries libburn and libisofs which enables
|
|
|
|
creation and expansion of ISO-9660 filesystems on all CD/DVD media supported
|
|
|
|
by libburn. This includes media like DVD+RW, which do not support multi-session
|
|
|
|
management on media level and even plain disk files or block devices.
|
|
|
|
|
|
|
|
The price for that is thorough specialization on data files in ISO-9660
|
|
|
|
filesystem images. So libisoburn is not suitable for audio (CD-DA) or any
|
|
|
|
other CD layout which does not entirely consist of ISO-9660 sessions.
|
|
|
|
|
|
|
|
Currently it is only supported on Linux with kernels >= 2.4.
|
|
|
|
|
|
|
|
By using this software you agree to the disclaimer at the end of this text:
|
|
|
|
"... without even the implied warranty ..."
|
|
|
|
|
|
|
|
|
|
|
|
Compilation, First Glimpse, Installation
|
|
|
|
|
|
|
|
Dynamic library and compile time header requirements for libisoburn-0.1.0 :
|
|
|
|
- libburn.so.4 , version libburn-0.4.2 or higher
|
|
|
|
- libisofs.so.6 , version libisofs-0.6.2 or higher
|
|
|
|
libisoburn and xorriso will not start with libraries which are older than their
|
|
|
|
headers seen at compile time. So compile in the oldest possible installation
|
|
|
|
setup unless you have reason to enforce a newer bug fix level.
|
|
|
|
|
|
|
|
Obtain libisoburn-0.1.0.tar.gz, take it to a directory of your choice and do:
|
|
|
|
|
|
|
|
tar xzf libisoburn-0.1.0.tar.gz
|
|
|
|
cd libisoburn-0.1.0
|
|
|
|
|
|
|
|
Within that directory execute:
|
|
|
|
|
|
|
|
./configure --prefix=/usr
|
|
|
|
make
|
|
|
|
|
|
|
|
Then become superuser and execute
|
|
|
|
make install
|
|
|
|
which will make available libisoburn.so.1 .
|
|
|
|
|
|
|
|
For the API concepts and calls see
|
|
|
|
./libisoburn/libisoburn.h
|
|
|
|
as well as
|
|
|
|
/usr/lib/libisofs/libisofs.h
|
|
|
|
/usr/lib/libburn/libburn.h
|
|
|
|
|
|
|
|
|
2008-02-15 12:05:16 +00:00
|
|
|
xorriso
|
|
|
|
|
2008-02-14 21:46:01 +00:00
|
|
|
libisoburn includes a command line and dialog application named xorriso,
|
|
|
|
which offers a substantial part of libisoburn features to shell scripts and
|
2008-02-15 12:05:16 +00:00
|
|
|
users. Its file xorriso/README describes a standlone tarball as first
|
|
|
|
preference for xorriso installation.
|
|
|
|
The installation described here produces a dynamically linked xorriso binary
|
|
|
|
as described in chapter "libisoburn" at the end of that text.
|
2008-02-14 21:46:01 +00:00
|
|
|
|
2008-02-15 12:05:16 +00:00
|
|
|
After installation documentation is available via
|
|
|
|
man xorriso
|
2008-02-14 21:46:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
Drives and Disk File Objects
|
|
|
|
|
|
|
|
The user of libisoburn applications needs rw-permission for the CD/DVD burner
|
|
|
|
devices which shall be used.
|
|
|
|
A list of rw-accessible drives can be obtained by
|
|
|
|
xorriso -devices
|
|
|
|
resp. by libburn API call
|
|
|
|
burn_drive_scan()
|
|
|
|
|
|
|
|
|
|
|
|
A possible source of problems are hald or other automounters.
|
|
|
|
If you can spot a process "hald-addon-storage" with the address of
|
|
|
|
your desired drive, then consider to kill it.
|
|
|
|
|
|
|
|
If you cannot get rid of the automounter that easily, try whether it helps
|
|
|
|
to always load the drive tray manually before starting a write run of
|
|
|
|
xorriso. Wait until the drive light is off.
|
|
|
|
Better try to unmount an eventually mounted media before a write run.
|
|
|
|
|
|
|
|
|
|
|
|
Besides true optical drives, libisoburn can also address disk files as input or
|
|
|
|
output drives. The addresses of the disk files have to be preceded by "stdio:".
|
|
|
|
Like:
|
|
|
|
"stdio:/tmp/pseudo_drive"
|
|
|
|
|
|
|
|
|
|
|
|
Testing
|
|
|
|
|
|
|
|
We are quite sure that libisofs produces accurate representations of the disk
|
|
|
|
files. This opinion is founded on a lot of test burns and checks by a little
|
|
|
|
test program which compares files from the mounted image with the orignals
|
|
|
|
on disk. It uses the normal POSIX filesystem calls, i.e. no libburnia stuff.
|
|
|
|
|
|
|
|
This program is not installed systemwide but stays in the installation
|
|
|
|
directory of the xorriso tarball as test/compare_file . Usually it is
|
|
|
|
run as -exec payload of a find command. It demands at least three arguments:
|
|
|
|
The path of the first file to compare, the prefix1 to be cut off from path
|
|
|
|
and the prefix2 which gets prepended afterwards to obtain the path of the
|
|
|
|
second file to compare.
|
|
|
|
As further argument there can be -no_ctime which suppresses the comparison
|
|
|
|
of ctime date stamps.
|
|
|
|
The exit value is 0 if no difference was detected, non-0 else.
|
|
|
|
|
|
|
|
Example: After
|
|
|
|
xorriso ... -pathspecs on -add /=/original/dir --
|
|
|
|
mount /media/dvd
|
|
|
|
cd test
|
|
|
|
compare tree /media/dvd with tree /original/dir :
|
|
|
|
find /original/dir -exec ./compare_file '{}' /original/dir /media/dvd ';' \
|
|
|
|
| less
|
|
|
|
and vice versa:
|
|
|
|
find /media/dvd -exec ./compare_file '{}' /media/dvd /original/dir ';' \
|
|
|
|
| less
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License version 2 as
|
|
|
|
published by the Free Software Foundation.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
Based on and sub project of:
|
|
|
|
libburnia-project.org
|
|
|
|
By Mario Danic <mario.danic@gmail.com>,
|
|
|
|
Vreixo Formoso <metalpain2002@yahoo.es>
|
|
|
|
Thomas Schmitt <scdbackup@gmx.net>
|
|
|
|
Copyright (C) 2006-2008 Mario Danic, Vreixo Formoso, Thomas Schmitt.
|
|
|
|
|
|
|
|
libburnia-project.org is inspired by and in other components still containing
|
|
|
|
parts of old
|
|
|
|
Libburn. By Derek Foreman <derek@signalmarketing.com> and
|
|
|
|
Ben Jansens <xor@orodu.net>
|
|
|
|
Copyright (C) 2002-2006 Derek Foreman and Ben Jansens
|
|
|
|
|