[syslinux] isohybrid has 2 variants

Thomas Schmitt
Tue, 24 Jun 2014 19:58:27 -0000

Hi,

> For instance, if a common user reads a section about a general
> concept, then introducing commands of specific tools (even with the
> intention of clarity) could make the reader (mis)understand that such
> tool or such commands are part of the general concept.

The first example with "xorriso ... -isohybrid-mbr" serves the
purpose to explain how the isohybrid feature can already
by applied at ISO generation time.

The second one with "genisoimage ... -e" is a necessary precondition
for the run of isohybrid --uefi.


> Regarding current versions of the 3 tools built with cygwin, I only
> know of mkisofs.

I know from user feedback that GNU xorriso gets built on cygwin
without problems.


> For instance, should the _isohybrid_
> wiki page in Syslinux include details about ISO9660 or FAT or MBR or
> partition tables?

I'd say no.
But it has to be mentioned that isohybrid is about adding an MBR.
It is necessary to know that for --uefi the ISO image has to contain
an EFI boot image, which is supposed to be a FAT filesystem.
It should also be mentioned that the boot path for UEFI is not
only El Torito and GPT but also a partition entry in MBR.

That's just the immediate interfaces which isohybrid needs as input
or provides as output.


>  http://cdrecord.org/

Ah yes.


> > If you see particular statements which are surplus under this
> > aspect, then we can discuss and eventually throw them out.

> IMHO (not a strict list):

Urm. That is a list of new topics, not of surplus statements in
my proposals.


> _ basic general concept, relevant for common user (one paragraph,
> something about "image bootable in optical media and USB
drives");

I thought to have provided this in my proposal.
A motivation in the first two statements and then a quick tour with
several key terms and concepts.


> _ general "pros/cons" relevant for common users: the USB drive is
> overwritten, with one non-writable filesystem, part of the USB drive
> is not being used/seen;

Yes. The whole discussion is still missing about suitable storage
media and how to put the image onto them.


> _ different variants exist, which ones are those variants;

Three of them are presented in the BIOS paragraph. One of them
is not mentioned in UEFI because not capable of it.


> _ requirements and limitations: matching version with ISOLINUX in the
> ISO image, Perl OS-independent, based on C is OS (Linux) -dependent,
> possibility to produce images bootable in UEFI systems,...;

This is mentioned for the both SYSLINUX tools. See bullet list.
xorriso dependencies and installation is not really in the scope of
the wiki. (I'd blatantly advertise GNU xorriso if i am invited to do.)


> _ respective command options for isohybrid variants, specially those
> included in Syslinux,

That would be the job of a man page.
One could start with the quickly-made one from Ubuntu
  http://manpages.ubuntu.com/manpages/natty/man1/isohybrid.1.html

With -h or -s we get to the same undecidable discussions about
cylinder size which we had a while ago. We did not really make
progress with getting this well documented.
-e , -t, -i are MBR specific.
-o is a bit questionable, as a non-zero value will normally make
the partition unmountable.
--forcehd0, --ctrlhd0, --partok choose the built-in MBR template.

They all need exploration and lots of background information.


> _ basic examples;

I claim that

  isohybrid output.iso

  isohybrid --uefi output.iso

are basic.


> _ resources, see also, more info...

I take proposals.


>  http://www.syslinux.org/wiki/index.php/Mbr

Ahum. This this suggests that "hd0" in "--forcehd0" and
"--ctrlhd0"
are about BIOS disk 0x80 and suffixes "_f" and "_c".
"--partok" would then select a flavour of "altmbr.bin"
rather than
one of "mbr.bin".

>From section "Write" one could derive instructions about how
to put the image onto an USB stick by help of Linux.

Probably the article should have a short introduction into
the concept of MBR.
I put a link to it into my proposal (if the captcha thing lets me).


> > > _ The firmware "target(s)" can be different than the
one used by the
> > > host where the ISOLINUX and/or isohybrid image is being built.
> > Now you lost me.
> A user could be building an image so to be bootable in UEFI systems
> (too), but he is building such image in a BIOS system.

Do we really have to explain that the firmware is not of importance
after the operating system has booted ?


> My point is, the options ("-u", "-m",
"-b"...) are for the "target"
> system(s), and (at least some) combinations are allowed.

This is indeed worth to be mentioned.
But it is not really specific to isohybrid, but rather to
the question what interfaces and early stage software has to
be offered to the intended boot firmware.
More or less the overall topic of SYSLINUX et.al.


> As one of Didier's questions suggests, the _alternative_ methods seem
> to be not clear enough.

I am pondering about a translation table from isohybrid options
to isohdp[fp]x*.bin and the terminology in the Mbr article.
(Three terminologies for the same thing. Sometimes, choice is bad.)


> > I showed three of the variants: isohybrid.pl, isohybrid.c, xorriso.
> > The other two are not clear enough to me.

> Do you mean from Slitaz?

Yep. The .sh script and the .c program which both seem to perform
isohybrid for BIOS. But i did not analyze them in detail.


> -eltorito-platform 0xEF \

Now added to the UEFI section. (More example code, of course. Maybe
it should be presented without ... .)


Have a nice day :)

Thomas