修改kernel version的方法及后果

1.修改kernel version方法 utsname()是在内核空间里面存着的相关的内核信息。utsrelease.h是一个自动生成的文件,没有办法修改,但这个数据是根据Makefile和.config的内容进行生成的,通过修改这两个文件的内容,可以改变!
1.1修改makefile /usr/src/linux/Makefile:
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 39
EXTRAVERSION = -gentoo-r3
......
/usr/src/linux/.config:
CONFIG_LOCALVERSION="-debug"
然后,执行make时:
localhost linux # make
scripts/kconfig/conf --silentoldconfig Kconfig
CHKinclude/linux/version.h
CHKinclude/generated/utsrelease.h
UPDinclude/generated/utsrelease.h
对应的utsrelease.h的内容为:
#define UTS_RELEASE "2.6.39-gentoo-r3-debug"
1.2 menuconfig 重新编译你的宿主机内核。在make menuconfig时候,General Setup -> Local version - append to kernel release 设置kernel_release的内容加上FriendlyARM。(CONFIG_LOCALVERSION="FriendlyARM").

【修改kernel version的方法及后果】

----------------------------------------------------------
修改内核名字之后,烧录进去发现居然不能使用触摸屏了,而我如果把名字改回来则触摸屏使用一切正常,目前能想到的原因就是文件系统侧对名字有做一定的识别。


另外在烧写内核的时候还发现了友善用户手册的一个问题,目前使用开发板是七寸屏,按照用户手册内核命令行参数ctp=1或者3,但通过论坛网友发现ctp=2才能够正常使用,坑死爹了,在此记录下。
烧写使用的命令行参数如下:
root=/dev/mtdblock4 rootfstype=yaffs2 console=ttySAC0,115200 init=/linuxrc androidboot.console=ttySAC0 skipcali=yes ctp=2





    推荐阅读