linux 内核升级 4.16,ubuntu系统内核升级至4.16.9

什么样的发行版用什么样的内核,ubuntu的内核当然用ubuntu的方式来定制最合适。ubuntu的内核源代码用git管理,其仓库位于launchpad,要获得内核树需要安装git。

先建一个工作目录,打开终端,输入:

cd Downloads

mkdir BuildKernel

切换到工作目录:

cd BuildKernel

安装git:

sudo apt install git

开始下载内核仓库:

git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v4.16.9

这个命令最终会在当前目录新建一个名为v4.16.9的子目录,并包含所需的内核源代码。正确完成克隆的输出看起来像下面这样:

remote: Counting objects: 7059560, done.

remote: Compressing objects: 100% (1289911/1289911), done.

remote: Total 7059560 (delta 6002977), reused 6773778 (delta 5723362)

Receiving objects: 100% (7059560/7059560), 1.60 GiB | 6.80 MiB/s, done.

Resolving deltas: 100% (6002977/6002977), done.

Checking out files: 100% (61358/61358), done.

git比https更快、更稳定,不过,如果9146端口被防火墙屏蔽,退而求其次,也可以使用https:

git clone https://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v4.16.9

再到下面给出的web页面下载7个补丁:

0001-base-packaging.patch

0002-UBUNTU-SAUCE-add-vmlinux.strip-to-BOOT_TARGETS1-on-p.patch

0003-UBUNTU-SAUCE-tools-hv-lsvmbus-add-manual-page.patch

0004-adhoc-from-__future__-import-syncconfig.patch

0005-UBUNTU-SAUCE-no-up-disable-pie-when-gcc-has-it-enabl.patch

0006-debian-changelog.patch

0007-configs-based-on-Ubuntu-4.16.0-4.5.patch

建一个存放补丁的文件夹,将下载好的补丁全部保存到这个文件夹:

mkdir -p ubuntu-patches/v4.16.9-patches

开始编译之前,需要确认内核树所在的分区有大约50g的多余空间,并安装相关软件包:

sudo apt install libudev-dev libpci-dev libelf-dev  binutils-dev

sudo apt install asciidoc kernel-wedge kexec-tools

sudo apt install bison flex libssl-dev libncurses5-dev

sudo apt build-dep linux

进入内核树根:

cd v4.16.9

为内核打上ubuntu的补丁,按0001-0007的数字由小到大的顺序打完7个补丁,有其他非官方补丁的在此也应该一起打上:

git am < ~/Downloads/BuildKernel/ubuntu-patches/v4.16.9-patches/0001-base-packaging.patch

没开通ID的输入:

patch -p1 < ~/Downloads/BuildKernel/ubuntu-patches/v4.16.9-patches/0001-base-packaging.patch

初始化debian文件:

fakeroot debian/rules clean

编辑配置:

make editconfigs

这个命令调用menuconfig来配置内核,看到其显示的内核版本是4.17.0-rc5,说好的4.16.9呢?不管了,由它去。

e7785d89ed097a5123e667d112dcf49d.png

开始编译:

fakeroot debian/rules clean

DEB_BUILD_OPTIONS=parallel=4 fakeroot debian/rules binary-headers binary-generic binary-perarch

处理器核心多的可以将命令中的“4”改成更大的数字,以加速编译过程,此命令执行完会生成11个包。

如果需要低延时的内核,则输入:

fakeroot debian/rules clean

DEB_BUILD_OPTIONS=parallel=4 fakeroot debian/rules binary

该命令将生成57个包,耗时是前面命令的两倍。

安装新内核:

sudo dpkg -i linux-headers*.deb linux-image*.deb linux-modules*.deb linux-libc-dev*.deb

更换到新的低延时内核看看,软重启:

sudo kexec -l /boot/vmlinuz-4.16.9-041609-lowlatency --initrd=/boot/initrd.img-4.16.9-041609-lowlatency --reuse-cmdline

sudo kexec -e

检查运行状态:

uname -rs

dpkg --get-selections | grep linux

dmesg | less

b41eef056b814adb9d7406cc9d9144ae.png

相关主题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值