QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2566|回复: 4

linux2.6.20内核编译成功,也可以在skyeye运行,但有个问题

[复制链接]
发表于 2010-11-21 19:18:46 | 显示全部楼层 |阅读模式
我的linux2.6.20内核编译成功,也可以在skyeye运行,但有个问题
就是编译的内核vmlinux为什么很大啊,要20多兆,而skyeye测试程序中的vmlinux才几兆啊。
该如何才能给内核瘦身啊

请教高手。

我的交叉工具链是arm-linux-gcc-4.4.3
内核版本是linux-2.6.20.20

[ 本帖最后由 tiddy8 于 2010-11-21 19:20 编辑 ]
发表于 2010-11-22 16:58:04 | 显示全部楼层

回复 1# tiddy8 的帖子

这是由于你编译的内核映像vmlinux带有源码,而skyeye的测试用例中的vmlinux是不带源码的。
"瘦身" vmlinux处理方式有两种:
                  1.在编译内核的时候,配置参数将源码去掉。
                         make menuconfigure 配置内核
                         Kernel hacking  --->  Kernel debugging  将此项关掉
                         重新编译内核即可。
                        
                  2. 如果已经生成了带有源码的vmlinux,那就用相应体系的交叉
                          工具链中的strip工具将vmlinux“瘦身”
                          例如arm的vmlinux:$ arm-linux-strip vmlinux
                          再看下,原来几十M的文件就变成几M了
                          (注意,此方法不可逆,如若带源码,及不带源码的都需要,最好
                            备份一下带源码的vmlinux)

其实,带源码的内核映像也是需要的,一般要进行内核debug的时候,需要它。


thanks,
yuanzheng.

[ 本帖最后由 tsinghuayuan86 于 2010-11-22 16:59 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2010-11-23 12:56:49 | 显示全部楼层
原帖由 tsinghuayuan86 于 2010-11-22 16:58 发表
这是由于你编译的内核映像vmlinux带有源码,而skyeye的测试用例中的vmlinux是不带源码的。
"瘦身" vmlinux处理方式有两种:
                  1.在编译内核的时候,配置参数将源码去掉。
                         make ...

谢谢,这个问题解决了。
回复

使用道具 举报

发表于 2011-4-17 08:03:43 | 显示全部楼层

回复 1# tiddy8

可以编译最新的2.6.38的内核么?期待
回复

使用道具 举报

发表于 2011-4-18 11:33:38 | 显示全部楼层

回复 4# 戴尔_章 的帖子

你可以尝试编译下,再在skyeye run下,应该不会有太大问题。



thanks,
yuanzheng.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-20 01:30 , Processed in 0.062056 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表