嵌入式Linux缩减问题
大家好,本人目前刚刚接触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 &
相关问答:
我copy了一部分别人的程序,在开发板上运行一段时间后发现有内存泄露的提示,这个该怎么办,也没调试工具,只能加打印信息。
帮你顶一下.这么重要的帖子可不能沉下去了.
建议使用工具检查,有 ......
int _send()
{
int fd,size;
char fname[1024],buffer[4096];
/*输入要传输的文件*/
printf("请输入您要传输的文件路径:\n");
gets(fname);
/*打开文件*/
fd = open(fn ......
哪位大侠做过内核态的UDP通信啊?
小弟使用struct socket *sock结构能进行通信了,但是无法像用户态程序一样使用poll或者select。
有写过的大侠能否给点提示或者代码片段啊?
先谢过啦!!!
没做过。 ......
写了个测试程序如下
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
我的电脑上一共有3块硬盘,我安装好linux后,插入U盘,本来以为系统会自动挂载的(我用RHEL5.1都能够自动挂载,而现在用的5.4却不能),但是过了好久都没见桌面上出现那个U盘图标,于是想要自己手动挂载。下面就是我 ......