libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libcdio-devel] [PATCH v2] add multi extent ISO9660 file support to


From: Thomas Schmitt
Subject: Re: [Libcdio-devel] [PATCH v2] add multi extent ISO9660 file support to libcdio
Date: Wed, 27 Jun 2018 10:35:33 +0200

Hi,

the production of a small multi-extent ISO is remarkably easy thanks to
my predecessor in libisofs, Vreixo Formoso.

On GNU/Linux (and probably with Cygwin too):

  wget https://www.gnu.org/software/xorriso/xorriso-1.4.8.tar.gz
  tar xzf xorriso-1.4.8.tar.gz
  cd xorriso-1.4.8

Change in file libisofs/ecma119.h :

  -#define MAX_ISO_FILE_SECTION_SIZE   0xffffffff
  +#define MAX_ISO_FILE_SECTION_SIZE   10239

  -#define ISO_EXTENT_SIZE             0xFFFFF800
  +#define ISO_EXTENT_SIZE             (MAX_ISO_FILE_SECTION_SIZE - 2047)

MAX_ISO_FILE_SECTION_SIZE must be a multiple of 2048 minus 1,
so that ISO_EXTENT_SIZE becomes a multiple of 2048.

Build xorriso (no need to install it system-wide):

  ./configure ; make

Create the ISO (xorriso in native mode does not truncate existing ISOs
to 0 size)

  test -e test.iso && rm test.iso

  xorriso/xorriso -outdev test.iso -map xorriso/opts_i_o.c /multi_extent_file

The file opts_i_o.c has ~ 54 KB of size.
Let's look at the resulting extents list

  xorriso/xorriso -indev test.iso -find /multi_extent_file -exec report_lba --

yields

  Report layout: xt , Startlba ,   Blocks , Filesize , ISO image path
  File data lba:  0 ,       55 ,        4 ,    54305 , '/multi_extent_file'
  File data lba:  1 ,       59 ,        4 ,    54305 , '/multi_extent_file'
  File data lba:  2 ,       63 ,        4 ,    54305 , '/multi_extent_file'
  File data lba:  3 ,       67 ,        4 ,    54305 , '/multi_extent_file'
  File data lba:  4 ,       71 ,        4 ,    54305 , '/multi_extent_file'
  File data lba:  5 ,       75 ,        4 ,    54305 , '/multi_extent_file'
  File data lba:  6 ,       79 ,        3 ,    54305 , '/multi_extent_file'

The Linux kernel accepts it:

  mount test.iso /mnt/iso

and obviously represents its content correctly. No difference to see by

  diff /mnt/iso/multi_extent_file xorriso/opts_i_o.c

-----------------------------------------------------------------------------

Pete:
If you have problems to do this on your system, give me a note so that i
upload such an image for you. gzipped size is 12843 bytes.


Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]