Aufs

Aufs (Another Union File System) is an advanced multi-layered unification filesystem. Aufs was originally a re-design and re-implementation of the popular UnionFS, however after adding many new original ideas it became entirely separate from UnionFS. Aufs is considered a UnionFS alternative since it supports many of the same features.

Features

 * The ability to unite several directories into a single virtual filesystem. Calling the member directory as a branch;
 * Specification of the permission flags on each branch (readonly, readwrite, and whiteout-able);
 * Via upper writable branch, internal copyup and whiteout is possible (files and directories on the readonly branch are logically modifiable);
 * Dynamic branch manipulation (add, delete, etc.)

Installation
Emerge the pre-patched package. This will install another set of kernel sources that have had the Aufs4 patches applied. The new sources will show up in using a aufs suffixed name scheme.

If aufs sources are not yet emerged on the system, do so presently:

After the process is finished, list the available sources:

Use to set the symlink to the aufs kernel sources:

Kernel configuration
After the features have been set, build the kernel:

Configuration
In order to work with Aufs, the package is needed; utilities are always necessary for Aufs. This packages should be pulled in when emerging. In the case that it is not, run:

Kernel configuration
When installing many issues are a result of an incorrect kernel configuration. Currently the ebuild does not helpfully provide messages instructing the user on which kernel features must be enabled for correct kernel configuration.

Reading the kernel configuration section above is one helpful method to determine which features are missing. Another method is to open the actual ebuild file and investigate. Although opening an ebuild may seem like a daunting task, it is really not difficult at all. Use a favorite pager or text editor, browse to the ebuild's directory ( is the default location for Portage's ebuilds), and open the ebuild file that failed to install the selected software version. Supposing was the selected ebuild:

Look in the  function for kernel variable names that may not be selected in the current kernel configuration. If missing features are found, then update the kernel sources accordingly.