linux内核学习---Linux内核更新(2)
2022/1/2 7:07:55
本文主要是介绍linux内核学习---Linux内核更新(2),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一:场景
openvswitch不同版本编译,可能对linux内核的要求不同,不一致的版本可能导致各种错误,比如:宏定义错误,结构体成员、回调函数缺失...
比如在VM下使用的Ubuntu 16.04.1 LTS系统,默认为下面的4.4.0版本内核。
注意:本文所有图片均是在成功后截图,所以其中的部分数据是更新内核后才显示! 比如上图中的其他内核信息,和后面hostnamectl显示的内核信息(应该是4.4.0),我们已经更新过了,所以为4.15.0-142
而我们需要编译的openvswitch版本为openvswitch2.11.4,与之最合适的内核版本为Linux 4.15.0-142-generic。
因此本文的需求:为了编译OVS源码,我们更新Ubuntu系统的内核版本从4.4.0-31-generic -----> 4.15.0-142-generic
二:命令补充
1.hostnamectl : 包括主机名,操作系统信息,内核版本信息等等......
2.uname -r : 只查看内核版本
3. sudo dpkg --get-selections : 显示包含标记install或deinstall的包
4.apt-cache search :查询支持的所有安装包
5.grep submenu /boot/grub/grub.cfg : 查看子菜单下的启动的内核信息
三:内核更新
(一)查看当前启动的内核信息
grep submenu /boot/grub/grub.cfg
注意:本系统原始4.4.0的信息为(gnulinux-advanced-ecb83edd-4b85-4496-a8f3-40468ea1b71d),我们记录自己的内核信息数据即可!
(二)查看系统支持linux内核安装包
apt-cache search linux | grep linux-image
可以发现,我们需要的内核版本存在。
(三)查找所有需要的内核安装包信息
apt-cache search linux | grep 4.15.0-142-generic
(四)通过apt指令进行内核安装
sudo apt install linux-headers-4.15.0-142 linux-headers-4.15.0-142-generic linux-image-4.15.0-142-generic linux-modules-4.15.0-142-generic linux-modules-extra-4.15.0-142-generic linux-tools-4.15.0-142-generic
(五)查看内核信息,后面编辑grub引导文件需要
(六)切换默认启动的内核
sudo gedit /etc/default/grub
原本文件信息:
GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""
更新GRUB_DEFAULT字段:
GRUB_DEFAULT="gnulinux-advanced-ecb83edd-4b85-4496-a8f3-40468ea1b71d>gnulinux-4.15.0-142-generic-advanced-ecb83edd-4b85-4496-a8f3-40468ea1b71d" GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""
注意:前面为4.4.0原始内核信息,后面为新的4.15.0内核信息,两者通过“>”进行连接!
(七)更新grub
sudo update-grub
(八)重启,查看内核信息
sudo reboot
hostnamectl
可以看到内核更新成功,后面可以正常编译ovs了!!
这篇关于linux内核学习---Linux内核更新(2)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南