您的位置:首页 > 运维架构 > Linux

Linux内核代码删减

2016-10-05 22:41 225 查看

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. 编译

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息