我是靠谱客的博主 独特大侠,最近开发中收集的这篇文章主要介绍全志平台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. 杂项优化所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复