0
点赞
收藏
分享

微信扫一扫

【linux kernel】记一次linux内核裁剪总结

记一次linux内核裁剪总结

一、背景

​ 在linux内核中,小生构建了一个大约5.7M大小的linux内核zImage镜像。目的:想着将其裁剪和缩小,于是乎开始了裁剪linux内核之路。

​ 本篇文章记录一下关于fs项是如何配置和处理的。

二、裁剪过程记录

(2-1)思路描述

linux内核在编译、构建过程中,对于fs文件系统目录下放置的各类文件系统进行了编译,那么可以根据实际的项目和应用场景将一些没有使用到的文件系统清除掉,让其不要链接进内核镜像中。

(2-2)具体步骤

Step-1、编译构建出宿主机上的linux内核图形配置界面:

在这里插入图片描述

Step-2、进入到【File system】选项下,将不需要的文件系统取消掉
在这里插入图片描述

从以上图片可知,4.1.15版本的Linux内核目前支持的文件系统情况,把不要的文件系统对应的选项取消掉可,小生根据自己的应用场景,配置选项方案如下:

【1】保留Enable POSIX file locking API选项。

【2】保留Pseudo Filesystems选项。

【3】保留Network File Systems选项。

因小生需要通过nfs挂载文件系统,所以开启了Enable POSIX file locking APINetwork File Systems,需要内核支持/proc虚拟文件系统、Sysctrl以及Tmpfs虚拟文件系统。故保留了Pseudo Filesystems,在该选项下对其子项进行配置:

在这里插入图片描述

Step-3、编译构建linux内核

至此,关于fs文件系统项就配置完成。

三、总结

​ 根据本次linux内核配置操作:只配置linux支持nfs网络文件系统、/proc虚拟文件系统、支持Sysctl、Tmpfs虚拟内存文件系统。取消掉没有使用到的文件系统支持。最后构建出的linux内核镜像从5.7M降到了4.5M大小。经测试,linux内核启动、运行正常!

​ 关于linux内核裁剪,可从以下两点入手:

(1)如果在图形配置界面中,那么可以找到每个选项的【帮助】来辅助选择是否要保留该项选择、或者选择是否以模块方式构建该部分内容。

(2)根据实际linux内核运用场景和软件需求,关闭一些使用不要的linux内核特性、文件系统、支持库、第三方软件包等。


举报

相关推荐

0 条评论