易截截图软件、单文件、免安装、纯绿色、仅160KB

嵌入式linux系统裁剪

 花了几天的时间,终于把系统从近200 MB裁到小于16 MB, 虽然现在看来过程非常简单,对于最初的那点恐惧觉得有点可笑。在这里把主要心得写一下,总结一下心得, 希望可以给相关人员一点参考。
    主要步骤如下:
    1. 充分了解系统
    这有点像废话,但是确实很重要,特别对不是自己负责的模块,需要花点时间去在调研。最初觉得不好下手是没有对系统进行足够的了解,并不知道它为什么会这么庞大,但当你了解之后,就会信心倍增。
    可以借助 du * | sort -n 按大小对文件或者目录进行排序, 从大到小依次裁剪。
    2. UI 裁剪
     一般来说,UI占用了整个系统最多的存储空间。SDK包括的东西都是一般比较全的,不同的产品有不同的需求。如QT,有网络,各种数据库,多种语言和字体的支持,以及为了保持向下兼容的冗余的库等,使得整个系统非常庞大。根据产品特性在此基础上删减是最有效果的。
     3. 文件系统选择
    文件系统包括根文件系统和应用程序的文件系统,嵌入式linux系统存储结构一般为:
    {boot loader} {kernel } { rootfs } { application filesystem }
    选择一个压缩率高的文件系统可以使系统变得非常小。
   对于嵌入式设备来说,文件一般存储在flash里面,常用的文件系统主要有:
      cramfs, squashfs, jffs2, yaffs2
    各有特点,前二者是只读的,压缩率都比较高,后二者是可写的,jffs2压缩率比前二者稍差,Yaffs2最差。如果对空间要求比较高的系统,squashfs是比较好的选择,若需要支持可写,则squashfs + jffs2是比较合适的。  
     4. Kernel裁剪
    kernel的裁剪相对简单,把不用的模块, driver去掉, 还可以把一些driver以module形式编译,放到rootfs中。编译kernel时,一般会生成未压缩的和经过压缩的kernel, 烧到falsh时选择压缩过的。
    最后,提醒一下,在制作文件系统之前,别忘了对可执行文件和动态库进行strip操作。


相关文档:

实战Linux Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

Linux设备模型之input子系统详解

一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......

Linux下的后门和日志工具

 攻入Linux系统后,很多入侵者往往就开始得意忘形了。这其中还有一个原因,就是技术性也要求更高了。下面,我们来看看一些常用的经典工具。(未经允许,谢绝转载!)
1、从这里延伸:后门和连接工具
(1)Httptunnel
Tunnel的意思是隧道,通常HTTPTunnel被称之为HTTP暗道,它的原理就是将数据伪装成HTTP的数据形式来 ......

linux 与windows netstat命令查看端口是否占用

 netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,这里我只用到其中的部分功能.
netstat 的常用参数: - t、- u、- w和- x分别表示TCP、UDP、RAW和UNIX套接字连接。-a标记,还会显示出等待连接(也就是说处于监听模式)的套接字。-l 显示正在被 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号