笔者是使用的虚拟机对ubuntu的内核进行重新编译,双系统应该也可以。
- 查看当前版本的内核:
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高级选项,进入内核模式选择自己编译的最新版内核
完成!!!