ubuntu上更新和卸载Linux内核

简介

在调试代码过程中需要用到最新版本内核,上网学习良久,总结并输出这文章,方便自己将来查询。

本文不讲解原理,属于工具文,为方便阅读,尽可能只提示如何操作。

查询当前本机内核版本

$ uname -r

安装Ubuntu官方释放版本

Ubuntu官方提供的内核链接中获取所需要的内核版本,链接https://kernel.ubuntu.com/~kernel-ppa/mainline/

从选择的内核版本中下载以下3个文件:

linux-headers-*_amd64.deb
linux-headers-*_all.deb
linux-image-*-generic_*amd64.deb

上述的 * 号表示模糊匹配,amd64适用于64位amd架构的环境,可根据自己的情况选择对应的架构。

下载后用 dpkg 正常安装后重启即可

$ sudo dpkg -i *.deb

一键安装脚本

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

源码安装

Linux官网获取内核源码,链接https://www.kernel.org/

例如通过git获取最新稳定版内核:

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

置换内核配置文件:

$ cp /boot/config-`uname -r` <内核源码根目录>

更新内核配置:

$ cd <内核源码更目录>
$ make menuconfig

编译内核:

$ cd <内核源码根目录>
$ make -j4		# 完整编译,也可用 make modules 编译内核模块

安装内核模块:

$ sudo make modules_install

安装内核:

$ sudo make install

搞定重启。

卸载Ubuntu官方释放版本

获取所有安装的内核版本

$ dpkg --get-selections | grep linux

选择要卸载的版本,卸载下列安装包

$ sudo apt remove linux-image-<版本>-generic
$ sudo apt remove linux-headers-<版本>
$ sudo apt remove linux-headers-<版本>-generic
$ sudo apt remove linux-modules-<版本>-generic

卸载源码版本

删除下面的文件和文件夹

$ rm -rf /boot/vmlinuz-<内核版本>-*
$ rm -rf /boot/initrd-<内核版本>-*
$ rm -rf /boot/System-map-<内核版本>-*
$ rm -rf /boot/config-<内核版本>
$ rm -rf /lib/modules/<内核版本>-*

更新启动引导

$ sudo update-grub
posted @ 2020-03-20 18:27  广漠飘羽  阅读(2899)  评论(0编辑  收藏  举报