- Build in functions for SHA1 rather than using external SHA1 functions
- from libcrypto (part of OpenSSL). The default is to use libcrypto if it
- is found on the system.
-
---enable-xattr, --disable-xattr
- Enable or disable support for the extended-attributes interface to NTFS
- alternate data streams in mounted WIMs. To support these, wimlib
- requires that the setxattr() function and the attr/xattr.h header are
- available. The default is to autodetect whether support is possible.
-
---disable-multithreaded-compression
- By default, data will be compressed using multiple threads when writing
- a WIM, unless only 1 processor is detected. Specify this option to
- disable support for this.
-
---enable-ssse3-sha1
- Use a very fast assembly language implementation of SHA1 from Intel.
- Only use this if the build target supports the SSSE3 instructions.
-
---disable-custom-memory-allocator
- If this option is given, a very small amount of space will be saved by
- removing support for the wimlib_set_memory_allocator() function.
- wimlib-imagex will be unaffected.
-
---enable-verify-compression
- If this option is given, every time wimlib compresses a data block, it
- will decompress it into a temporary buffer and abort the program with an
- error message if the decompressed data does not exactly match the
- original data. This only makes compression about 10% slower. This
- checking is disabled by default because there are no known bugs in the
- compression code, and the SHA1 message digest of every extracted file is
- checked anyway.
-
---disable-error-messages
- Save some space by removing all error messages from the library.
-
---disable-assertions
- Remove all assertions, even the ones that are included by default.
-
---enable-more-assertions
- Enable assertions that are not included by default.
-
---enable-debug
- Include debugging messages. Only use this option if you have found a
- bug in the library.
-
---enable-more-debug
- Include more debugging messages. Only use this option if you have found
- a bug in the library.
-
- PORTABILITY
-
-wimlib has mostly been developed and tested on x86_64 (64-bit) GNU/Linux.
-
-It has been tested on x86 (32-bit) GNU/Linux occasionally.
-
-wimlib may work on FreeBSD and Mac OS X. However, this is not well tested. If
-you do not have libntfs-3g 2011-4-12 or later available, you must configure
-wimlib with --without-ntfs-3g. On FreeBSD, before mounting a WIM you need to
-load the POSIX message queue module (run `kldload mqueuefs').
-
-The code pays attention to endianness, so it should work on big-endian
-architectures, but I've never tested this so do not expect it to work.
-
-As of wimlib 1.3.0, there is experimental support for Microsoft Windows. I
-expect it to work on Windows Vista and later, although I have only tested it on
-Windows 7. See README.WINDOWS for more information.
-
- REFERENCES
-
-The WIM file format is specified in a document that can be found in the
-Microsoft Download Center. There is a similar document that specifies the LZX
-compression format, and a document that specifies the XPRESS compression format.
-However, many parts of these formats are poorly documented, and some parts have
-no documentation whatsoever. Some particularly poorly documented parts of the
-formats have had comments added in various places in the library. Please see
-the code and/or ask me if you have any questions about the WIM file format as it
-exists in reality and not as it exists in Microsoft's poorly written
-documentation.
-
-The code in ntfs-apply.c and ntfs-capture.c uses the NTFS-3g library, which is a
-library for reading and writing to NTFS filesystems (the filesystem used by
-recent versions of Windows). See
-http://www.tuxera.com/community/ntfs-3g-download/ for more information.
-
-lzx-decompress.c, the code to decompress WIM file resources that are compressed
-using LZX compression, is originally based on code from the cabextract project
-(http://www.cabextract.org.uk).
-
-lzx-compress.c, the code to compress WIM file resources using LZX compression,
-is originally based on code written by Matthew Russotto (www.russotto.net/chm/).
-
-lz77.c, the code to find LZ77 matches (used for both XPRESS and LZX compression),
-is based on code from zlib.
-
-A very limited number of other free programs can handle some parts of the WIM
-file format. 7-zip is able to extract and create WIMs (as well as files in many
-other archive formats). However, wimlib is designed specifically to handle WIM
-files and provides features previously only available in Microsoft's imagex.exe,
-such as the ability to mount WIMs read-write as well as read-only, the ability
-to create LZX or XPRESS compressed WIMs, and the correct handling of security
-descriptors and hard links.
-
-An earlier version of wimlib is being used to deploy Windows 7 from the Ultimate
-Deployment Appliance. For more information see
-http://www.ultimatedeployment.org/.
-
-You can see the documentation about Microsoft's version of the imagex program at
-http://technet.microsoft.com/en-us/library/cc749447(v=ws.10).aspx, so you can
-see how it compares to the version provided by this library.
-
- GNU/Linux equivalents of WIM format
-
-What's the equivalent way to capture the filesystem of a GNU/Linux operating
-system into an archive file? You have a few options:
-
-SquashFS:
- SquashFS (http://squashfs.sourceforge.net/) provides a compressed,
- read-only filesystem for Linux, and it's probably the closest equivalent
- of the WIM format and better designed. Although you can't mount
- SquashFS read-write, when wimlib does this for WIM files it's really an
- illusion since the WIM isn't actually modified until the image is
- unmounted. Multiple top-level images in SquashFS files are not
- supported, although nothing stops you from just putting each image in a
- separate directory.
-
-FSArchiver:
- FSArchiver (http://www.fsarchiver.org/Main_Page) is not widely used, but
- it appears to have some features quite similar to the WIM format.