我是靠谱客的博主 独特大侠,最近开发中收集的这篇文章主要介绍全志平台BSP裁剪(5)kernel裁剪--driver裁剪&杂项优化1. Driver裁剪2. 杂项优化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. Driver裁剪

对于一个镜像文件,最主要的裁剪其实是落在Driver上,其基本占据了一个镜像一半的大小,而这部分的裁剪需要项目负责人以及各个模块的负责人一起完成。

(1)获取内核镜像所有的驱动

通过scripts/ksize.py工具可以获得内核中各个段的大小,相对于readelf,这个工具更有用的功能是可以显示出段内信息,比如Driver里面所built-in.o。

scripts/ksize.py  -d vmlinux

可以得到:

而drivers/built-in.o如下图:

从上面,我们可以看出Driver里有具体哪个built-in.o,每个built-in.o具体的大小,包括total,text,data,bss段,这样找相应的负责人裁剪对应的驱动。

(2)ko

built-in的方式对于生成一个内核镜像来说,总会出现些许驱动没有用到然后被编译进驱动,建议把所有的驱动编程.ko,然后交由顶层的同事insmod,不需要的就删除对应的.ko,这样就保证留有所用。

2. 杂项优化

杂项优化主要是通过一些手段来去除内核镜像中的调试信息,符号表等段,以缩小内核镜像的大小

(1)Makefile

Makefile里面加上 EXTRA_LDFLAGS += --strip-debug,编译的时候去除调试信息,符号表和重定向信息

最后

以上就是独特大侠为你收集整理的全志平台BSP裁剪(5)kernel裁剪--driver裁剪&杂项优化1. Driver裁剪2. 杂项优化的全部内容,希望文章能够帮你解决全志平台BSP裁剪(5)kernel裁剪--driver裁剪&杂项优化1. Driver裁剪2. 杂项优化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部