CentOS7下编译Linuxkernel内核1. 准备编译环境
yum groupinstall "Development Tools"
2. 下载内核⽂件
选择⽬标内核版本并下载: mirrors./pub/linux/kernel/
linux内核文件放在哪
(进⼊kernels常⽤存放⽬录)
[root@linetwork ~]# cd /usr/src/kernels/
(以3.10.20为例,下载源⽂件)
[root@linetwork kernels]# wget mirrors./pub/linux/kernel/v3.x/linux-3.10.
(解压⽂件)
[root@linetwork kernels]# tar zxvf linux-3.10.
(得到解压后⽂件夹linux-3.10.20)
[root@linetwork kernels]# ls
linux-3.10.20  linux-3.10.
3. 编译内核
⽬的:将内核源码⽂件(如*.c)编译成可执⾏⽂件(如*.o)
(进⼊Kernel源码⽂件夹linux-3.10.20)
[root@linetwork kernels]# cd linux-3.10.20/
(可选步骤A:可直接通过menuconfig 增减内核模块或组件,选择后可查看.config参数⽂件的更新情况) [root@linetwork linux-3.10.20]# make menuconfig
[root@linetwork linux-3.10.20]# cat  .config
(可选步骤B:也可通过现有内核参数去⽣成新的配置参数⽂件.config)
[root@linetwork linux-3.10.20]# cp /boot/config-3.10.0-957.el7.x86_64 ./.config
[root@linetwork linux-3.10.20]# make oldconfig
[root@linetwork linux-3.10.20]# cat  .config
(编译内核)
[root@linetwork linux-3.10.20]# make -j16 all
all: 编译所有选择模块
-j16: 将使⽤16核CPU资源去编译内核
4. 安装Kernel Module
(将新内核中的可执⾏module,集中放于/lib/modules/ 下的新内核⽂件夹中)
[root@linetwork linux-3.10.20]# make module_install
[root@linetwork ~]# ls /lib/modules/ 3.10.0-1127.10.1.el7.x86_64 3.10.0-1127.el7.x86_64 3.10.20
5. 安装Kernel
(将Kernel注册到系统引导程序)
[root@linetwork linux-3.10.20]# make install
[root@linetwork linux-3.10.20]# ls /boot/
6. 设置开机默认从新kernel启动
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg sudo grub2-set-default 0
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
7. 删除旧的kernel
yum install yum-utils
package-cleanup --oldkernels

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。