免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1403 | 回复: 1
打印 上一主题 下一主题

嵌入式Linux缩减问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-10 09:59 |只看该作者 |倒序浏览
大家好,本人目前刚刚接触Linux。现在公司的项目需要缩减Linux的Kernel和APP部分的Code Size。目前我们使用的是Linux2.6.22.15版本,应用于ADSL Modem(家庭网关)。

1.我们产品应用是ADSL Gateway,Kernel部分裁剪工作已经差不多了,目前Kernel Flash Size大小为620KB左右,基于Linux 2.6.22.15.

2.目前我们使用的是Squash的只读的文件系统,从网络上了解的资料是目前压缩比最高的了。Rootfs压缩后的Flash Size为1.9MB左右

3.因为是Gateway,所以App有很多。像路由,DHCP,HTTP,SNMP,TR69,TR64,telnet,ftp等等。目前共有27个应用程序,压缩后的Flash
Size 840KB左右。

目前的任务就是从Kernel和Rootfs下手。把现在Kernel+rootfs=2.8M的体积要缩小到2M以内。功能部分不能减少,所以感觉难度很大。



App部分有一个想法,想参考BusyBox的做法,把所有的App都放到一个App中实现,然后用ln的方式导出每个App的链接,这样就可以缩掉好多link
symbol,库函数也可以用静态链接的方式去掉多余的库函数。请问一下这种方式来实现有没有可能?如果可以的话有没有什么缺陷?





目前系统各部分占用的Flash Size如下面所示:


项目           小类                                 Flash Size(KB)            达到目标Size(KB)           目前实验能够达到Size(KB)
Kernel        Kernel(without ipv6)       800                                  500                                     630
Rootfs        Driver                                508                                  300                                     430
                 Application                        832                                   766                                    ?
                 Lib(uclib,pthread..)       400                                   250                                     ?
                 GUI,configfile,others            124                                   124
合计                                                   2.664MB                            1.94MB


附件是目前Kernel的config文件。


请教一下大家有没有这方面的经验,上面初步估算达到目标Size有没有可能实现,谢谢!



config_1.rar

5.71 KB, 下载次数: 21

论坛徽章:
0
2 [报告]
发表于 2009-10-12 09:29 |只看该作者
请有相关经验的人多多指教啊,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP