The plus sign at the end of your version string is there as an indicator that the kernel was built from modified sources (that is, there were non-committed changes). This is also indicated by the comments in scripts/setlocalversion.

To avoid the '+' being appended despite having a dirty working directory, simply set LOCALVERSION explicityly when running make:

make LOCALVERSION=
You may also have to change the configuration option CONFIG_LOCALVERSION_AUTO to n in your kernel config (.config) before building:

sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" .config

http://hi.baidu.com/archlive/item/488cde5e127f923632e0a975  

如何编译git内核为Arch标准样式--Compile linux git tree as Arch way


sed -i 's|^EXTRAVERSION = .*$|EXTRAVERSION =|g' Makefile
sed -i 's|.*CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION="-ARCH"|g' .config
sed -i 's|.*CONFIG_LOCALVERSION_AUTO.*|\# CONFIG_LOCALVERSION_AUTO is not set|g' .config