Ubuntu 16.04 上进行linux4.4.4 内核编译和安装(可升级可降级)

带你在 Ubuntu 16.04 服务器上走过linux 4.4.4 内核编译之旅。

 

1、安装需要的环境

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

 

2、下载内核

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.4.tar.xz 

 

3、解压源码

xz -d linux-4.4.4.tar.xz && tar -xvf linux-4.4.4.tar

使用命令 cd linux-4.4.4 进入新生成的文件夹

 

4、配置内核

在正式编译内核之前,我们首先必须配置需要包含哪些模块。实际上,有一些非常简单的方式来配置。使用一个命令,你能拷贝当前内核的配置文件,然后使用可靠的 menuconfig 命令来做任何必要的更改。使用如下命令来完成:

cp /boot/config-$(uname -r) .config

现在你有一个配置文件了,输入命令 make menuconfig。该命令将打开一个配置工具(图 1),它可以让你遍历每个可用模块,然后启用或者禁用你需要或者不需要的模块。

 

image

图 1: 运行中的 make menuconfig

很有可能你会禁用掉内核中的一个重要部分,所以在 menuconfig 期间小心地一步步进行。如果你对某个选项不确定,不要去管它。或者更好的方法是使用我们拷贝的当前运行的内核的配置文件(因为我们知道它可以工作)。一旦你已经遍历了整个配置列表(它非常长),你就准备好开始编译了。

 

5、编译和安装

现在是时候去实际地编译内核了。第一步是使用 make 命令去编译。调用 make 命令然后回答必要的问题(图 2)。这些问题取决于你将升级的现有内核以及升级后的内核。相信我,将会有非常多的问题要回答,因此你得预留大量的时间。

image

图 2: 回答 make 命令的问题

回答了长篇累牍的问题之后,你就可以用如下的命令安装那些之前启用的模块:

make modules_install

又来了,这个命令将耗费一些时间,所以要么坐下来看着编译输出,或者去做些其他事(因为编译期间不需要你的输入)。

现在我们使用这个命令来安装内核:

sudo make install

 

6、启用内核作为引导

一旦 make install 命令完成了,就是时候将新安装的内核启用来作为引导。

grep menuentry /boot/grub/grub.cfg

image.png

vi /etc/default/grub

如果你升级的版本比当前内核版本高的话,默认新安装的内核就是第一顺序启动的,只需重启系统就行了,否则,则需要修改配置文件,具体如下:

image.png

将GRUB_DEFAULT=0修改为

GRUB_DEFAULT="gnulinux-advanced-c86d02d0-0771-4ad6-874f-ff31e6cf83b0>gnulinux-4.4.4-advanced-c86d02d0-0771-4ad6-874f-ff31e6cf83b0",保存退出。(内容值参考 grep menuentry /boot/grub/grub.cfg,已经用红框选出)。

 

若上面修改了配置文件,则需执行sudo update-grub命令,更新grub配置。

之后,sudo reboot,验证是否生效。

不出意外的话重启系统后启用的就是新的内核了,执行以下命令查看一下

uname -r

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yehui186

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值