X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=README;h=91deb1c064ff4ad895e2647b0512c6231d523b31;hb=1cfb17b5e36ad9b6148a14a5bcc8a68689ec10ec;hp=6542e251d5f03cdfeb1175dbc67ab5bf0a7da9d1;hpb=60b8f54df8fed44136bdc8ec615ee62703d87b69;p=wimlib diff --git a/README b/README index 6542e251..91deb1c0 100644 --- a/README +++ b/README @@ -6,6 +6,27 @@ files are normally created by using the `imagex.exe' utility on Windows, but this library provides a free implementetion of imagex for UNIX-based systems. + WIM FILES + +A Windows Imaging (WIM) file is an archive. Like some other archive formats +such as ZIP, files in WIM archives may be compressed. WIM archives support two +Microsoft-specific compression formats: LZX and XPRESS. Both are based on LZ77 +and Huffman encoding, and both are supported by wimlib. + +Unlike ZIP files, WIM files can contain multiple independent toplevel directory +trees known as images. While each image has its own metadata describing a +directory tree and file access modes, files are not duplicated for each image; +instead, each file is included only once in the entire WIM. Microsoft did this +so that in one WIM file, they could do things like have 5 different versions of +Windows that are almost exactly the same. + +Microsoft provides documentation for the WIM file format, XPRESS compression +format, and LZX compression format. The XPRESS documentation is acceptable, but +the LZX documentation is not entirely correct, and the WIM documentation itself +is very incomplete and is of unacceptable quality. + +A WIM file may be either stand-alone or split into multiple parts. + WINDOWS PE A major use for this library is to create customized images of Windows PE, the @@ -63,19 +84,21 @@ server for PXE booting. See the main page `doc/mkwinpeiso.1' for more details. * libfuse Unless configured with --without-fuse, wimlib requires a non-ancient - version of libfuse to be installed. see above). Most GNU/Linux - distributions already include this, but make sure you have the libfuse - package installed (libfuse-dev if your distribution distributes header - files separately). FUSE also requires a kernel module. - If the kernel module is available it will automatically be loaded if you - try to mount a WIM file. For more information see - http://fuse.sourceforge.net/. FUSE is also available for FreeBSD. + version of libfuse to be installed. Most GNU/Linux distributions + already include this, but make sure you have the libfuse package + installed, and also libfuse-dev if your distribution distributes header + files separately. FUSE also requires a kernel module. If the kernel + module is available it will automatically be loaded if you try to mount + a WIM file. For more information see http://fuse.sourceforge.net/. + FUSE is also available for FreeBSD. * libntfs-3g Unless configured with --without-ntfs-3g, wimlib requires the library - and headers for libntfs-3g to be installed. Currently, the version - dated 2012-1-15 is required because I've cloned some of the code from - the library. + and headers for libntfs-3g to be installed. Currently, the libntfs-3g + version dated 2012-1-15 is required because I've cloned some of the code + from the library, and it needs to compiled against the same version. + I'm hoping to be able to use future version of libntfs-3g without code + cloning after submitting some patches, however. * cdrkit (optional) * mtools (optional)