- 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, we require
- the setxattr() function and the attr/xattr.h header be 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, MALLOC(), FREE(), CALLOC(), and STRDUP() will
- directly call the appropriate functions in the C library.
- wimlib_set_memory_allocator() will fail with WIMLIB_ERR_UNSUPPORTED.
-
---disable-verify-compression
- Unless 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 is to find bugs.
-
---disable-error-messages
- Removes all error messages from the library. If left in, they still
- have to explicitly turned on with wimlib_set_print_errors() in order to
- see them. Also, error codes will still be returned regardless of
- whether error messages are printed or not.
-
- If --disable-error-messages is given, wimlib_set_print_errors() will
- fail with WIMLIB_ERR_UNSUPPORTED if the action is to turn error messages
- on.
-
---disable-assertions
- Remove all assertions. Without this option, wimlib will abort() the
- program if an assertion fails. An assertion failure should only occur
- if there is a bug in the library.
-
---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. However, this is not well tested. If you do not
-have libntfs-3g 2011-4-12 or later available, you must configure with
---without-ntfs-3g. Also, GNU coreutils is needed to run the test suite. Before
-mounting a WIM you need to load the POSIX message queue module (run `kldload
-mqueuefs').
-
-wimlib should work on big endian machines but it has not been tested.
-
-There are no plans to port wimlib to Windows since the programming interface on
-Windows is very different and Microsoft's imagex.exe is already available.
-
- 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-decomp.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-comp.c, the code to compress WIM file resources using LZX compression, is
-originally based on code written by Matthew Russotto (www.russotto.net/chm/).
-
-lz.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, and the
-ability to create LZX or XPRESS compressed WIMs.
-
-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.
-
- 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.
-
-Tar:
- The well-known tar format can usually capture a UNIX filesystem just
- fine, and compressing the tar file produces a good compression ratio
- (better than WIM, especially if using XZ compression), but there is no
- support for random access, file deduplication, multiple images per
- archive, or extended attributes.