xorriso : FAILURE : Not a known command

Thomas Schmitt scdbackup at gmx.net
Wed May 31 09:01:34 CEST 2017


Hi,

> xorriso : FAILURE : Not a known command:  '-f'

This message is issued if xorriso is its native command mode, rather
than in its mkisofs emulation mode which would recognize options -f
or -follow-links.


> -            join(' ', @morefiles)." --$opt -f";
> +            join(' ', @morefiles)." --$opt -follow default";

Command -follow "default" is recognized in native command mode.
This mode is active when xorriso starts, gets replaced by emulation mode
by command -as "mkisofs", and gets activated again by an argument "--".

So the question is whether it is intentional that xorriso is in native
command mode. If not, then one should check whether mkisofs emulation
is started by -as "mkisofs" and whether it gets ended by "--" somehow.


I looked for an online presentation of the L4 repository.
  https://github.com/MIPS/fiasco-l4re/blob/master/src/l4/tool/lib/L4/Grub.pm
seems to match Leslie's patch.
Obviously xorriso is supposed to run in emulation mode underneath
grub-mkrescue.

The $cmd would cause a switch to native mode if $opt was empty.

Given the comment "There are different versions of grub-mkrescue"
i assume that the script shall cover both versions of the binary:
The one which needs "--" to leave grub-mkrescue option interpretation
for adding xorriso emulation options, and the one which forwards
any unknown grub-mkrescue option to xorriso mkisofs emulation.

The version which needed "--" was never released but existed for a
while in the repos and made its way into Linux distros (e.g. Debian 8).
Its life began in november 2013 when the script was translated to C.
It ended in march 2015 by
  https://github.com/coreos/grub/commit/cf47a2fba5852014bc59959c5e357e8313933414
  "grub-mkrescue: pass all unrecognized options unchanged to xorriso."


One would need to get both versions and find some signature by which
they can be distinguished.
My local version 2.02~beta2-36 needs "--" before xorriso -as mkisofs options.
It does not contain a naked string "--usage" which i would expect from the
commit in march 2015
  $ strings /usr/bin/grub-mkrescue | grep '^--usage'
  $
but only as part of the larger help text
  $ strings /usr/bin/grub-mkrescue | grep '.*--usage'
  Try '%s --help' or '%s --usage' for more information.
  $

Leslie: Can you confirm that your local grub-mkrescue contains a match for
  strings /usr/bin/grub-mkrescue | grep '^--usage'
?


Have a nice day :)

Thomas





More information about the l4-hackers mailing list