云网牛站
所在位置:首页 > Linux教程 > ubuntu系统内核升级至4.16.9

ubuntu系统内核升级至4.16.9

2018-05-19 09:23:36作者:ReverseOnce稿源:ubuntu

什么样的发行版用什么样的内核,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个补丁:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.16.9/

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呢?不管了,由它去。

ubuntu系统内核升级至4.16.9

 

开始编译:

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

ubuntu系统内核升级至4.16.9

 

相关主题

Ubuntu 18.04系统及内核升级

精选文章
热门文章