具体升级内核还是降级内核,需要根据ubuntu版本所能正确运行的内核版本范围(比如在10.04ubuntu上面升级一个5.19的内核,大概率是会跑崩的)。因此要选一个适当的版本来安装你所需的内核。
更换内核大致分为以下步骤:1.增加目标内核、2.更换当前内核、3.删除多余内核,具体看下面的描述;
uname -a
个人学习参考文章:https://blog.csdn.net/qq_33236581/article/details/112098491
apt-cache search linux|grep linux-image
sudo apt-get install linux-image-3.13.0-170-generic
sudo apt-get install linux-headers-3.13.0-170-generic
sudo apt-get install linux-modules-3.13.0-170-generic
sudo apt-get install linux-modules-extra-3.13.0-170-generic # 如果不装会影响一些驱动
# 这些文件名的查询都可以用上面的命令列出来,如:apt-cache search linux|grep linux-modules-extra
dpkg --get-selections | grep linux
sudo apt-mark hold linux-image-3.13.0-170-generic
sudo apt-mark hold linux-headers-3.13.0-170-generic
sudo apt-mark hold linux-modules-extra-3.13.0-170-generic
删除之前可以确认一下当前使用的内核和当前已经下载的内核
uname -a
dpkg --get-selections | grep linux
sudo apt-get remove linux-headers-3.13.0-170
sudo apt-get remove linux-headers-3.13.0-170-generic
sudo apt-get remove linux-image-3.13.0-170-generic
sudo apt-get remove linux-modules-3.13.0-170-generic
sudo apt-get remove linux-modules-extra-3.13.0-170-generic
sudo dpkg -P linux-image-4.15.0-39-generic # 其他内核名称可以用 tab 键自动补全来查看
sudo update-grub #根据情况选择grub/grub2
sudo wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.180/amd64/linux-headers-$$_amd64.deb
sudo wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.180/amd64/linux-image-$$_amd64.deb
sudo wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.180/amd64/linux-modules-extra-$$_amd64.deb
老版的内核或许只有1和2,新一些的有1,2,3,反正就是有就下载。
1.linux-headers-xxx_amd64.deb
2.linux-image-xxx_amd64.deb
3.linux-modules-xxx_amd64.deb
安装
sudo dpkg --install *.deb
重启(sudo reboot),查看内核(uname -a)
个人学习参考文章:
https://blog.csdn.net/Xiaoma_Pedro/article/details/103892980
https://blog.csdn.net/qq_37437983/article/details/108586309
压缩包下载网站:网站
命令行下载:(可以在网站内找到网址+名字替换下方网址 $$是你需要替换的内容)
sudo wget https://cdn.kernel.org/pub/linux/kernel/$$/linux-$$.tar.xz
sudo xz -d linux-$$.tar.xz
sudo tar -zxvf linux-$$.tar.gz
sudo apt-get install libncurses5-dev libssl-dev -y
sudo apt-get install build-essential openssl -y
sudo apt-get install zlibc minizip -y
sudo apt-get install libidn11-dev libidn11 -y
sudo apt-get install bison -y
sudo apt-get install flex -y
sudo apt-get install libelf-dev -y
sudo apt-get install elfutils-libelf-devel –y
make之前的操作
#清除编译过程中产生的所有中间文件
sudo make mrproper
#清理上一次产生的编译中间文件
sudo make distclean
#还可以直接,拷贝。图像化配置.config界面,配置内核选项
sudo cp /boot/config-4.15.0-55-generic ./.config
打开界面配置,我个人没怎么配置,直接退出了。
要是编译32位的话,第一个选项64bit取消,应该是取消掉的话默认32位。
sudo make menuconfig
执行编译命令(有几个核就用几个核去跑,这个编译内核的过程很慢)
//默认编译64位
sudo make -j
//编译32位
sudo make bzImage -j
sudo make modules -j #编译内核模块
sudo make modules_install -j #安装内核模块(完成安装后,编译好的内核模块会从源码目录复制到/lib/modules/目录下 )
sudo make install -j
https://blog.csdn.net/SweeNeil/article/details/87937269
X86平台内核配置、编译和安装
上面三种更换内核的方式,选择其中一种自己合适的即可。