配置并编译内核[更新到linux-2.6.34][增加自动精简]

内核编译和嵌入式产品的设计与开发
回复
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#16

帖子 syrano » 2008-03-31 18:15

hyy_m 写了:问一下楼主:新内核感觉如何?
我的P4机启动从22s减少到20s,gui响应快了30%
头像
ppp1982
帖子: 112
注册时间: 2007-11-19 9:10

#17

帖子 ppp1982 » 2008-04-02 17:49

syrano 写了:
qiang_liu8183 写了:这帖子怎么没人顶? :D
就是呀,不过看的人还比较多,
再不就是我写的太详细了 :em19
支持你 我用我再去网上搜索了 有个很好的教程
Verloren ist nur, wer sich selbst aufgibt
cfd2006
帖子: 40
注册时间: 2007-10-13 22:08

#18

帖子 cfd2006 » 2008-04-03 14:19

:D 这贴子不错阿,支持一下!
头像
reshine
帖子: 91
注册时间: 2006-04-29 1:43
联系:

#19

帖子 reshine » 2008-04-04 20:10

我用的命令是

代码: 全选

sudo make-kpkg --initrd --append-to-version mylinux1 kernel_image kernel_headers
这样编译以后就有了image 和headers两个包,要编译一些软件,比如drcom,headers包也是不能少的。
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#20

帖子 syrano » 2008-04-04 20:34

reshine 写了:我用的命令是

代码: 全选

sudo make-kpkg --initrd --append-to-version mylinux1 kernel_image kernel_headers
这样编译以后就有了image 和headers两个包,要编译一些软件,比如drcom,headers包也是不能少的。
貌似我每次编译headers包时都出错,
而如果不编译kernel_headers,那么内核的源码目录和headers包的作用时一样的.
所以编译drcom不需要headers包
david@austria:~/drcom-1.3.7$ make
make -C drcomc
make[1]: Entering directory `/home/david/drcom-1.3.7/drcomc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/david/drcom-1.3.7/drcomc'
make -C drcomd
make[1]: Entering directory `/home/david/drcom-1.3.7/drcomd'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/david/drcom-1.3.7/drcomd'
make -C kmod
make[1]: Entering directory `/home/david/drcom-1.3.7/kmod'
make -C /lib/modules/2.6.24.4david5/build M=/home/david/drcom-1.3.7/kmod modules
make[2]: Entering directory `/home/david/linus/linux-2.6.24.4'
#这时候make进入内核源码目录~/david/linus/linux-2.6.24.4
CC [M] /home/david/drcom-1.3.7/kmod/init.o
CC [M] /home/david/drcom-1.3.7/kmod/proc.o
CC [M] /home/david/drcom-1.3.7/kmod/proto.o
/home/david/drcom-1.3.7/kmod/proto.c: In function ‘init_hijack’:
/home/david/drcom-1.3.7/kmod/proto.c:454: warning: assignment from incompatible pointer type
/home/david/drcom-1.3.7/kmod/proto.c:455: warning: assignment from incompatible pointer type
/home/david/drcom-1.3.7/kmod/proto.c: In function ‘cleanup_hijack’:
/home/david/drcom-1.3.7/kmod/proto.c:462: warning: comparison of distinct pointer types lacks a cast
/home/david/drcom-1.3.7/kmod/proto.c:463: warning: assignment from incompatible pointer type
LD [M] /home/david/drcom-1.3.7/kmod/drcom.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/david/drcom-1.3.7/kmod/drcom.mod.o
LD [M] /home/david/drcom-1.3.7/kmod/drcom.ko
make[2]: Leaving directory `/home/david/linus/linux-2.6.24.4'
#这时候make离开内核源码目录~/david/linus/linux-2.6.24.4
make[1]: Leaving directory `/home/david/drcom-1.3.7/kmod'
david@austria:~/drcom-1.3.7$
头像
yooh
帖子: 116
注册时间: 2008-01-02 22:16
联系:

#21

帖子 yooh » 2008-04-04 23:22

mark 改天试试
lifuhai
帖子: 9
注册时间: 2008-03-21 19:23

#22

帖子 lifuhai » 2008-04-05 16:27

顶!!
头像
seabee
帖子: 243
注册时间: 2006-11-08 13:02

#23

帖子 seabee » 2008-04-07 13:00

up 8)
简简单单的生活,自自然然的我~www.3gcomet.com
yun_2008
帖子: 74
注册时间: 2008-03-26 18:15

#24

帖子 yun_2008 » 2008-04-10 12:04

没编过,跃跃欲试中!
lonez
帖子: 29
注册时间: 2007-12-08 11:08

#25

帖子 lonez » 2008-04-12 5:25

顶了! :wink:
hnlsjxpz
帖子: 3
注册时间: 2008-04-13 13:49

#26

帖子 hnlsjxpz » 2008-04-13 16:41

root@Ubuntu-Quad:/usr/src/linux-2.6.24.4# make menuconfig
HOSTCC scripts/basic/fixdep
在包含自 /usr/include/bits/posix1_lim.h:153 的文件中,
从 /usr/include/limits.h:145,
从 /usr/lib/gcc/i486-linux-gnu/4.1.3/include/limits.h:122,
从 /usr/lib/gcc/i486-linux-gnu/4.1.3/include/syslimits.h:7,
从 /usr/lib/gcc/i486-linux-gnu/4.1.3/include/limits.h:11,
从 scripts/basic/fixdep.c:115:
/usr/include/bits/local_lim.h:36:26: 错误: linux/limits.h:No such file or directory
在包含自 /usr/include/sys/socket.h:35 的文件中,
从 /usr/include/netinet/in.h:24,
从 /usr/include/arpa/inet.h:23,
从 scripts/basic/fixdep.c:117:
/usr/include/bits/socket.h:311:24: 错误: asm/socket.h:No such file or directory
scripts/basic/fixdep.c: 在函数 ‘use_config’ 中:
scripts/basic/fixdep.c:206: 错误: ‘PATH_MAX’ 未声明 (在此函数内第一次使用)
scripts/basic/fixdep.c:206: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
scripts/basic/fixdep.c:206: 错误: 所在的函数内只报告一次。)
scripts/basic/fixdep.c:206: 警告: 未使用的变量 ‘s’
scripts/basic/fixdep.c: 在函数 ‘parse_dep_file’ 中:
scripts/basic/fixdep.c:306: 错误: ‘PATH_MAX’ 未声明 (在此函数内第一次使用)
scripts/basic/fixdep.c:306: 警告: 未使用的变量 ‘s’
make[1]: *** [scripts/basic/fixdep] 错误 1
make: *** [scripts_basic] 错误 2

才开始就这样。。。
头像
alpha.gu
帖子: 1456
注册时间: 2006-09-10 16:06
联系:

#27

帖子 alpha.gu » 2008-04-17 10:42

官方的内核用的挺好的,不想自己编译了,以前弄过,麻烦死了。
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35

#28

帖子 yaska » 2008-04-17 11:19

这种方式,貌似无法得到ubuntu特有的模块。
laszo
帖子: 1
注册时间: 2008-04-19 21:38

#29

帖子 laszo » 2008-04-21 3:02

我刚看了楼主的帖子,编译成功,以前从来没编译过,速度还是的确要快了一些的。
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#30

帖子 syrano » 2008-04-21 18:24

hnlsjxpz 写了:root@Ubuntu-Quad:/usr/src/linux-2.6.24.4# make menuconfig
HOSTCC scripts/basic/fixdep
在包含自 /usr/include/bits/posix1_lim.h:153 的文件中,
从 /usr/include/limits.h:145,
从 /usr/lib/gcc/i486-linux-gnu/4.1.3/include/limits.h:122,
从 /usr/lib/gcc/i486-linux-gnu/4.1.3/include/syslimits.h:7,
从 /usr/lib/gcc/i486-linux-gnu/4.1.3/include/limits.h:11,
从 scripts/basic/fixdep.c:115:
/usr/include/bits/local_lim.h:36:26: 错误: linux/limits.h:No such file or directory
在包含自 /usr/include/sys/socket.h:35 的文件中,
从 /usr/include/netinet/in.h:24,
从 /usr/include/arpa/inet.h:23,
从 scripts/basic/fixdep.c:117:
/usr/include/bits/socket.h:311:24: 错误: asm/socket.h:No such file or directory
scripts/basic/fixdep.c: 在函数 ‘use_config’ 中:
scripts/basic/fixdep.c:206: 错误: ‘PATH_MAX’ 未声明 (在此函数内第一次使用)
scripts/basic/fixdep.c:206: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
scripts/basic/fixdep.c:206: 错误: 所在的函数内只报告一次。)
scripts/basic/fixdep.c:206: 警告: 未使用的变量 ‘s’
scripts/basic/fixdep.c: 在函数 ‘parse_dep_file’ 中:
scripts/basic/fixdep.c:306: 错误: ‘PATH_MAX’ 未声明 (在此函数内第一次使用)
scripts/basic/fixdep.c:306: 警告: 未使用的变量 ‘s’
make[1]: *** [scripts/basic/fixdep] 错误 1
make: *** [scripts_basic] 错误 2

才开始就这样。。。
sudo aptitude install libncurses5-dev #使用menuconfig需要安装依赖的libncurses5
如果不是完全文本界面,建议用xconfig
回复