[Tails-dev] isohybrid-acritox

Andreas Loibl andreas at andreas-loibl.de
Fri Feb 8 01:43:12 CET 2013


On Thu, Feb 07, 2013 at 11:23:32PM +0100, intrigeri wrote:
> someone pointed me at isohybrid-acritox (...)
> The source says you wrote it. Is this correct?

This is correct, I wrote it and integrated it into the build process for
the live-images of Kanotix [1] [2] which uses debian-live to create ISOs.
(with some modifications, see the build-README [3], esp. the isohybrid-
section, for more details)

> Is this version the latest one?
> Is there a better homepage where I can always find the latest version
> of this script?

You will find the current version in the git repository [4]
As this script is currently only developed/ used for Kanotix it has
simply become a part of the build process and is maintained right there.

> What license is this script released under? (If none yet, I suggest
> GPL-3+.)

License is GPL.

> Also, the script reads "Post-process a hybrid-ISO-image generated with
> isohybrid-bg2", so apparently I need to feed it with a specify hybrid
> ISO image. What is `isohybrid-bg2', and where can I find it?

It was the first version of this script, which only implemented the
"fake" partition table and embedding and patching the MBR and core.img
of [B]URG/[G]RUB[2] (that's where the "bg2" came from) of a prepared ISO.

isohybrid-acritox is the enhanced version of isohybrid-bg2, it doesn't
depend on it, all of its feature are in there, too. It just needs some
space on the ISO where it can embedd stuff into after the ISO has been
created. So basically there is one part that needs to be done to
"prepare" the image before the ISO is created [5] and then the second
part (the actual isohybrid-acritox script) which postprocesses that ISO.

# Post-process an ISO 9660 image generated with mkisofs/genisoimage and equipped with
# an embedded isohybrid-acritox space-file (default filename: /boot.isohybrid)
# to allow "multi-hybrid booting" as CD-ROM (EFI or El Torito) or as a hard-drive 
# (e.g. a USB pendrive) on Intel-Macs (EFI) and PCs (EFI or MBR). By adding a fake
# ISO9660-structure of the original image as partition inside the image it is possible
# to repartition such a multi-hybrid-image even when it is currently being used live.
# This is accomplished by:
# * embedding a FAT-filesystem containing GRUB2EFI into the space-file
# * embedding a modified copy of the ISO9660-structure into the space-file
# * appending a HFS+-partiton containing GRUB2EFI at the end of the image
# * injecting an "Apple Partition Map" into the image referencing the HFS+-partition
# * adding a MBR partition table with two partitions:
#   1. EFI-FAT-partition representing the FAT-filesystem in the space-file
#   2. ISO-partition referencing the fake-ISO9660-header in the space-file,
#      spanning until the end of the image

So you see this incorporates quite some hacks and is "woven" into our
modified debian-live [6] build-process, so I'm not sure how reusable
it is for your purposes, but there is certainly more to do than just
typing "isohybrid filename.iso" with ISOLINUX... ;-)

[1] http://kanotix.com/
[2] http://kanotix.acritox.com/
[3] http://git.acritox.com/kanotix/tree/README
[4] http://git.acritox.com/kanotix/tree/isohybrid-acritox
[5] http://git.acritox.com/kanotix/tree/config/binary_local-hooks/isohybrid-acritox
[6] http://live.debian.net/

acritox / Andreas Loibl

More information about the tails-dev mailing list