3 Releases
Thomas Schmitt edited this page 2 years ago


This page contains the official source code releases of the libburnia project and pointers to the current development repository.


libisofs-1.5.4.tar.gz Sun Feb 07 2021 git tag | wiki | Signature: libisofs-1.5.4.tar.gz.sig

libisofs novelties:

  • Bug fix: Large amounts of AAIP data or many long file names could cause with zisofs an unreadable filesystem after the warning "Calculated and written ECMA-119 tree end differ"
  • Bug fix: Big-Endian MIPS Volume Header boot file size was rounded up to full 2048. Thanks René Rebe.
  • Bug fix: El Torito production failed if no catalog path is given and the first boot image path contains no slash
  • Bug fix: zisofs production was wrong on big-endian machines
  • Bug fix: Apple Partition Map entries wrote uninitialized data
  • Bug fix: Appended APM partitions without HFS+ production had start and size 1
  • Switched to usage of libjte-2.0.0
  • Implemented production and reading of zisofs2 for files larger than 4 GiB - 1
  • New struct iso_zisofs_ctrl version 2
  • New API call iso_stream_get_zisofs_par()
  • New API call iso_stream_zisofs_discard_bpt()
  • New API call iso_image_zisofs_discard_bpt()
  • New flag bits 8 to 15 in API call iso_node_zf_by_magic()
  • New API call iso_zisofs_ctrl_susp_z2()
  • New API call iso_read_opts_set_joliet_map(), new default joliet_map=stripped
  • New API calls iso_read_image_features_tree_loaded() and iso_read_image_features_rr_loaded()

libburn-1.5.4.tar.gz Sat Jan 30 2021 git tag | wiki | Signature: libburn-1.5.4.tar.gz.sig

libburn and cdrskin novelties:

  • Bug fix: Early SCSI commands from sg-linux.c were not logged
  • New API call burn_drive_set_speed_exact()
  • New API call burn_nominal_slowdown()

libisoburn-1.5.4.tar.gz Sat Jan 30 2021 git tag | wiki | Signature: libisoburn-1.5.4.tar.gz.sig

libisoburn and xorriso novelties:

  • Bug fix: -report_system_area as_mkisofs misrepresented GPT with appended partition and forced boot flag as -part_like_isohybrid
  • Bug fix: Boot catalog could get a wrong name if cat_path= is explicitely given but not containing a slash character
  • New helper script xorriso-dd-target
  • New command -truncate_overwritable
  • Switched to usage of libjte-2.0.0
  • New -jigdo parameters "checksum_algorithm", "demand_checksum", "-checksum-list"
  • New -as mkisofs options "-jigdo-checksum-algorithm", "-checksum-list", "-jigdo-force-checksum"
  • New -read_speed prefixes "soft_force:" and "soft_corr:"
  • New -check_media option data_to="-" for standard output
  • New -zisofs parameters version_2=, block_size_v2=, max_bpt=, max_bpt_f=, bpt_target=, bpt_free_ratio=, by_magic=v2, susp_z2=
  • New -as mkisofs options --zisofs-version-2, --zisofs2-susp-z2, --zisofs2-susp-zf
  • Enabled recognition of zisofs by magic without zlib support
  • New -osirrox option sparse= controls extraction into sparse files
  • New libisoburn extension options isoburn_ropt_map_joliet_stripped and isoburn_ropt_map_joliet_unmapped
  • New command -joliet_map
  • New command -extract_boot_images
  • New API call isoburn_ropt_get_tree_loaded()

The release tarballs above need only vanilla tools like make and cc.

You may verify the downloaded tarballs by help of the provided Signature files lib...x.y.z.tar.gz.sig.

gpg --keyserver keys.gnupg.net --recv-keys ABC0A854
gpg --verify lib...x.y.z.tar.gz.sig lib...x.y.z.tar.gz

which should confirm

gpg: Good signature from "Thomas Schmitt <scdbackup@gmx.net>"
Primary key fingerprint: 44BC 9FD0 D688 EB00 7C4D  D029 E9CB DFC0 ABC0 A854

For building the libraries do

tar xzf .../lib...x.y.z.tar.gz
cd lib...x.y.z
./configure ; make

For installation execute (probably you need to be superuser)

make install

System Requirements:

  • Linux with kernel 2.4: libc, libpthread, ide-scsi for IDE CD/DVD drives

  • Linux with kernel 2.6 or newer: libc, libpthread

  • FreeBSD : libc, libpthread, libcam, libiconv, atapicam for IDE and SATA drives.

  • Solaris : libc, libpthread, libvolmgt

  • NetBSD : libc, libpthread

  • OpenBSD : libc, libpthread

  • Other X/Open compliant systems: libc, libpthread. There will only be POSIX i/o with disk file objects, but no direct MMC operation on CD/DVD/BD drives.

Optional System Components:

  • Linux : libacl, libacl-devel, libreadline, libreadline-dev, zlib, zlib-devel, libjte, libbz2.

  • Other systems: libreadline, zlib, libjte, libbz2.

  • libedit can substitute for libreadline. See libisoburn/README.

If the development and runtime part of an optional component is present at compile time, then the runtime part must be present at run time. See ./configure --help for enable/disable options.

Development Repositories

If you want to run a bleeding-edge version of libburn, libisofs, and libisoburn then you need autotools of at least version 1.7. You need git for downloading. On FreeBSD or for release tarball production you will have to make a change in files ./ltmain.sh. See below.

Download and build libburn:

git clone https://dev.lovelyhq.com/libburnia/libburn.git
cd libburn
./bootstrap ; ./configure ; make 

Download and build libisofs:

git clone https://dev.lovelyhq.com/libburnia/libisofs.git
cd libisofs
./bootstrap ; ./configure ; make 

Download and build libisoburn:

git clone https://dev.lovelyhq.com/libburnia/libisoburn.git
cd libisoburn
./bootstrap ; ./configure ; make 

Building from Repositories on BSD and General Release Tarball Production

Above release tarballs are well prepared for FreeBSD, NetBSD, and OpenBSD. But build step ./bootstrap, which is necessary when building from repositories, imports some undesirable settings from a vanilla autotools installation.

In order to get our intended .so numbering on FreeBSD (library.so.SONAME), you have to change the file ./ltmain.sh after it got generated by ./bootstrap from a global template file on your system.

For NetBSD and OpenBSD, the file ./aclocal.m4 must be edited and ./ltmain.sh probably needs another change.

This must be done before anybody runs


on FreeBSD, NetBSD, or OpenBSD.

For FreeBSD the change in ./ltmain.sh is from



          major=.`expr $current - $age`

To get the .so numbering scheme of NetBSD and OpenBSD (library.so.SONAME.age), make sure that ./aclocal.m4 sets version_type to "netbsd":


which ./ltmain.sh has to interpret by

          major=.`expr $current - $age`

The new case block should be inserted after the one for freebsd-elf).

./ltmain.sh stems from e.g. /usr/share/libtool/config/ltmain.sh.

./aclocal.m4 stems from e.g. /usr/share/aclocal/libtool.m4. On my system there are cases for netbsd*) and openbsd*) which set version_type to "sunos".

For producing libburnia release tarballs - regardless on what kind of system - this change must have been applied and ./configure must have been run before

make dist

so that it will not be needed when building those releases on FreeBSD.

(Sorry for the inconvenience. autotools had to choose from two undesirable alternatives on FreeBSD. Regrettably it implements the one that is not in our intention. One can change this choice in the global template file.)

Outdated Releases