[Pkg-libburnia-devel] Large size penalty from -isohybrid-mbr and -partition_offset 16?

Colin Watson cjwatson at ubuntu.com
Wed Jun 15 16:41:02 UTC 2011


On Wed, Jun 15, 2011 at 05:33:55PM +0300, George Danchev wrote:
> On Wednesday, June 15, 2011 04:53:46 PM Thomas Schmitt wrote:
> > > The 1MB penalty for -isohybrid-mbr is larger than I expected,
> > 
> > Alignment to full cylinder size was prescribed by hpa at SYSLINUX
> > mailing list, when he defined the constraints of isohybrid.
> > 
> > The alignment was not performed by mistake with the earlier
> > point releases of Debian 6. The only negative effect was that
> > fdisk -lu complained about differing "physical" and "logical"
> > cylinder sizes.
> > 
> > You may disable this by xorriso -as mkisofs option
> >   -partition_cyl_align  off

OK, if it's only alignment, then I'm not too worried.  We can consider
turning that off if we get really badly squeezed (since HPA says in
http://syslinux.zytor.com/archives/2009-May/012403.html that it's a
"weak requirement").

> > > but the
> > > last size is particularly weird.  Why is there a 3MB size penalty for
> > > having a 32KB partition offset?
> > 
> > The partition offset creates a second directory tree, which can be
> > mounted as /dev/sdX1. Its size depends on the number of files in
> > the image.

Aha.  That means that it will be much less bad for our live CDs, which
have a much smaller number of files.  Indeed, that is borne out in
tests: for the desktop CD, ordinary xorriso yields 757383168 bytes,
while xorriso -isohybrid-mbr isohdpfx.bin -partition_offset 16 yields
758427648 bytes, which I think we can accommodate.  Adding
-partition_cyl_align off brings it back down to 757651456 bytes.

For our non-live CDs such as the server image, I've found two large
identical files that can be hardlinked, which offsets nearly all of the
difference caused by the hybrid options, so it looks like creating
hybrid images should now not be a problem for us.  Thanks a lot for
clearing this up.

> > ISOLINUX works with the tree for /dev/sdX, but at some point of
> > the boot process, the other tree might get into effect.
> > 
> > See also http://libburnia-project.org/wiki/PartitionOffset
> > 
> > Option -J caused another pair of directory trees with Joliet names.
> > 
> > You can get an estimation of the size of metadata by inquiring the
> > start address of the first data file.
> > The run:
> >   xorriso -indev oneiric-server-i386.raw \
> >           -find / -sort_lba -exec report_lba -- 2>/dev/null | head -2

Thanks!  xorriso has all sorts of stuff I didn't know about.

> > I am a bit puzzled by the fact that xorriso -isohybrid-mbr isohdpfx.bin
> > yields a size of 658 MB + 300 kB.
> > 300 kB is the usual default padding, but it should be counted as part
> > of the image.
> 
> He might had well skipped the -jigdo and -as mkisofs part with the subsequent 
> runs, in which case padding (default 300kB) is not counted as part of the 
> image size. My hypothesis only.

No, I kept all other options the same and varied only -isohybrid-mbr and
-partition_offset.

Cheers,

-- 
Colin Watson                                       [cjwatson at ubuntu.com]



More information about the Pkg-libburnia-devel mailing list