对linux的内核进行重新编译

  • Post author:
  • Post category:linux



笔者是使用的虚拟机对ubuntu的内核进行重新编译,双系统应该也可以。

  1. 查看当前版本的内核:
uname -rm
uname -a

在这里插入图片描述

2.选择更新的版本内核进行下载,点击前面的tarball就行(笔者这里从4.18.0更新到了5.0.2)

在这里插入图片描述

3.将下载的内核从/home/xx/下载,移动到/usr/src,由于直接移动可能会错误,因为权限不够,会出现不能将文件移动过来的情况,所以建议在终端使用下面的代码。然后进入/usr/src这个目录,对下载的文件进行解压。最后再进入到linux-5.0.2中。

sudo mv /home/xx/下载/linux-5.0.2 /usr/src
sudo xz -d linux-5.0.2.tar.xz
sudo tar -xf linux-5.0.2.tar

在这里插入图片描述

4.把正在使用中的内核配置文件/usr/src/linux-headers-4.18.0-16-generic/.config 拷到/usr/src/linux-5.0.2目录下(这一步的目的是让下一次的内核配置跟上一次一样,可做可不做)

sudo cp /usr/src/linux-headers-4.18.0-16-generic/.config /usr/src/linux-5.0.2

在这里插入图片描述

5.执行sudo make menuconfig,不过在此之前还要下载几个软件包。建议一步一步执行,方便看哪一步出现了问题。

sudo apt-get install make
sudo apt-get install gcc
sudo apt-get install libncurses5-dev
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install libssl-dev
sudo apt-get install libelf-dev
sudo make menuconfig

6.先选第一项load ….,意思是,利用当前的内核配置详单来设置将要编译的内核,然后选save这一项保存,最后退出配置界面。(如果第4步没有做的话,这一步就不用load,直接保存退出就行,当然也可以在general setup中修改内核的名字方便认出)

在这里插入图片描述

7.生成新内核(这是一个漫长的过程)

sudo make -j4   //我的电脑是4核,这个数字根据电脑的内核数量定(据我同学所说,可以不用查,直接-j8,它可以向下兼容,用-j8可以编译8核或者4核的)

8.接下来依次进行以下的操作

sudo make modules_install
sudo make install

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

9.然后关机重启,按住shift键选择linux高级选项,进入内核模式选择自己编译的最新版内核

在这里插入图片描述

在这里插入图片描述



完成!!!



版权声明:本文为jnq624847569原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。