当前位置:首页>Linux>如何定制构建Linux 内核kernel(配置篇)

如何定制构建Linux 内核kernel(配置篇)

  • 2026-10-11 06:25:53
如何定制构建Linux 内核kernel(配置篇)

Linux内核是 操作系统的核心程序,负责直接管理 CPU、内存、设备驱动、文件系统和进程调度,并为用户态程序提供系统调用接口。

内核配置是一份决定Linux 内核“哪些功能编进内核、哪些做成模块、哪些直接禁用”的关键清单(.config),直接决定了内核的功能范围、性能表现和可支持的硬件类型。

已关注
关注
重播 分享 赞

一、准备构建环境

1、使用自定义镜像(本文使用该方式)

参考地址:《如何制作一个docker base镜像》

2、使用龙蜥镜像

docker pull registry.openanolis.cn/openanolis/anolisos:23.4

二、下载内核

1、获取龙蜥内核地址

http://build.openanolis.cn/buildinfo?buildID=46140

2、获取龙蜥内核代码

https://gitee.com/src-anolis-sig/cloud-kernel

git clone https://gitee.com/src-anolis-sig/cloud-kernel.git  #克隆代码cd cloud-kernel  #更换目录git checkout e9979af130ead477358365e7d3660d7b41773b9f -b e9979af130ead477358365e7d3660d7b41773b9f  #更换对应commitcp kernel.spec ~/rpmbuild/SPECS/  ##复制spec文件到工作目录cp * ~/rpmbuild/SOURCES/  ##复制源码文件到工作目录

3、获取龙蜥内核源码

http://build.openanolis.cn/kojifiles/upstream-source/

curl -LO http://build.openanolis.cn/kojifiles/upstream-source/linux-6.6.102-6.an23.tar.xz.f66938ce51308d5ff479c1fa92396c3e  #下载内核源码mv linux-6.6.102-6.an23.tar.xz.f66938ce51308d5ff479c1fa92396c3e ~/rpmbuild/SOURCES/linux-6.6.102-6.an23.tar.xz  #移动至工作目录

三、定制内核配置

1、准备内核源码

cd ~/rpmbuild/SPECS/  #更换工作目录dnf install yum-utils -y  #安装依赖yum-builddep kernel.spec -y  #安装内核构建依赖rpmbuild -bp kernel.spec  #准备内核源码

2、定制配置,并加入至内核配置文件中(操作视频见本文开头视频二)

cd ~/rpmbuild/BUILD/kernel-6.6.102-6.an23/linux-6.6.102-6.an23.aarch64/  #更换工作目录make menuconfig  #配置命令/  #切换至搜索功能,搜索hfsplus,查看所在路径切换至所在路径并设置为m然后保存并退出
diff -Nur .config.old .config  #通过diff查看变更的内容(本次未发现未打开的依赖,所以仅一条)

将CONFIG_HFSPLUS_FS=m加入内核配置文件即可

cat ~/rpmbuild/SOURCES/kernel-6.6.102-aarch64*.config|grep -i hfsplussed -i "s/# CONFIG_HFSPLUS_FS is not set/CONFIG_HFSPLUS_FS=m/g" ~/rpmbuild/SOURCES/kernel-6.6.102-aarch64*.config

四、构建内核(操作视频见本文开头视频一)

cd ~/rpmbuild/SPECS/rpmbuild -ba kernel.spec

五、验证

# 查看内核是否拥有hfsplus模块yumdownloader kernelrpm -qpl kernel-6.6.102-6.an23.aarch64.rpm |grep -i hfsplus# 查看自己构建的内核是否拥有hfsplus模块rpm -qpl ~/rpmbuild/RPMS/aarch64/kernel-6.6.102-6.an23.aarch64.rpm |grep -i hfsplus
#kernel #内核 #linux #redhat #centos #fedora #openanolisos #openeuler #opencloudos

最新文章

随机文章