下面记录了我在CentOS7上编译新内核的过程。
背景
实验室的一台服务器上装且仅装了CentOS7,内核版本为3.10.0-327.el7.x86_64。
我要在当前系统上,编译、安装内核4.1.16。
搭建编译环境
sudo yum install gcc g++ gdb make
如果这些程序已经安装了,则什么都不会做;否则,会安装相应工具。
下载内核
内核官方的网址为:https://www.kernel.org。这个页面只列出了所有的longterm版、最新的stable版、当前的mainline版。
还有一个网址:https://www.kernel.org/pub/linux/kernel。这里存放了linux内核的所有版本。
下载的源码包名称为linux-4.1.16.tar.gz,所在路径为:~/installer/linux/src/。当然,这个路径是随意指定的。
解压内核
CentOS7的内核源码都放在了/usr/src/kernels/下,所以我也将下载的源码解压到该路径下:
cd /usr/src/kernels/
sudo tar -zxvf ~/installer/linux/src/linux-4.1.16.tar.gz
解压之后会在/usr/src/kernels/下有一个linux-4.1.16的文件夹。
配置编译参数
进入源码根目录:
cd /usr/src/kernels/linux-4.1.16