当前内核查看:
root@ok-virtual-machine:/usr/src/linux-5.15.50# uname -a
Linux ok-virtual-machine 5.15.0-39-generic #42-Ubuntu SMP Thu Jun 9 23:42:32 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
5.15.0
一、安装linux内核
linux内核官方网站:www.kernel.org
进入网站后下载该版本。
输入下面命令完成安装需要的包
sudo apt-get install libncurses5-dev openssl libssl-dev
sudo apt-get install build-essential openssl
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev
sudo apt-get install zlibc minizip
sudo apt-get install libidn11-dev libidn11
编译
1.首先将用户切换到root
接下来的命令都需要加sudo ,或者每次命令最前面都加sudo 也可以
sudo su
2 将下载好的linux内核解压至/usr/src
tar -xavf linux-5.15.50.tar.xz -C /usr/src
cd /usr/src/linux-5.15.50
3 得到源代码后,将其净化
make mrproper
4 配置要进行编译的内核
cp /boot/config-`uname -r` ./.config
make menuconfig
依次点击load → (.config)OK→ SAVE→ (.config)OK → EXIT
5 编译内核
make bzImage -j8 (-j表示加速,8代表着线程数
遇到的问题:
make[1]: *** 没有规则可制作目标“debian/canonical-certs.pem”,由“certs/x509
修改为这样:
内核错误:BTF: .tmp_vmlinux.btf: pahole (pahole) is not available
BTF: .tmp_vmlinux.btf: pahole (pahole) is not available
Failed to generate BTF for vmlinux
Try to disable CONFIG_DEBUG_INFO_BTF
make: *** [Makefile:1161: vmlinux] Error 1
sudo apt-get install dwarves #一般是系统缺少dwarves
软件包导致
scripts/sign-file.c:25:30: fatal error: openssl/opensslv.h: No such file or directory
apt-get install libssl-dev
6.编译模块(半小时左右)
make modules -j8
7 安装模块
make modules_install