Linux内核代码删减

来源:互联网 发布:网络映射如何做 编辑:程序博客网 时间:2024/05/01 19:40

Linux内核代码删减

嵌入式开发大多需要Linux开源内核源码,源码包解压后动辄500MB大小,磁盘吃不消啊。。。且用svn从服务器check out代码需要刷脸啊,遇到公司网络差的时候一个小时都下载不了啊。。。因此内核代码裁剪刻不容缓!内核代码裁剪无外乎几种手段,最变态的是编译后将不依赖的文件全部删除,但这也影响后续开发,改个内核配置,你还得检查下是不是需要把删掉的部分代码还原回来。这里仅介绍删除平台级代码,安全可靠。
1. 源码包初始状态,有577MB
这里写图片描述
2. arch是CPU体系结构相关代码存放目录,删除arm之外的所有的平台,一下清爽半边天
这里写图片描述
3. arch/arm目录下有各个CPU厂家的mach机器代码,删除你需要的之外的所有mach和plat,这里我需要的是mach-ambarella
这里写图片描述
这里写图片描述
4. 修改arch/arm/Kconfig,注释所有不需要的mach和plat,留下你想要的,不然编译失败
这里写图片描述
5. 看下删除后的源码包,足足减少了120MB空间,剩下的当然大头是drivers、fs、net这些代码,感兴趣的也可以尝试去删减自己明确不需要的驱动、文件系统或网络协议
这里写图片描述
6. 开始编译,先make distclean一下,编译不过,根据提示将对应的代码行删除,不知道为什么内核到现在体系结构代码上还存在依赖关系,可以研究下,然后给Linus提交个patch,哈哈哈。
这里写图片描述
这里写图片描述
7. 编译
这里写图片描述

0 0
原创粉丝点击