Linux kernel编译、安装及指定默认内核版本启动

内容转自:

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”

Linux kernel编译、安装及指定默认内核版本启动_第1张图片

然后使用命令更新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

你可能感兴趣的:(转载,Ubuntu)