分页: 1 / 2

[分享]ubuntu编译内核推荐方法(与debian已有相当的分野)

发表于 : 2007-08-30 0:48
xiechy
debian传统方式:

代码: 全选

apt-get install linux-source
tar zxvf /usr/src/linux-source-$version.tar.gz
cd linux-source-$version
make menuconfig
make-kpkg ……
cd ..
dpkg -i *.deb
这种方式行之已久,是正统的debian方式。但是也不是说历史久的就没有缺点。
1、没有debian补丁集,自己慢慢打很麻烦
2、和原有系统的集成程度不同。
3、和标准的dpkg-buildpackage 方式稍有不同,不大习惯
4、和系统中原有的内核不一样,所以对一些外在周边,例如restricted-modules什么的配合不方便。

ubuntu自身独有的内核编译方法:

代码: 全选

apt-get source linux-source-2.6.22
cd linux-source-2.6.22-2.6.22/
编辑debian/config/i386/{config|config.generic}两个文件//相当于make menuconfig;config为所有deb公有配置,generic只对generic的deb有效
debian/scripts/misc/oldconfig generic //检查generic的config的完整性
AUTOBUILD=1 NOEXTRAS=1 fakeroot debian/rules binary-debs flavours=generic//只生成generic的包
cd ..
dpkg -i *.deb
linux-source-2.6.22可以一个源码包编译出n种架构的packages,但我们一般自定义内核只会要其中适合我们的一种。
这种方法编译的内核,和系统自带的内核只有你在config文件中修改的差别,所有的补丁都在解包的时候由dpkg系统自动打上了。想查看也是标准的diff.gz文件,和普通的deb source包完全一样。

大家编译愉快。大概要1g多的编译空间。

发表于 : 2007-08-30 0:52
skyx
沙发

发表于 : 2007-08-30 6:44
zhuqin_83
沙发上的钉 :lol:

发表于 : 2007-08-30 7:34
ofewiofewo
沙发下地板的窟窿

发表于 : 2007-08-30 8:45
bones7456
学习。。。

发表于 : 2007-08-30 10:50
xhy
为什么不用通用的内核编译方式?

发表于 : 2007-08-30 10:53
skyx
xhy 写了:为什么不用通用的内核编译方式?
我用ubuntu ,为什么不用ubuntu的内核编译方式?

发表于 : 2007-08-30 11:09
xhy
skyx 写了:
xhy 写了:为什么不用通用的内核编译方式?
我用ubuntu ,为什么不用ubuntu的内核编译方式?
因为太麻烦了

发表于 : 2007-08-30 11:17
skyx
xhy 写了:
skyx 写了:
xhy 写了:为什么不用通用的内核编译方式?
我用ubuntu ,为什么不用ubuntu的内核编译方式?
因为太麻烦了
凭什么说麻烦,我说不麻烦。

发表于 : 2007-08-30 11:32
xhy

代码: 全选

make menuconfig && make
make modules_install //如果没有配置模块 不需要这步
make install
这样不是更方便么?

发表于 : 2007-08-30 11:35
skyx
xhy 写了:

代码: 全选

make menuconfig && make
make modules_install //如果没有配置模块 不需要这步
make install
这样不是更方便么?
又能方便到哪里去?

发表于 : 2007-08-30 13:51
sinoyster
xhy 写了:

代码: 全选

make menuconfig && make
make modules_install //如果没有配置模块 不需要这步
make install
这样不是更方便么?
4、和系统中原有的内核不一样,所以对一些外在周边,例如restricted-modules什么的配合不方便。
你所有restricted-modules模块都要重新编译

发表于 : 2007-08-30 19:38
xiechy
xhy 写了:

代码: 全选

make menuconfig && make
make modules_install //如果没有配置模块 不需要这步
make install
这样不是更方便么?
出此一说而已~毕竟u相对d的创新实在是不多,这种方法也算是有点“人性化”吧

至于用标准的方法~这是可以的,但是
1、debian的deb包洁癖。
2、一般来说,绝大多数人其实是能不自己编译就不要自己编译的,既耗电,又浪费时间,并且其实性能提升并不高(个人觉得gentoo的性能优势很大程度上并不是优化编译的结果,主要原因应该是系统自定义程度高所带来的精简),要编译的话也就是解决一点小问题而已(例如intelfb必须编译到内核中),这些情况,一般是能改的东西尽量少,能和标准系统的差异尽量少,才是省时省事的观感。

发表于 : 2007-08-30 22:47
NICMICHAEL
我是编译内核狂
现正在期待2.6.23的释出,2.6.23变化还是很大的。把CK都给气走了。

发表于 : 2007-08-31 6:51
zengsun
收藏,不错呀!