仅作记录,小白萌新,大佬勿喷
环境
ubutun 20.04
VMware Pro 15.5
Linux内核版本 5.6.14
过程
复制内核压缩包到/usr/src/并解压
sudo cp linux-5.6.14.tar.xz /usr/src/
sudo tar -xvJf linux-5.6.14.tar.xz
尝试make,根据提示安装所需组件
sudo apt install make
sudo apt-get install libncurses5-dev libncursesw5-dev
sudo apt install flex
sudo apt install gcc
sudo apt install bison
sudo apt insatll vim
开始设置menuconfig
sudo make menuconfig
保存之后开始make
sudo make -j8
出现错误
调整虚拟机相关设置后重新执行make,报错
(此处我重装虚拟机,执行上面的指令后出现了新的错误
解决方法:
sudo apt-get install libssl-dev
再次make,等待
在此处停顿,稍等片刻,会继续运行。
运行完成,用时约一小时。
sudo make modules_install
sudo make install
完成后,已经把内核源码编译成内核镜像,并且拷贝到了引导目录下。
建立虚拟盘,如果版本号后面跟的有其他东西的话也要加上
sudo update-initramfs -c -k 5.6.14
修改grub.cfg
grub.cfg在/boot/grub/目录下
复制一段,修改斜体加粗部分,保存退出。
menuentry 'Ubuntu, with Linux 5.4.0-31-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-31-generic-advanced-52fda4f0-9dea-4033-bb65-8d41e475565b' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 52fda4f0-9dea-4033-bb65-8d41e475565b
else
search --no-floppy --fs-uuid --set=root 52fda4f0-9dea-4033-bb65-8d41e475565b
fi
echo 'Loading Linux 5.4.0-31-generic ...'
linux /boot/vmlinuz-5.4.0-31-generic root=UUID=52fda4f0-9dea-4033-bb65-8d41e475565b ro find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.4.0-31-generic
}
重启
直接选择resume
如果不修改grub.cfg,可以修改/etc/default/grub
将GRUB_TIMEOUT注释掉
保存退出
执行
sudo update-grub
重启,按esc,进入高级选项,可以选择内核。
参考资料
https://blog.csdn.net/qq_41911710/article/details/102823579
https://blog.csdn.net/qq_38428855/article/details/102854322
https://www.jianshu.com/p/98fe46eec942
https://blog.csdn.net/ibless/article/details/82349507