升级内核的一点心得(Linux)

类别:软件工程 点击:0 评论:0 推荐:
 升级内核到2.6.10成功:P我的一点点小感受

自己编译的内核与旧内核对于相同的服务启动就是快:P
我的感受:
第一,也是首要的:
在debian下升级内核是一种享受,太简单,太愉快了.
第二:
网上关于升级内核的帖子太多太多了,一定要善用google.
第三:
一定要在系统管理程序那里把旧内核启动那个保留好,在不断测试新内核的时候遇到什么问题都不用怕进不了系统:P
第四:
经过我的不懈努力,终于发现了一个小技巧,希望对大家有效:
在make bzImage 和make modules的时候可以用下面这个命令把错误编译过程中遇到的问题记录下来,以便编译完后解决:
代码:

make bzImage 2>compile_errs.txt
make modules 2>mod_errs.txt


第五:
一个没有技术含量的小技巧,不过希望对有的兄弟有帮助:P
充分利用好grep强大的功能,如果在编译的过程中遇到这样的问题,举个例子而已(虚构的):
代码:

error: kernel/net/ipv4/ip_input.c   函数ip_run_ipprot()里 第45行:stuct iphdr new_hdr; iphdr没有定义.


好说,这个结构一定是哪位程序员不小心忘记把一个经常用的结构重新的定义漏掉了,那么其他的源代码里一定有这个结构的声明,用下面的命令在当前文件夹下所有的代码中查找这个结构:
代码:

#grep iphdr *


我们会很快找到许多很多地方有这个结构的定义,那么拷贝到原来出错的函数里面,再重新编译就可以了:P
第六:
准备自己写内核程序了:P
大家对定制自己的内核有什么好的心得也提出来亚,一起学习:P
第七:
差点说了,开始我用2.6.10的内核启动的时候遇到错误:
代码:

modprobe:FATAL:could not open '/lib/modules/2.6.10
'
"kernel panic - not syncing : VFS: unable to mount > root FS on
unknown-block (0, 0)
等等很多错误


解决办法:在make menuconfig的时候不要选ROMFS surport,默认是把它做为module的。

本文地址:http://com.8s8s.com/it/it31467.htm