您好朋友,感谢您关注xiaosilent,我在blogjava的博客已经停止更新,请访问http://kuan.fm了解我的最新情况,谢谢!
随笔-82  评论-133  文章-0  trackbacks-0
在编译之前,先安装上一些依赖的包: sudo apt-get install build-essential fakeroot kernel-package libgtk2.0-dev libglib2.0-dev libglade2-dev

解决完依赖关系,把下载回来的内核源码解压到任意目录,比方说 ~/Desktop/linux-2.6.19 也就是在桌面上了,在终端下进到该目录,按照README的说法,先 make mrproper 一下 然后,就该配置内核了。
按照README的说法,可以选择的方法太多了,  make menuconfig / make xconfig / make gconfig / make oldconfig / make defconfig ,然而,真正需要执行的,只有 make gconfig (Gtk下的图形界面模式,KDE的用make xconfig),默认情况下,配置程序就会自动从/boot里读取当前内核的配置文件,这可以从终端下的输出得到证明,如果没有读取就自己载入一下。要在当前内核配置的基础上进行配置,可以大大地加大编译成功的概率。
其实,编译内核,最重要的就是内核配置了,后面的编译都是自动的,根本不需要人的参与,配置得好,系统的性能就可能得到大幅度的提升,当然,如果没有配置对,就可能出现各种各样的问题,这就又回到为什么要在现有内核配置文件的基础上进行配置了。

要注意的是,如果要支持PPPoE拨号的话,就必须把第一项 "Code maturity level options" 里的“Prompt for development and/or incomplete code/drivers” 选上,并且,在 Device Drivers--Network device support--ppp(poin-to-point protocol) support 里,一定要选择上 “PPP over Ethernet” 否则,编译完的内核是不能进行pppoe拨号的,会出现“Failed to create PPPoE socket: Address family not supported by protocol”的错误。

其他的配置,就根据自己的硬件情况,适当选择就可以了。

可以在开始编译之前,先 man make-kpkg 看一下,各个参数的具体含义,如果有必要的话,可以加上其他的参数,比如: --append-to-version 之类的。
make-kpkg clean  清一下,
再执行 fakeroot make-kpkg --initrd kernel_image kernel_headers  开始编译工作。

经历了漫长的等待之后,在上一级目录生成 linux-headers-2.6.19.deb 和 linux-image-2.6.19.deb 直接安装上就可以了。要注意的是如果就这样,直接重启使用新内核的话,你会发现开、关机的时候屏幕是黑的,没有任何的提示信息,这个问题可以通过重新安装usplash-theme-ubuntu 来解决。

到这里,内核编译、安装过程就算是结束了,如果顺利的话,就可以尽情享受新内核了,如果点背,失败了,那就从旧内核启动,删掉新内核,重新来过吧。所以,无论如何,都不要删除系统原来的旧内核哟~~~
posted on 2006-12-19 16:23 xiaosilent 阅读(1291) 评论(1)  编辑  收藏 所属分类: Linux相关

评论:
# re: Ubuntu edgy 下编译内核2.6.19小记 2009-01-02 12:22 | 小刘
多谢,我就是无法PPP拔号的。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: