1.内核下载及编译准备
1、使用 git clone 从 github下载 linux 内核
git clone https://github.com/torvalds/linux.git
2、将目录跳转至 linux source tree 下,此处为:
cd ~/linux
3、查找目标版本号
4、使用 git checkout 将版本转换为目标版本(5.16)
git checkout tags/v5.16
2.内核配置
1、当前 ubuntu
系统的 内核 配置文件 到该 linux source tree
的目录下,并命名为.config
cp -v /boot/config-$(uname -r) .config
2、安装编译过程中要用到的包
sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev linux-source kernel-package libssl-dev
3、使用 make menuconfig 对内核进行配置
·输入 / 配置语句
配置以下语句:
CONFIG_SYSTEM_TRUSTED_KEYS
CONFIG_DEBUG_INFO_BTF
·取消相应*选项(KEYS取消全部;BTF取消第一项)
CONFIG_SYSTEM_TRUSTED_KEYS:
CONFIG_DEBUG_INFO_BTF:
4、打开 .config 文件,将内容进行如下所示修改
code .config
------------------------------------------------------------------------------------
#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_SYSTEM_EXTRA_CERTIFICATE=y
CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096
CONFIG_SECONDARY_TRUSTED_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
CONFIG_SYSTEM_REVOCATION_LIST=y
CONFIG_SYSTEM_REVOCATION_KEYS=""
# end of Certificates for signature checking
5、安装 ZSTD
sudo apt install zstd
3.编译
使用命令 make -j$(nproc) 编译(时间较长)
4.安装
1、安装内核各个模块
sudo make modules_install
2、安装内核
sudo make install
3、重启
reboot
4、检查版本
uname -r