11次编译的结果

2016-01-29 18:36 5 1 收藏

11次编译的结果,11次编译的结果

【 tulaoshi.com - Linux 】

昨晚上编译了11次,总算基本上搞清问题所在。还是自己偷懒的结果,没有严格按照make dep,make clean,make lib_only,make user_only,make romfs,make image的顺序编译,而是make dep后直接make.后者少了关键的make clean一步,在make的时候直接用的是原来旧的romfs.o。所以不管内核怎么裁减,根文件系统还是那么多东西。
昨晚上编译了11次,总算基本上搞清问题所在。还是自己偷懒的结果,没有严格按照make dep,make clean,make lib_only,make user_only,make romfs,make image的顺序编译,而是make dep后直接make.后者少了关键的make clean一步,在make的时候直接用的是原来旧的romfs.o。所以不管内核怎么裁减,根文件系统还是那么多东西。
几点注意:1、system type -->set flash/sdram size and base addr变了以后没用,到源码里一看才知道根本没处理。直接改源码sdram size 为16M后编译通过,可上板子运行就提示“kernel BUG at slab.c:1013!”,跑飞。2、system type -->kernel executes from 由ROM改为RAM可将新的应用编进去,但没有试make clean后的效果 。3、block devices -->ram disk support-->default ram disk size由1024改为2048可将新的应用编进去。4、block devices -->ram disk support-->inital ram disk (initrd) support 加不加好像都没关系?5、busy box里的应用不要乱改,否则启动后回有问题(除非你不用)我把mount和mkdir去掉就倒了大霉。6、优龙给的uclinux源码有一个地方有错,linux-2.4.x/include/asm/arch/hardware.h第191行用了c++风格的注释,改成c风格的,可能是笔误。

下一步:1、继续想办法搞清ram disk2、继续想办法搞清image.rom和romfs.img关系,image.rom里到底有什么?3、继续裁减优化内核,李明文章里说的在linux-2.4.x的Makefile里有arm-elf-ld,怎么找不到?4、busy box支持shell脚本吗?5、读freeswan文档,搞清配置过程及要用到的文件还有文件位置。

来源:http://www.tulaoshi.com/n/20160129/1506537.html

延伸阅读
有很多人问为什么VC编译出来的程序都要上兆。而且有些人还总结出条结论: VC做出的东西是又大又慢。 其实这实在是冤枉了VC了。其实VC做的工程是个能包含多个子工程的工程文件。一般用AppWizard生成的工程里就包含了两个子工程:Win32 Debug工程和Win32Release工程。而缺省激活的工程是Win32 Debug工程,用这个子工程编译出来的执行...
      Author: void#ph4nt0m.org */ // 编译器 cl.exe(Visual C++ 6.0) // 没有做任何优化情况下,编译大小为:16K // 编译优化后: 1K (用16进制编辑器把尾部的0x00去掉: 712bytes) #include windows.h #pragma comment(lib,"kernel32.lib") // 作用: 指定节对齐为512字节 #pragma comment(linker, "/align:512") //...
java诞生于1995年,是一门较年轻的语言。它以平台无关性,安全性,面向对象,分布式,键壮性等特点赢得了众多程序员的青睐。特别是它简洁的面向对象的语言风格,更让许多人对它爱不释手。但人们在使用java的过程中,会发现它有几个致命的弱点:运行速度慢,用户使用不便,源代码保护机制不够安全。特别是在保护源代码方面,java是基于解释...
-优化-  /O1 最小化空间 minimize space /Op[-] 改善浮点数一致性 improve floating-pt consistency /O2 最大化速度 maximize speed /Os 优选代码空间 favor code space /Oa 假设没有别名 assume no aliasing /Ot 优选代码速度 favor code speed /Ob 内联展开(默认 n=0) inline expansion (de...
下面是条件编译可用的预定义变量。假如变量不是 true ,就不被定义或者作为 NaN 处理。 变量 描述 @_win32在 Win32 系统上运行为 true。@_win16在 Win16 系统上运行为 true。@_mac在 Apple Macintosh 系统上运行为 true。@_alpha在 DEC Alpha 处理器上运行为 true。@_x86在 Intel 处理器上运行为 true。@_mc680x0在 Motorola 680x0 处...

经验教程

950

收藏

91
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部