2、导入Linux
3、为了方便实验,先清空/app文件夹,将源码文件移动到文件夹下,解压
4、解压成功,顺便看一下大小为875M
5、接下来我们需要一个模板,在/boot下有一个config-xxxxx文件,这个文件定义了编译的时候哪些特性启用了,启用上的是什么模式,都写在这个文件里。我们可以以它为模板。
将这个文件拷贝到app/linux-4.13.2文件夹下,并且命名为.config的隐藏文件
这样,等会我们去制作选择的功能启用的时候,它会自动的从这个目录下找这个.config文件,自动列出来它需要的哪些功能项,我们就可以在它的基础上进行修改了。
6、装包组
yum groupinstall "developmenttools" 包组大小写不敏感,可以都写成小写
7、然后进入/app/linux-4.13.2目录下(一定要进入目录!)
8、make menuconfig配置内核选项
显示缺少ncurses-devel包,那我们就来安装它yum install ncurses-devel
然后再次make menuconfig
显示界面
我们可以先改个内核本地名:
进入General setup
有一个本地版本,就是本来内核名字只有4.13.2,我们可以在后面加上自己定制的名字
我们在里面输入内容-1.0-lkylinux。
然后还要再启用一个NTFS功能:
进入File systems
进入DOS/FAT/NT Filesystems
将这一项改为M
将最后一行打上星号。
然后Exit退出退出退出
Yes保存
然后我们查看一下.config文件,发现它确实是刚刚被改过的,我们刚才做的设置就是改了这个文件。
我们查看一下文档,可以看到我们刚才改的NTFS确实变成了y。
然后我们要开始编译啦!
使用make -j 4命令,4个内核一起编译
发现现实缺少软件包,于是我们还要安装软件包yum install openssl-devel
然后再次make -j 4
(我在命令前后都加了个显示时间存到文档里date >> /app/date.log ;make -j 4 ;date >> /app/date.log)
查看了一下时间,编译了一个多小时啊喂!
再查看一下大小,9个多G。
9、安装模块
在安装之前先看一下/lib/modules下,目前只有一个3.10.0版本
运行make modules_install命令安装模块
运行完之后可以再查看一下/lib/modules,已经多了一个我们新的内核4.13.2,后面跟的-lkylinux就是我之前定义的本地版本名。
10、安装内核相关文件
同样的,安装前我们先看一下/lib/modules下文件,只有一些3.10.0的文件
然后运行make install
运行完之后再去查看/lib/modules下的文件,就多了一些4.13.2的文件了。
再使用cat /boot/grub2/grub.cfg看一下启动菜单,也多了4的菜单。
编译成功~~
本文转自 Ty_endless 51CTO博客,原文链接:http://blog.51cto.com/tyendless/1967254