opensuse 11.2 安装使用一段时间了,虽然没有 UBUNTU 简单易用(openSUSE 光是一个宽带拔号就浪费了大量的时间和精力)和社区支持(UBUNTU 是所有 Linux 发行版本中文社区做得最好的,没有之一),没有 FEDORA 的高速稳定,以及种种不如意外带不少的 bug,不过凭借其华丽的界面超牛的美工(呵呵,指的是 KDE 版本,不装 KDE 不能算真正使用过 openSUSE)让人爱不释手。
不过最近碰上一个无解的 bug,就是频繁死机,而且是真死,不是蓝屏或者速度变慢。鼠标和键盘完全没有反应,只能关闭电源重启。其实08年就已经试用过 openSUSE 10,也是频繁死机,让人崩溃。当时还是个 Linux 菜鸟啊(其实现在还是,哈哈),根本没办法解决,只好格掉了。
难道还是只能再次放弃?已经被 openSUSE 吸引的我心有不甘,决定再努力一次。在网上查阅了大量资料以后(其实是西拼东凑),发现一个比较靠谱的做法是升级 openSUSE 的内核到 2.6.34。
于是决定升级内核。升级以后,果然没有了死机的 bug 再现(至少近10次的使用没有)。不过编译内核,很复杂吧?网上说得神乎其神,其实做起来真得很简单。下面做一个总结。
首先是下载内核。http://www.kernel.org 是官方源,从这下载无疑是最靠谱的。还有其它的下载源,特别是专门为 openSUSE 打好补丁的内核下载源,我没试过,就不好评价了,有兴趣的朋友可以在网上查查。
把下载以后的内核解压缩,放在用户目录下的一个文件夹,像这样:
然后安装编译内核所必须的软件:binutils gcc make module-init-tools udev ...
打开终端,进入超级用户模式,浏览到 linux-2.6.34 目录(就是内核目录):
执行命令:
#make clean
然后是:
#make mrproper
如果按照原来的配置编译中途失败了,可以用这两条命令来清除已编译部分和原配置文件。也就是说如果是第一次编译,这两条命令不用执行也没问题。不过使用 Linux 的一般都是命令行控,执行命令上瘾。就多执行两行命令吧。
进入图形配置界面。在终端敲入以下命令:
#make menuconfig
这时候如果弹出一个错误提示:
Your display is too small to run Menuconfig!
It must be at least 19 lines by 80 columns.
make[1]: *** [menuconfig] Error 1
make: *** [menuconfig] Error 2
这是因为终端的尺寸太小了,无法显示图形配置界面。把终端最大化,然后再执行 #make menuconfig 命令即可。
这个就是图形配置界面。
其中:
说是编译,其实我在这什么也没配置哈哈,直接用方向右键浏览到 Exit:
然后按下回车键,保存退出
设置完毕,进入编译阶段。如果补丁和配置正确,下面几步不会出错,按顺序执行,等待完成即可。
#make bzImage
#make modules
#make modules_install
#make install
一般 make modules 和 make modules_install 时间最长,这时候最好关闭所有的其它应用程序。喝杯茶或咖啡,看看报纸或电视,别总在守在电脑前面哈哈。如果期间出错。回到之前配置内核清理并重新配置。
没有意外的话,openSUSE 的 grub 菜单将会出现一个 2.6.34-0.2 内核的启动选项。
这就是编译内核的全部过程,当然是最简单的了,没有做任何的配置。如何进一步配置提高系统性能有待学习。