轉載自:http://blog.csdn.net/lanmanck/article/details/5187144,個人學習用。
最近用友善之臂的板子,發現內核的名稱是:Linux-2.6.29.4-FriendlyARM.後面那個FriendlyARM死活去不掉。後來只好看代碼。
1、2.6.29.4這個版本號是是uboot在做uimage的時候加上的,看arch/arm/boot/Makefile:
quiet_cmd_uimage = UIMAGE $@
cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel /
-C none -a $(LOADADDR) -e $(LOADADDR) /
-n 'Linux-$(KERNELRELEASE)' -d $< $@
2、對比,可見2.6.29.4-FriendlyARM就是 = $(KERNELRELEASE),因此我們需要找到$(KERNELRELEASE)怎麼定義的。
3、搜索可以知道$(KERNELRELEASE)在include/config/kernel.release定義,但是改了以後重新make又還有FriendlyARM。
4、看內核頂層的makefile,約872行有說明:
# Build the kernel release string
。。。
# $(localver-auto) (only if CONFIG_LOCALVERSION_AUTO is set)
# ./scripts/setlocalversion (SCM tag, if one exists)
# $(LOCALVERSION) (from make command line if provided)
仔細對比,原來這個FriendlyARM是$(LOCALVERSION)!,搜索下,發現autoconf.h有,哈哈,這就是內核圖形配置出來的嘛
5、馬上make menuconfig,搜索$(LOCALVERSION),乖乖,原來在Gernel Setup。。。,馬上去掉,重新編譯。這下沒了!