内容转自:
https://blog.csdn.net/weixin_41666796/article/details/96434229
https://blog.mtkfan.com/post-431.html
一、内核编译与安装
升级内核的本质是用新编译好的内核代替当前使用的内核,简单的说就是更换 /boot文件夹下的文件。
1. 下载源码 www.kernel.org/pub/linux/kernel/v3.x/…,,比如下载到Linux-3.14.tar.gz,大约100+M
2.拷贝到/usr/src目录下,用 tar -xvf linux-3.14.tar.gz 命令解压
3.切换至解压后的源码目录下,sudo su 进入超级权限模式
4.curse.h没有该文件,需安装sudo apt-get install libncurses5-dev libncursesw5-dev 或是apt-get install libncurses-dev,安装 make menuconfig时需要用到的库文件
5.执行make menuconfig,选择配置后会生成 .config文件
但是这是重新配置内核,并没有保留当前内核的配置,如果想保留当前内核的配置或是在当前内核上修改,可以这么修改
sudo cp /boot/config-当前版本号-generic ./linux-3.14/.config
这行的意思是把当前内核的配置文件作为.config文件,然后再执行第五步,修改.config
执行make oldconfig,一路回车即可。
6. make 编译 (这个过程较长,1~2小时左右)
7.make modules 编译模块
8.make modules_install 安装模块
9.make install 安装内核
10.reboot 计算机,选择新内核,OK!
11.重启后,如果安装window和ubuntu双系统,可能需要执行update-grup或是update-grup2,恢复引导windows。
二、更新内核版本
显示内核的顺序
grep 'menuentry ' /boot/grub/grub.cfg
修改/etc/default/grub中
GRUB_DEFAULT=0
改为
GRUB_DEFAULT=内核顺序
双系统的grub配置修改请参考:ubuntu和windows双系统grub启动顺序
特别的,对于有二级菜单的,Previous linux versions,*注意需要有引号*
- GRUB_DEFAULT=”Previous Linux versions>Ubuntu, with Linux 3.2.0-18-generic-pae”
- GRUB_DEFAULT=”Previous Linux versions>0″
- GRUB_DEFAULT=”2>0″
- GRUB_DEFAULT=”2>Ubuntu, with Linux 3.2.0-18-generic-pae”
然后使用命令更新grub
sudo update-grub
重启后,使用命令
uname -r
查看内核,即为你想要的内核
三、显示启动菜单
编辑/etc/default/grub文件,注释掉GRUB_HIDDEN_TIMEOUT_QUIET选项并update-grub即可。
1.sudo gedit /etc/default/grub
修改如下:
GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
2.sudo update-grub