四、编译前的准备工作
1、安装相关的软件。以下几个软件你可能要用到:
a、Ubuntu Dapper Drake 6.06 LTS 首选“软件”,自己想办法安装吧Smile
b、build-essential,里面有gcc,make等东西要用到。
c. kernel-package,里面有make-dpkg要用。
d. qt库,主要是为了用make xconfig图形界面配置,你要安装libqt3-headers,libqt3-mt-dev等
e. libncurses5-dev,主要是用make menuconfig,我就用这个。
f. gtk库,用于make gconfig。安装gtk2.0,相关lib。
不瞒你说,我都折腾一周了!内核换成2.6.28后,就死机了,哎
你在这里问
谁能告诉你啊?
版主都忙的很!具体怎么换,看这个:
一、为什么要编译最新的内核?
原因可能有以下几种:
1、 新的内核有更强大的功能。比如:最新的2.6.19内核提供的IDE硬盘的加速功能,我的IDE硬盘在Ubuntu官方内核2.6.15下的速度是6 -7MB/s,用了最新的内核后,达到了30-35MB/s,真是让我激动万分!新的内核提供对K8CPU的支持,而2.6.15仅仅是K7,估计这是对 大家的一大诱惑吧Smile(不过我的是P4-1.6,不知道这个新功能如何,用K8的可以自己试试)
sudo hdparm -tT /dev/hda这个用来测试IDE硬盘
sudo hdparm -cd /dev/hda这个用来看硬盘的I/O是16/32位,和DMA(直接内存存取)是否开启。
sudo hdparm -c1 -d1 /dev/hda设置硬盘到I/O 32位,开启DMA。
sudo hdparm -k 1 /dev/hda保存更改。
更多东西可以看man hdparm.不是IDE硬盘的不要乱改,比如我改了同事的SATA的IO结果提示不能修改。还有这些命令书本上说会有危险,不过我没有遇到过Smile
2、喜欢DIY,自己编有成就感。特别是用了uname -a 后,看到出现了自己的名字。
3、喜欢自虐。没有什么比编内核更能虐待自己和浪费宝贵的打游戏的时间了。特别有些人喜欢在下达编译命令后坐在屏幕前一动不动看过程(强烈推荐认为自己时间多的人采用这种方法)
4、学习、研究等
5、其他原因。
二、新内核有哪些功能?
回答是:不知道。
因为我懒得看相关的文档,因为都是英文的。有兴趣的可以自己找相关的文章来看。我安装好2.6.19后,发现有几个功能:
1、提供IDE加速,让我的硬盘从6M/s提到35M/s。真是意外的惊喜。
2、在配置菜单中提供了对K8,Intel双核等新的CPU的支持。结果如何我不知道。因为我的是P4-1.6G垃圾CPU和128M垃圾内存。
3、F1-F6终端的界面更漂亮,英文变得苗条了。不过用久了就发现不漂亮了,这正应了“别人的老婆最好”的俗语Smile
4、对游戏更好的支持!其实这是我为了调动大家的积极性胡说的Smile不过看配置菜单里有一大堆对游戏手柄的支持选项,可能Linux想改变一下风格吧呵呵。
其他未发现有什么好的功能,当然也没发现有什么坏的地方,只是启动和关机的进度条画面不见了,不知道怎么调出来,希望高手指点一二。
千万不要认为自己编译的内核一定会提高速度和性能,过高的要求只会让你失望。
三、哪些人不适合编译内核?
不是所有人都能编译内核的。以下这些人不要编译内核。
1、超级菜鸟,对Linux一无所知。你需要学习一下教程,大概10天就好了。
2、不喜欢Linux和大帅哥Linus 的人。
3、一点都不懂得英文的人。当然,如果你的英文从来没有及格过,但是打英文游戏特别出色,比如英文的war3和 CS,你符合条件。比如我Smile
4、没有耐心,怕麻烦的人。
其他的,都可以来编译内核玩玩。
四、编译前的准备工作
1、安装相关的软件。以下几个软件你可能要用到:
a、Ubuntu Dapper Drake 6.06 LTS 首选“软件”,自己想办法安装吧Smile
b、build-essential,里面有gcc,make等东西要用到。
c. kernel-package,里面有make-dpkg要用。
d. qt库,主要是为了用make xconfig图形界面配置,你要安装libqt3-headers,libqt3-mt-dev等
e. libncurses5-dev,主要是用make menuconfig,我就用这个。
f. gtk库,用于make gconfig。安装gtk2.0,相关lib。
以上软件用apt或者新立得来搜索并安装,如果你不会安装的话,说明还需要继续学习教程,然后再来看这篇文章。
我不会给出安装的详细命令的。给出的软件名字也不一定对Smile,你自己搜索,多用TAB补全就是,看着有点像的就安装吧,反正也不会让系统崩溃呵呵。
2、下载2.6.19的源代码。到www.kernel.org去下。注意要下完全的,不要下补丁。点那个"F"的连接,下好的源代码应该有40多M,如果只有6M说明是补丁,我就上当了
五、开始工作。
1、编译的界面
你 可以在Gnome下编译,也可以去F1控制台编,看个人爱好。我推荐是配置的时候在图形下,准备要编译了就关掉Gnome到F1控制台下。当然你机器够牛 你可以边上网边听歌边编译。我在办公室的IBM品牌机就有这种水平,它是我的一大骄傲!(内存测试,8000M/s,我至今未发现有哪台机器能到这个高 度,一般都是1000M/s,我的初中同学是卖电脑的,卖了无数垃圾给我,他也承认目前IBM的做工是NO.1,液晶显示器都要2500才能搞到,所以我 现在看其他的屏幕都不习惯了,除了在F1控制台看这台15'的CRT)
2、解压缩源代码
你可以用任何喜欢的方法,解压缩到任何地方。没有说一定要解到什么什么地方的。很多文章说解到/usr/src,而Linus本人就说不要解到这个地方。
我听Linus的,我解到了~/linux/linux2.6.19下。看不懂~/是什么的继续去学教程。不知道怎么解包的可以去看教程,也可以去看XP\winrar的教程,学学怎么用鼠标来解。。。。
3、进入解包的目录。这点很重要,你无法在别的目录完成编译工作。
4、运行命令 make mrproper 来清一下包。相当于XP的刷新这个命令不需要sudo,我的习惯也是能不用sudo就不用。
5、运行命令make menuconfig来配置。也可以用make xconfig/gconfig。要是用不起来说明未安装相关的库,自己看英文去找去装 我就找了几个差不多的一起装了,果然就行了。也不知道到底哪个是真正需要的
6、配置的详细说明:
配 置是最难的步骤,也是最花时间的步骤,比编译内核本身都花时间。我在办公室的IBM机器,边上网边编译,只要35分钟,在现在这台128M内存垃圾机器, 要用4个小时。而我看配置菜单,一项项去理解,就用了几天时间。如果你是心急的人,喜欢走马观花,那么我敢说你一定配不好内核,而且要是你用默认的设置, 我保证你一定启动不了内核。因为默认设置有几个关键的地方必须要修改的。
要DIY好自己的内核,你必须去了解自己的机器装的是什么玩意。当然现在时代进步了,不用拆机箱来看硬件了,我用lspci/lshw/cat /proc/cpuinfo等命令来看硬件配置。你的主板手册、显卡手册都有用的,不要丢了,找出来吧。
关于配置菜单,这时候就充分体现出你玩英文游戏的功力了。虽然我英文考试都是60来分,不过看菜单还是可以的,如果你看不懂英文,可以去学课本,去查字典,也可以去打英文CS和WAR3,打多了就看懂了
你可以在百度或者Google搜索“内核配置”等字眼来找到相关的文章,还是有很多的,不过都有点跟不上时代了。现在都2.6.19 Linux了
我在这里也不过多说明,不然要花好多时间的。我还要去打篮球和打游戏呢Smile。只说几个关键的地方,这几个地方如果你不修改,新内核将无法启动。
注:在menuconfig下,编译进内核是*号,编译成模块是M号,不编译是空白。在xconfig下,打勾是编译进内核,打点是模块。
gconfig我没用过,自己去看,不要搞错了,不然笑话闹大了。
A、File Systems:必须将启动盘的文件系统编译进内核,默认是编译成模块,这样无法启动系统。 //boot/lib/modules等目录所在的盘的文件系统都要编译进内核。
B、Bus options:总线控制,必须编译进内核,不能搞成模块,不然也无法启动。
C、Device Drivers:硬盘在这,一定要编译进内核。不能搞成模块。加速的功能也在这了。
D、Loadable module support:自动加载模块的,我全部编译进内核。当然你是modprobe高手,喜欢自己加模块,不用也行。我打游戏太多没能学模块加载的东东。。
关键的项目就以上几个,要是你太心急用默认设置,就等着黑屏重启吧嘿嘿。
其他的设置也有一些比较关键的,比如选CPU、大内存支持(要是1G的内存要选4G支持,不然用不了所有内存)
配置菜单还有PS/2鼠标支持,和键盘支持等新功能。我都加来玩玩。很多新功能都标了NEW字样,我看着顺眼的都加了,Linus老大好不容易弄出来的东西,要给他个面子嘛。建议大家不妨把NEW字样的都编译成模块或者直接进内核,看看有什么不一样的地方。
其 他的配置,可以上网看看,也可以自己试,反正一句话:没有什么是不可逆的。没有什么是决定一切的。你不会因为一开始的错误而导致无法弥补的损失。这些话出 自EVE ONLINE,目前在欧美流行的网络游戏,我没钱买点卡,不玩了。当然,要是它出了Linux版,我赔钱都要玩。其实,我现在感觉Linux也正是一个可 逆的,可以多重恢复的,可以调节的系统,就好像一个好玩的游戏一样。比如你可以改配置,用/etc/init.d/****restart来重启功能。
也再比如,你的内核配置得再烂,无法启动,你仍然可以用旧内核进去进行重编译操作。再再比如,你编译时忘记加东西了,你不需要重新编译,只要用相关命令(rdev?)就可以了。这是Linus说的,其实我不知道怎么操作呵呵。
7、配置完毕
你可以发现,在源代码目录下多了个.config文件,这个就是配置文件,把它备份到一个地方。我放在/linux/backup~下了,你可以自己看着放,主要是万一内核编译出问题了,可以参照这个配置来看看到底什么地方错了。
8、开始编译工作
现在到了后期工作了。如果你真正看懂了配置菜单,你基本上是一次成功,要是胡来的话,还得重复这个步骤第2次第3次呵呵,我本人就编了3次。。。
A、运行命令 sudo make-kpkg clean,清一下东西。
B、 最终编译命令:sudo make-kpkg --initrd --append-to-version mylinux1 kernel_image Kernel_headers 其中--initrd必须要,append-to-version 生成多重镜像,也就是在启动菜单里会看到选项,接着的参数是镜像的名字,你自己设置,必须要以数字结尾。最后是生成镜像包和头文件包。你也可以用 binary代替,它融合了image.headers.doc.source,是最完整的包。
然后就是无休止的编译过程了。你可以看屏幕来消磨时间,也可以去打篮球。机器牛的可以照样听歌上网看电影。
9、编译完成
完成后你会在上一层目录看到两个deb包,用sudo dpkg -i选项把这两个包都安装上就好了。
重启机器,看看如何。如果不行的话,进入老的内核,用sudo dpkg -r移掉错误的内核,重新再来,谁怕谁!当然要是你够菜,移掉了老的正确的内核的话,你自己想办法解决。
10、体验新的内核
进 到F1控制台,看看界面是不是变漂亮点了?用uname -a命令,是不是出你名字了?呵呵。其他还有什么功能自己体会吧。我就发现上不了网了,切换到老 的内核也上不了了,估计是网卡给搞坏了。我还发现15'的 CRT下方会时不时有闪烁,切换到老的内核也是一样,可能以前用F1太多没发现吧。还有时间错误了,UTC去掉就可以了。等等。。。
11、总结
A、编译内核是非常简单的事情,特别是你编译了很多次以后。
B、编译最关键的步骤是配置。你需要花相当长的时间来理解每个选项。
C、用append-to-version产生多重镜像,防止内核出错了不可弥补。
D、英语到用时方恨不懂啊!多打打英文游戏吧。
E、不要删除你的官方老内核。千万不要!
F、不要为了学习vim而用它来打中文文档。我刚刚就上当了。
发表新评论