首先从http://cn.ubuntu.com/download/下载ubuntu 17.04 amd64版并安装好。
一、解压Ubuntu内核包
1,在kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.12下载文件:
linux-image-4.11.12-041112-generic_4.11.12-041112.201707210350_amd64.deb
2,$ dpkg -x linux-image-4.11.12-041112-generic_4.11.12-041112.201707210350_amd64.deb ./xyz
这样做的目的是获取解压linux-image-4.11.12-041112-generic_4.11.12-041112.201707210350_amd64.deb后xyz/boot目录下的v4.11.12版内核的配置文件config-4.11.12-041112-generic
二、下载Ubuntu内核源码
$git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack -b v4.11.12
在kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.12/下载3个补丁:
0001-base-packaging.patch
0002-debian-changelog.patch
0003-configs-based-on-Ubuntu-4.11.0-3.8.patch
三、下载Preempt Rt补丁
到https://www.kernel.org/pub/linux/kernel/projects/rt/4.11/older/下载patch-4.11.12-rt14.patch.xz
四、打补丁
$patch -p1 < ../0001-base-packaging.patch
$patch -p1 < ../0002-debian-changelog.patch
$patch -p1 < ../0003-configs-based-on-Ubuntu-4.11.0-3.8.patch
$xzcat ../patch-4.11.12-rt14.patch.xz | patch -p1
由于Ubuntu提供的内核是已被Ubuntu开发者修改过的,并不是kernel.org下的vanilla内核,所以打实时补丁时可能会出现一些”Failed”的情况,这时就需对照出现”Failed”的地方,查找patch-4.11.12-rt14.patch相关代码手工修改。这里没有出现”Failed”。
五、配置
1,$cp xyz/boot/config-4.11.12-041112-generic .config
2,$make menuconfig
Processor type and features —>
Preemption Model (Fully Preemptible Kernel (RT)) —>
(X) Fully Preemptible Kernel (RT)
@H_404_276@六、编译
$make -j4
$make modules
七、替换
sudo make moudules_install
sudo make install
sudo reboot
八、验证
重启后执行uanme -a 命令,查看内核版本。