在实际的生产环境中由于一些bug或内核功能限制需要打开内核的一些参数,就要用到手工编译内核,编译方法下面介绍如下:
编译环境
centos7.2 min安装
安装开发工具
# yum install gcc* ncurses-devel bc openssl openssl-devel libssl-dev perl rpm-build -y
- 1
下载内核
# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.9.11.tar.xz
- 1
解压
# xz -d linux-4.9.11.tar.xz # tar -xvf linux-4.9.11.tar # cd linux-4.9.11 # make menuconfig
- 1
- 2
- 3
- 4
如果.config不存在,运行make menuconfig时的缺省设置由固化在各个Kconfig文件中各项目的缺省值决定。
如果.config存在,运行make menuconfig时的缺省设置即是当前.config的设置,若对设置进行了修改.config将被更新。
按多次ESC键退出保存
开始编译rpm,时间比较长,请耐心等待。约1h
# make rpm
- 1
生成位置:
/root/rpmbuild/SRPMS/kernel-4.9.11-2.src.rpm /root/rpmbuild/RPMS/x86_64/kernel-4.9.11-2.x86_64.rpm