Hello, Attached patch adds support for xz compressed files. Interface is similar to gzio: grub_xzio_open() and grub_xzfile_open(). Files: xzio.h and xzio.c
Decompression algorithm is imported (no source code changes) from http://tukaani.org/xz/embedded.html and is located in lib/xzembed directory (files xz_* except xz_wrap.h which is a glue header) XZ embedded supports only crc32 integration check so if You want to test it use `xz --check=crc32` to compress, It also supports BCJ filters (not enabled with this patch) so it is possible to get extra few % compression ratio with executables. known issues: - decoder dictionary size is hardcoded, discovery at runtime would be better (it's on my TODO list) - grub_file_seek() will break reading (not a big deal, xz streams are not seekable afterall, if needed should be possible to implement but will cause read performance penatly) Suggestions and comments are welcome :-) -- Szymon K. Janc szy...@janc.net.pl // GG: 1383435
xzio.diff.bz2
Description: application/bzip
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel