ubuntu内核升降

具体升级内核还是降级内核,需要根据ubuntu版本所能正确运行的内核版本范围(比如在10.04ubuntu上面升级一个5.19的内核,大概率是会跑崩的)。因此要选一个适当的版本来安装你所需的内核。

更换内核大致分为以下步骤:1.增加目标内核、2.更换当前内核、3.删除多余内核,具体看下面的描述;

0.须知

  • 查看当前内核:
uname -a

1.使用apt-get更换

个人学习参考文章:https://blog.csdn.net/qq_33236581/article/details/112098491

  • 1.检索:搜索目前可以安装内核版本。使用命令:(如果能搜索到你想要的内核版本那就万事大吉,安装起来就比较加简单)
apt-cache search linux|grep linux-image
  • 2.安装:安装内核:(不管是安装哪个版本,都需安装下面四个)
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
  • 3.查看:下载完之后查看内核安装信息
dpkg --get-selections | grep linux
  • 4.更换默认:然后更换自己需要的内核为默认启动的内核(这里先介绍一种比较简答的配置默认启动内核的方式)
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
  • 5.删除:删除不需要的内核
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
  • 6.再次查看内核:状态为 deinstall 表示已经卸载,如果不想显示 deinstall 这些项,并删除它们在 /lib/modual/ 下面还有这些内核的配置信息,可以采用下面的命令完全删除,如果还在就手动删:
sudo dpkg -P linux-image-4.15.0-39-generic  # 其他内核名称可以用 tab 键自动补全来查看
  • 7.更新系统引导
    删除内核后需要更新grub移除失效的启动项
sudo update-grub  #根据情况选择grub/grub2

2.使用dpkg更换

  • 下载:
    网站下载需要的内核:网站
    命令行下载:(可以在网站内找到网址+名字替换下方网址)
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)

3.使用压缩包更换

个人学习参考文章:
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 
  • 重启
    重启按住 shift进入高级模式
    在这里插入图片描述
    在这里插入图片描述
    进入之后uname -a,肯定就是你的内核了,然是重启的话,可能又恢复回去原来的内核了,所以参考下面: Ubuntu更改默认启动内核那个网址,就可默认启动自己的内核

4.Ubuntu更改默认启动内核

https://blog.csdn.net/SweeNeil/article/details/87937269

5.总结

X86平台内核配置、编译和安装
上面三种更换内核的方式,选择其中一种自己合适的即可。

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Ubuntu是一个广泛使用的开源操作系统,它的内核基于LinuxUbuntu内核开发是指对Ubuntu操作系统的内核进行开发和优化的过程。 内核是操作系统的核心部分,负责管理计算机的硬件资源和处理各种系统任务。Ubuntu内核开发旨在提升系统的性能、安全性和稳定性。它涉及到诸多方面的工作,包括代码编写、功能修改、错误修复等。 内核开发者首先需要熟悉Linux内核的结构和工作原理。他们需要了解各个功能模块的作用和相互关系,如进程管理、内存管理、文件系统等。他们还需要了解硬件平台的特性,以便针对不同的硬件环境进行优化。 在Ubuntu内核开发过程中,开发者通常会参与内核社区的讨论,并参与到代码的编写和修改中。他们可以提交补丁和提出功能改进建议,以改进Ubuntu内核的性能和功能。开发者还需要对代码进行测试,以确保修改不会引入新的错误。 此外,Ubuntu内核开发还包括持续的安全更新和错误修复。开发者需要不断跟踪最新的安全漏洞和错误报告,并及时发布补丁和更新。他们还需要与其他内核开发者合作,处理用户的反馈和需求。 总之,Ubuntu内核开发是一个复杂而庞大的工程,需要开发者具备深入的操作系统和硬件知识。通过不断的优化和改进,Ubuntu内核可以为用户提供更好的使用体验和系统性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

maosql

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值