记录一次 Fedora 40 编译内核(6.9.10)

记录一次 Fedora 40 编译内核(6.9.10)

1. 前置条件

首先安装依赖:

sudo dnf install gcc gpg2 git gzip make openssl perl rsync binutils ncurses-devel flex make bison openssl-devel elfutils-libelf-devel rpm-build

查看本机内核版本和平台:

uname -rm

笔者的输出为:6.9.10-200.fc40.x86_64 x86_64

接下来就要去下载源码了

打开网站The Linux Kernel Archives

在这里插入图片描述
在这里可以选择 Latest Release ,也可以选择和本机相同的版本。笔者这里选择 6.9.10

下载并解压源码:

mkdir linux-kernel
cd linux-kernel
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.9.10.tar.gz
tar xvf linux-6.9.10.tar.gz

2. 配置

Linux 内核的构建过程会查找 .config 文件。顾名思义,这是一个配置文件,用于指定 Linux 内核的所有可能的配置选项。这是必需的文件。

获取 Linux 内核的 .config 文件有两种方式:

  1. 使用你的 Linux 发行版的配置作为基础(推荐做法
  2. 使用默认的,通用的配置

由此,我们选择第一种方式:

ls /boot

列出 /boot 目录后可以发现,有一个叫 config-6.9.10-200.fc40.x86_64 的文件,这个就是我们需要用到的内核配置文件。

cd linux-6.9.10
cp /boot/config-6.9.10-200.fc40.x86_64 .
mv config-6.9.10-200.fc40.x86_64 .config

这样,我们就完成了内核配置。当然,我们编译内核是为了添加或者删去某些模块,因此在此步骤,还可以修改 .config 文件来修改内核配置,具体需要修改哪些请读者自行选择,在此不做赘述。

3. 编译

make -j8

由此开始编译,-j8 是用来指定编译线程,可以根据电脑CPU来选择。8核CPU建议选择8 -j8 ,12核 -j12

编译过程根据不同性能的CPU长短不同,大致在半个小时到一个小时之间,期间可以做些其他事情。

sudo make install				# 安装内核
sudo make modules_install		# 安装模块
sudo grub2-mkconfig -o /boot/grub2/grub.cfg		# 重新生成 grub 配置

4. 打包内核

为了能够通过系统包管理器管理其安装和删除,我们可以创建一个rpm包,而不是像上面那样直接安装编译后的内核。

make binrpm-pkg

打包过程大致需要半个小时,打包好的文件位于 rpmbuild/RPMS/x86_64 。该文件夹中有三个包:

kernel-6.9.10-3.x86_64.rpm
kernel-devel-6.9.10-3.x86_64.rpm
kernel-headers-6.9.10-3.x86_64.rpm

5. 清理

最后,清理不必要的文件:

make clean

参考

https://linux.cn/article-16252-1.html

https://cn.linux-console.net/?p=11483

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值