当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : [分享]diy一个自己的内核,向优化开出新的一炮
帖子发表于 : 2006-02-07 21:30 
头像

注册: 2005-06-21 20:24
帖子: 715
地址: 甘肃
送出感谢: 0 次
接收感谢: 0 次
从上次写的重头优化ubuntu开始,我就觉得有些郁闷,因为我自己使用amd64处理器,但是我为了方便使用32位系统,曾经我发贴问过,我到底应该k7还是应该用i686,有好心的前辈告诉我k8是k7的扩展,我应该用k7。最后事实证明我用386最快,真实是不容易接受的,而且我自己对自己的硬件有很多不满之处,因此无论如何想要打造一个弥补硬件缺陷的内核,(本人自己组装这台电脑的时候还只有14岁,当时nforce4价格高居不下,我采用了nforce3 250G U。虽说是U,但还是不爽,
而且本人的内存是用旧电脑的剩余品逐渐积攒而来,4根内存条品牌都不一样,其中有一个还是333hz的,一个让人郁闷的硬件系统吧。)在前不久,本人自己尝试了一次编译内核,发现编译内核倒是挺容易的,可惜上篇文章中,不可能再对此长篇大论,因此在本文中详细说明。

第一部分 准备工作

首先要找一个适合的内核,因为我是一个追新族,所以我本想采用2.6.15内核,可是这个内核问题很多,在我的电脑上总是不能正确启动,无论是dapper的源里的,还是我自己编译的,所以我采用了2.6.14内核。现在我还要向大家介绍一个东西,叫做ck。内核大家都一定都很熟悉,但是针对linux内核的优化补丁到真是不多。其实优化win内核的没听说过,优化linux也觉得挺奇怪,linus那样的狂人写的东西可以优化,或者说关键在于怎么优化,至于优化的效果和优化的原理,不要问我。我自己觉得效果很好,可能只是心理原因。那么现在我们开始作准备工作。
代码:
sudo apt-get install build-essential bin86 kernel-package
sudo apt-get install libqt3-headers libqt3-mt-dev

内核及优化补丁请到南湖乐善共享ftp下载,下面给出官方下载链接:
ck : http://ck.kolivas.org/patches/2.6/2.6.14/2.6.14-ck9/patch-2.6.14-ck9.bz2 只有不到50k的小东西,不要看不起它阿。
kernel : http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.bz2 本次行动的核心。

第二部分 给内核打补丁

复制内核源码去/usr/src
代码:
sudo cp linux-2.6.14.tar.bz2 /usr/src

解压内核源码
代码:
cd /usr/src
sudo tar xvjf linux-2.6.14.tar.bz2

然后检查/usr/src下有没有linux这个链接,如果有你可以改下名字
代码:
sudo mv linux linux.bak

建立一个新的叫做linux的链接
代码:
sudo ln -s ./linux-2.6.14 linux

然后进入linux这个目录
代码:
cd linux

打补丁
代码:
sudo bzcat /补丁的位置/patch-2.6.14-ck9.bz2 | patch -p1


第三部分 设置内核

设置内核相当麻烦,要看一大堆的选项,而且最要命的是,它问的问题都非常地层,很多我都不知道,所以我复制了我现有的设置过来,有耐心的朋友可以自己来。

复制设置
代码:
sudo cp /boot/config-`uname -r` .config

开始设置
代码:
sudo make xconfig

以下部分选项推荐选择,其他选项请个位自己尝试:
引用:
Processor type and features 部分包含了处理器的特征。
Subarchitecture Type 必须选PC
Processor family 这就是问处理器了,选自己的。
preemption Model 根据自己的情况选 从上到下是服务器 桌面 低配置桌面。
High Memory Support 大内存支持,如果内存小于等于1g就使用off。
Timer frequency 建议改为1000hz。
kexec system call 这个是快速重启系统,启动它需要另外一个kexec-tool的支持,有机会再详细谈谈它的使用。

引用:
IO Schedulers 部分包含了IO的设置。
推荐关闭Anticipatory I/O scheduler Deadline I/O scheduler 仅仅留下CFQ。

引用:
Kernel hacking 部分里关闭kernel debugging

注意以上的推荐选项,都是我个人见解,所以有危险系数,操作前请做好失败的思想准备,不过可以放心没什么副作用,仅仅是浪费点编译的时间而已,其他内核不回受影响。顺便说下,大家在游览这些选项的时候应该可以看到,一大堆什么ibm toshiba dell专用的东西存在,还有专门为intel amd的设置存在,我的建议是,用不到的东西一概关闭,也不要编译成模块,浪费时间,比如我关了所有对intel优化和对蓝牙pccard的支持。
最后用Ctrl+S保存。

第四部分 开始编译

编译有很传统的方法──make,可是为了我们以后也方便使用,所以我们利用debian类系统的特权,制作个deb包出来。
方法如下:
代码:
cd /usr/src/linux
sudo -s -H
make-kpkg clean
sudo make-kpkg --initrd –revision=diy1  kernel_image kernel_headers

注意:最后的命令输入后,过程十分漫长,各位朋友可以弄点零食去消磨下时间。

第五部分 安装

当你的耐心差不多消磨至尽的时候,啊终于完成了,/usr/src目录下会出现两个东西,一个是内核的安装包,另外一个是内核headers的安装包,把他们装好。
代码:
sudo dpkg -i /usr/src/kernel-image-2.6.14*.deb
sudo dpkg -i /usr/src/kernel-headers-2.6.14*.deb

这样重启以后,就可以试试新的内核了。

第六部分 结语

编译内核失败,或是编好的内核有很多问题是可能会发生的,而且可能性是比较大的,像我一样比较喜欢尝新鲜的朋友不妨来试一试,操作不当之处,请各位指出,而且我最进将把bootsplash、splashy、upower在breezy上的安装与使用分享下,其中还需要编译内核,也许各位需要的朋友可以等到那个时候再编译不迟。


_________________
ubuntu 6.06
我是初学者 大家多多关照


最后由 dongmh 编辑于 2006-02-09 20:12,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-02-07 21:51 
头像

注册: 2005-07-02 14:41
帖子: 4133
系统: Ubuntu 14.04 (Kylin)
送出感谢: 53
接收感谢: 11
Commend!
You are hard-working.


_________________
https://weakish.github.io


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2006-02-07 23:53 

注册: 2005-11-03 13:04
帖子: 27
送出感谢: 0 次
接收感谢: 0 次
小兄弟还真是努力阿,让我汗颜!


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2006-02-09 8:28 
头像

注册: 2005-06-11 14:03
帖子: 6226
地址: 不明真相的群众
送出感谢: 0 次
接收感谢: 0 次
这位兄弟只有16岁?真是让人汗颜啊.我要努力了.


_________________
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2006-05-15 1:52 

注册: 2006-04-28 21:31
帖子: 198
送出感谢: 0 次
接收感谢: 0 次
CK patch 的主页在这里
http://members.optusnet.com.au/ckolivas/kernel/

里面有使用的介绍。现在已经更新到2.6.16了。

如果大家有使用到苹果的文件系统hfs+建议大家用2.6.16的内核。


还有原文的'-revision'因该改为‘--revision’,"preemption Model" 最后一项应该翻译为‘低延迟桌面’,而非低配桌面。


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2006-05-15 11:07 
头像

注册: 2005-06-30 15:46
帖子: 2245
地址: 成都
送出感谢: 0 次
接收感谢: 0 次
A64用386比K7快?

你怎么比较出来的
我的A64 3000用K7很久了,386已经删掉了,从来没有感觉过这两个哪个更快

下次直接装64位算了。


_________________
Humanity to others // 己所不欲,勿施与人
Laptop: ThinkPad X220 --- Win7 Home / Ubuntu 12.04
Desktop: Win7/Ubuntu 12.04
Server: Ubuntu12.04


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2006-05-15 11:31 
头像

注册: 2005-06-11 14:03
帖子: 6226
地址: 不明真相的群众
送出感谢: 0 次
接收感谢: 0 次
64的软件少........


_________________
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2006-05-15 12:57 
头像

注册: 2005-08-22 14:05
帖子: 1743
地址: 离开北京
送出感谢: 1
接收感谢: 3
顶 小兄弟太厉害了

不过听说 可以用 icc 编译内核 intel c 编译器。
可以最大的开发出intel芯片的潜力

有人试过没有?


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2006-06-14 9:44 

注册: 2006-06-04 10:45
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
大哥啊,我不活拉!


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2006-07-30 3:38 
头像

注册: 2005-08-14 19:53
帖子: 3998
送出感谢: 1
接收感谢: 2
用apt方式下载安装的内核可以共存

编译的呢?能和原来的共存么

好贴子顶起来!


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2006-07-30 16:21 
头像

注册: 2006-07-17 8:38
帖子: 50
送出感谢: 0 次
接收感谢: 0 次
共存的问题,在FC里可以通过在GRUB里添加相应的启动项来实现。Ubuntu的不太清楚:)


_________________
Linux恒久远,Fedora(?)永流传?


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2006-08-01 23:28 

注册: 2006-06-08 23:09
帖子: 41
送出感谢: 0 次
接收感谢: 0 次
林文清 写道:
共存的问题,在FC里可以通过在GRUB里添加相应的启动项来实现。Ubuntu的不太清楚:)

ubuntu里,是自动添加的

LZ没提及的地方,基本都不需要关心

我按照这种方法成功了


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2006-08-01 23:28 

注册: 2006-06-08 23:09
帖子: 41
送出感谢: 0 次
接收感谢: 0 次
但我搞不清楚

–revision=diy1

这个东西是干什么的


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2006-08-02 18:15 
头像

注册: 2005-06-21 20:24
帖子: 715
地址: 甘肃
送出感谢: 0 次
接收感谢: 0 次
用来声明一个版本 比如同样的2.6.16.8的源码 编译两次
就用它来声明一个区别


_________________
ubuntu 6.06
我是初学者 大家多多关照


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2006-08-10 23:02 
头像

注册: 2005-09-30 1:22
帖子: 162
送出感谢: 0 次
接收感谢: 0 次
我选了AMD Athlon 64的CPU,为什么制作出来的deb包文件名是 i386不是K7的??


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Sogou [Spider] 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译