Hi Leslie,
On 05/31/2017 05:42 AM, Leslie Zhai wrote:
When I Running hello.iso http://os.inf.tu-dresden.de/fiasco/build.html via *make grub2iso E=hello MODULE_SEARCH_PATH=/path/to/fiasco-build-dir *it failed to generate ISO, xorriso thrown such error:
xorriso : FAILURE : Not a known command: '-f'
xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE' Failed to create ISO at tool/lib/L4/Grub.pm line 123. Makefile:598: recipe for target 'grub2iso' failed
I was able to workaround this issue by dropping the test for scriptness of grub[2]-mkrescue:
my $opt = ''; open(A, $mkr) && do { - $opt = " -as mkisofs" if <A> =~ /^#! +/.+sh/; + $opt = " -as mkisofs"; close A; }; my $cmd = "$mkr --output="$isofilename" $dir ".
The test seems to draw wrong conclusions at least on Fedora 25. The fix works fine also on Ubuntu 16.04, besides Fedora.
so I simply changed the option:
Index: tool/lib/L4/Grub.pm
--- tool/lib/L4/Grub.pm (revision 72) +++ tool/lib/L4/Grub.pm (working copy) @@ -116,7 +116,7 @@ close A; }; my $cmd = "$mkr --output="$isofilename" $dir ".
join(' ', @morefiles)." --$opt -f";
system("$cmd"); die "Failed to create ISO" if $?; # grub-mkrescue does not propagate internal tool errorsjoin(' ', @morefiles)." --$opt -follow default";
please review my patch, thanks a lot!
The concern here would be if "-follow default" has the same semantics as "-as mkisofs -f". It would be also useful to know what system are you running this on.
Best, Jakub