Yes. A journey of a man, BUGs, kernels, patches, obscure file systems, and beer. I’d like to share my experience with this, because I personally think that documentation on this subject is lacking to those who don’t really care about git, but need to patch their kernel for use with aufs. I need this because i spin my own kernel and use remastersys to make WeakNet Linux.
Begin
First, get the kernel, I have used 2.6.35
cd /usr/src/
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.3.tar.bz2
tar vjxf linux-*
Install git
apt-get update && apt-get install git-core (or install via RPM, YUM, or install by source if you use something like Slackware)
now, run git to create a .git directory (I still don’t know what the hell this is for, I wish that the AUFS2 developers would just use SVN.)
git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-2.6.git aufs2-2.6.git
which took days. Not really, but felt like it. So go “git” a beer. 
I have no idea how to use git, but the ‘.git’ directory needs to be in your /usr/src/linux-2.6.35 directory, I guess from analyzing errors:
fatal: Not a git repository (or any of the parent directories): .git
So I just figured the .git directory needs to be in the $PWD
cd aufs2-2.6.git
cp -Rvvv .git /usr/src/linux-2.6.35
cd /usr/src/linux-2.6.35
I guess you could just pull this down while $PWD is your /usr/src/linux-2.6.35 directory? I don’t know, or care. Now we pull down the aufs files and such
git checkout origin/aufs2-35
mkdir patches
cd patches
WGET and install whatever patches you may use, e.g. patches for mac80211 to inject fragmented frames. next, we need to simply make a configuration environment. I like using the old fashioned ncurses (ugly version) you can use the new sexy version with manke nconfig if you like.
make menuconfig
Finally, in the ncurses based configuration, navigate to:
-->File Systems-->Micellaneous Filesystems-->Aufs[*] (at very bottom).
Now, compile that kernel:
fakeroot make-kpkg --initrd --append-to-version=-some-string-here kernel-image kernel-headers
And I got the cool new
“Error 255″ “< yourcutekernelname >-rc2+ not in control info”
Notice the new cute plus symbol? well, during compilation, what I did was simply open a new terminal and change all the entries that said my kernel name to have a new + symbol at the end with sed.
cp .config .config.backup && sed -i .config -e ‘s/< yourkernelname >/< yourkernelname >\+/g’
Make sure you put the backslash before the plus because the plus is a regular expression operator (i preach regexps to you everywhere, so you should have known that by now.
)
And after, let it finish compiling and you should be good to go. I searched high and low for this, and to someone who never used/or plans on using git. This was unfruitful. The main page for aufs was insanely confusing to me. So here I contribute this document to you. Hopefully, AUFS2 get put into the main kernel, and the kernel developers fix the “not in control info” error. Until then, work it. Work it, good.
~Douglas.