Hi, the xorriso run for testing zisofs in
tests/util/grub-fs-tester.in looks not like it would cause any zisofs compression in the ISO. Line 1024: xorriso -compliance rec_mtime -set_filter_r --zisofs -- -zisofs default -as mkisofs ... some options ... -- -set_filter_r --zisofs -- -zisofs default -add /="$MASTER" ;; should probably become xorriso -compliance rec_mtime \ -as mkisofs ... same options as above ... -- \ -add /="$MASTER" -- \ -zisofs default \ -set_filter_r --zisofs / -- ;; In the current run, both times when "-set_filter_r --zisofs" is executed in xorriso's native command mode, the emerging root directory is still empty. So -set_filter_r cannot yet affect the files of "$MASTER" which get added only later. Command -zisofs sets parameters for -set_filter_r. So it must be executed before any successful -set_filter_r. Only the lack of any installed compression filters keeps the existing run from failing with libisofs: FAILURE : Cannot set global zisofs parameters while filters exist Further: Command -set_filter_r expects one or more paths in the ISO as parameters. The empty path list defaults to "/" indeed, but that's not a documented feature. Command -add has a variable length parameter list and should thus be terminated by '--'. In my proposal it has to be terminated because more commands follow. Experiment: Currently the run is essentially like xorriso -compliance rec_mtime \ -as mkisofs -o test.iso --graft-points -- \ -add /=test -- -set_filter_r --zisofs / -- My test directory contains -rw-r--r-- 1 thomas thomas 51200 Aug 25 11:51 zeros -rw-r--r-- 1 thomas thomas 6 Aug 25 09:37 ÄÖÜß No zisofs compression gets applied by above run to the files, as can be seen by a subsequent run of xorriso -indev test.iso -find / -exec show_stream -- which reports '/zeros' < image:'/zeros' '/ÄÖÜß' < image:'/ÄÖÜß' In contrast, my proposed xorriso run causes compression of file "zeros", which then causes the xorriso run with -indev to install a decompression filter to that file: '/zeros' < --zisofs-decode:pz:32k < image:'/zeros' '/ÄÖÜß' < image:'/ÄÖÜß' The small "ÄÖÜß" staid uncompressed, because compression yielded no gain in terms of 2048 byte blocks. Have a nice day :) Thomas _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel