0.预备
当前版本:4.15升级为5.0.9(我下载的是这个版本)
虚拟机配置:(硬盘至少30GB)
扩容的方法:https://blog.csdn.net/pengshengli/article/details/89683225
1.下载内核:https://www.kernel.org/
2.解压:
xz -d linux-5.0.9.tar.xz
解压为:linux-5.0.9.tar
3.再解压:
tar -vxf linux-5.0.9.tar
4.复制配置文件到当前版本的目录下:
cp /boot/config-4.15.0-47-generic ./.config
5.make menuconfig
make menuconfig
出现如下界面:
这里可能会出现错误:scripts/kconfig/Makefile:207: recipe for target 'scripts/kconfig/mconf-cfg' failed
需要安装:
apt-get install libncurses5-dev
还有可能需要安装:
apt-get install flex
apt-get install bison
6. 编译内核
make -j6
(1)报错:
scripts/sign-file.c:25:10: fatal error: openssl/opensslv.h: No such file or directory
#include <openssl/opensslv.h>
安装:
apt-get install libssl-dev
注:cpu核数调的尽量大,我的是6核,所以上面的命令为-j6(比单核编译的快)
(2)报错:error: code model kernel does not support PIC mode
修改${kernel_path}/arch/x86/Makefile
文件中的BITS := 64
脚本代码块,添加一行来修改gcc的编译参数,KBUILD_CFLAGS += -fno-pic
用htop命令可以查看6个cpu的利用率:
大概过30-40分钟。。。
7.安装驱动:linux-5.0.9#make modules_install
make modules_install
8.生成bzImage
make bzImage
9.copy Image放到boot中
cp arch/x86/boot/bzImage /boot/vmlinuz-5.0.9
10.copy System.map 文件
cp System.map /boot/System.map-5.0.9
11.copy config文件
cp .config /boot/config-5.0.9
12.升级initramfs
进入到/lib/modules/5.0.9
update-initramfs -c -k 5.0.9
13.升级grub文件(在/lib/modules/5.0.9)
update-grub
14.重启
可能出现CPU禁用
解决:把内存调大点,我调成4G
15.查看版本: