[syslinux] isohybrid has 2 variants

Ady
2014-06-21T23:33:34Z

> Hi,
>
> > Not being compatible with EFI/GPT is already a problem for the Perl
> > variant.
>
> The relation of both is:
>
> isohybrid.in/.pl is being left behind.
>   http://git.kernel.org/cgit/boot/syslinux/syslinux.git/tree/utils/Makefile
> has:
>   SCRIPT_TARGETS	+= isohybrid.pl  # about to be obsoleted
>
> isohybrid.c replaces it feature-wise and adds new features.
> Only those new features contain the bugs, afaik.

I understand that the differences between the 2 variants are related
to EFI/GPT/Apple. Whichever they are, the existence of 2 variants is
not emphasized enough to common users, much less the differences.

The current source of the Perl variant might not have problems when
used inside its limitations, but a common user might have no idea of
such limitations. Trying to use the Perl variant outside its
limitations _is_ a problem _for the user_. I'll go directly to the
bottom line: more (user-friendly) documentation is needed.

>
>
> > Add the lack of documentation about the differences,
>
> ... and the fact that
>   http://www.syslinux.org/wiki/index.php/Doc/isolinux
> still describes the perl script, whereas
>   http://www.syslinux.org/wiki/index.php/ISOLINUX
> says nothing about isohybrid.
>
> Probably one should consolidate the articles about ISOLINUX.
> A chapter about isohybrid could tell about all three ways to
> create an isohybrid ISO: isohybrid.c, isohybrid.pl, xorriso.

The wiki pages under ".doc/" are based on the respective
documentation included in the Syslinux official distribution
archives, the others don't, so the latter ones get direct updates in
the wiki (it doesn't mean that the wiki documentation is all
up-to-date).

There are "some" mentions about isohybrid throughout the wiki, but it
should probably receive its own page (linked from the ISOLINUX wiki
page and from others).

Most distros that support/use some variant of isohybrid already
include steps to produce isohybrid images, so whatever is added to
the Syslinux wiki should really _add_ (not repeat) info. The
existence of different variants, their limitations, the requirement
for matching the ISOLINUX (e.g. iso*.bin files) version, and the
available command line options, are probably relevant points.

>
>
> > As you might have read already in prior emails, the Perl variant
> > might be helpful under some circumstances, e.g. if we consider the OS
> > itself a dependency.
>
> It would need a maintainer, then.

There is a lot to do in Syslinux, and patches are desired /
appreciated / welcome. If the Perl variant is "declared" frozen,
people that might be tempted to sporadically send patches might
refrain from doing so, whereas a "maintainer" might sound as "too
much" for them. Therefore, documenting the differences and being open
to receive patches sounds to me a more flexible choice (comparing to
deleting it, or to "freezing" it, for example).

> A good way to enter this job would to learn about the new features
> in isohybrid.c, fix the bugs (with my help), and to then port
> the features to isohybrid.in.
>
>
> > FWIW, I would not want to "declare" it [isohybrid.in/.pl]
frozen,
>
> It effectively is. And the shape of isohybrid.c is not much better.

I am not part of The Syslinux Project Team, but I am anyway using
this opportunity to call for developers to send patches (it doesn't
have to be regarding isohybrid; there is a lot to do).

>
>
> >  I don't know whether those
> > "isohybrid.exe" are "untrusted", but they are not
an official part of
> > The Syslinux Project (read as "not distributed in official
upstream
> > archives").
>
> Neither perl nor .exe are in my knowledge base. But maybe some
> skilled user of MS-Windows can propose a way to create a
> widely usable .exe, which must be able to do >= 43 bit byte
> addressing in data files.

All the "isohybrid.exe" I know of are based on the Perl variant. I
don't know what would be needed so to make one based on the C
variant. Until someone steps up to the challenge, I think it is worth
building one isohybrid.exe from the Perl variant in the official
upstream Syslinux (pre-)releases (just as Slitaz does).

>
>
> > Again, The Syslinux Project needs more development-power-time and
> > patches are welcome.
>
> If i fix isohybrid.c then it will stick to me.
> After a while it would become the same as the libisofs/xorriso
> implementation. (I would read MBRs from the SYSLINUX installation,
> would drop the dependency on libuuid, ... perky changes ...)

Understandable.

>
> Have a nice day :)
>
> Thomas
>

Just for completeness... The patch sent in
 http://www.syslinux.org/archives/2014-June/022259.html

suggests that the 2 prior bug reports:
 http://www.syslinux.org/archives/2012-May/017843.html
 http://www.syslinux.org/archives/2012-May/017871.html

might not be the only ones.

Regards,
Ady.