家庭安防IPC设备kernel裁剪

最近在做家庭安防IPC,选择使用Hisi3518EV200方案,为了节约成本,采用8M的flash,而海思提供的kernel编译出来的uImage差不多有3M,这导致flash严重不够用,所以必须对u-boot、kernel、rootfs进行裁剪,以下是对kernel进行的裁剪及配置,最后编译出来的uImage大小为1.6M左右。

    1、设备驱动

a、Input子系统:其主要是一些键盘、鼠标等驱动,家庭安防IPC不需要这些,所以Input子系统的驱动可以全部干掉。

b、SCSI设备子系统:主要用于硬盘、打印机、扫描仪等智能设备连接的驱动,家庭安防IPC不需要这些,也可完全干掉。

c、HID 设备驱动也不需要,也可以干掉。

 

    2、文件系统

当我们进入文件系统配置选项里面时, 会看到支持很多文件系统类型,但是这些文件系统我们不可能都全部使用,所以我们只要保留支持我们所用到的文件系统类型选项就可以了,其他的可以全部干掉。 我们使用到JFFS2、vfat、SquashFS文件系统,所以我就把UBIFS、cramfs、ext4、CD-ROM/DVD、MSDOS fs、NTFS、yaffs2等文件系统干掉。


     经过上面的裁剪,保存重新编译,uImage的大小为2.3M左右,减少了不少,但这样依然感觉很大,又重新去查看kernel的配置,后来发现压缩选项海思默认为Gzip压缩模式,然后我把它修改为xz压缩模式,重新编译,最后得到的uImage大小为1.6M;


    听说别人的kernel只有1.2M左右,看来的继续努力。


你可能感兴趣的:(技术文类,kernel,裁剪)