内核编译

简介:

1、下载源码文件wKiom1nCUhiBrw82AAJUentEdKc022.png


2、导入Linux

wKioL1nCUeSCUYz-AAArEoOaAn8574.png


3、为了方便实验,先清空/app文件夹,将源码文件移动到文件夹下,解压

wKioL1nCUeTzKs0tAAAi-K4pfN4183.png


4、解压成功,顺便看一下大小为875M

wKiom1nCUhjje585AAAfaZP7hOU869.png


5、接下来我们需要一个模板,在/boot下有一个config-xxxxx文件,这个文件定义了编译的时候哪些特性启用了,启用上的是什么模式,都写在这个文件里。我们可以以它为模板。

wKioL1nCUeSRCpqrAABlQqJKdDw601.png

将这个文件拷贝到app/linux-4.13.2文件夹下,并且命名为.config的隐藏文件

wKiom1nCUhiSaqrxAAAUBJ2qhqs032.png

这样,等会我们去制作选择的功能启用的时候,它会自动的从这个目录下找这个.config文件,自动列出来它需要的哪些功能项,我们就可以在它的基础上进行修改了。

 

6、装包组

yum groupinstall "developmenttools" 包组大小写不敏感,可以都写成小写

 

7、然后进入/app/linux-4.13.2目录下(一定要进入目录!)

 

8make menuconfig配置内核选项

wKiom1nCUhnhlfE5AABEWqiD1vc674.png

显示缺少ncurses-devel包,那我们就来安装它yum install ncurses-devel

然后再次make menuconfig

wKioL1nCUeXxtLduAADEDTDMisY695.png

显示界面

wKiom1nCUhmh1ADdAAAy8KtBEGc290.png

我们可以先改个内核本地名:

进入General setup

wKioL1nCUeWidrBfAABfkVOWPDc217.png

有一个本地版本,就是本来内核名字只有4.13.2,我们可以在后面加上自己定制的名字

wKiom1nCUhnTLk5DAABK9h-jWYw565.png

我们在里面输入内容-1.0-lkylinux

 

然后还要再启用一个NTFS功能:

wKioL1nCUeXzBbvKAAAQ6S7tWFI760.png

进入File systems

wKioL1nCUeXwpUeHAAAeTgHH9rE347.png

进入DOS/FAT/NT Filesystems

wKiom1nCUhqiex_hAAAqX8XRWec883.png

将这一项改为M

wKiom1nCUhqz89J2AAAgXyN1_d0577.png

将最后一行打上星号。

然后Exit退出退出退出

wKioL1nCUeaxYDkoAAAVjfraK2k560.png

Yes保存

wKioL1nCUeaxnZB0AAAbcWxED1Q973.png

然后我们查看一下.config文件,发现它确实是刚刚被改过的,我们刚才做的设置就是改了这个文件。

wKiom1nCUhqQBvPoAAAV_7IgGk0992.png

我们查看一下文档,可以看到我们刚才改的NTFS确实变成了y

然后我们要开始编译啦!

使用make -j 4命令,4个内核一起编译

wKioL1nCUebRLVqQAAAm4Fl1tDU315.png

发现现实缺少软件包,于是我们还要安装软件包yum install openssl-devel

然后再次make -j 4

(我在命令前后都加了个显示时间存到文档里date >> /app/date.log ;make -j 4 ;date >> /app/date.log

wKiom1nCUhriiJDMAAARvKKgONQ192.png

查看了一下时间,编译了一个多小时啊喂!

wKiom1nCUhqw1Si3AAAMUehS8Ac514.png

再查看一下大小,9个多G

 

9、安装模块

在安装之前先看一下/lib/modules下,目前只有一个3.10.0版本

wKioL1nCUebCCzPVAAARNO8XaCg552.png

运行make modules_install命令安装模块

运行完之后可以再查看一下/lib/modules,已经多了一个我们新的内核4.13.2,后面跟的-lkylinux就是我之前定义的本地版本名。

wKiom1nCUhvy5SBhAAASLNx1hkk882.png


10、安装内核相关文件

同样的,安装前我们先看一下/lib/modules下文件,只有一些3.10.0的文件

wKioL1nCUeeDNhg3AABLWQ0aqUU510.png

然后运行make install

wKiom1nCUhuAh1J5AABpzAWhorQ526.png

运行完之后再去查看/lib/modules下的文件,就多了一些4.13.2的文件了。

wKioL1nCUefgw37MAADL6SJDDe4337.png

再使用cat /boot/grub2/grub.cfg看一下启动菜单,也多了4的菜单。

编译成功~~


本文转自 Ty_endless 51CTO博客,原文链接:http://blog.51cto.com/tyendless/1967254


相关文章
|
21天前
|
算法 数据可视化 Linux
Linux内核编译:深入理解`make menuconfig`命令
Linux内核编译:深入理解`make menuconfig`命令
32 0
|
3月前
|
Ubuntu Linux 虚拟化
Linux编译内核
Linux编译内核
21 0
|
3月前
|
编译器
内核编译bpf
内核编译bpf
26 0
|
8月前
|
存储 Linux 调度
Linux内核子系统 内核配置选项
Linux内核子系统 内核配置选项
|
Shell Linux 开发者
Linux内核编译与安装
Linux内核编译与安装 Linux内核介绍 Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统。内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制。
1234 0
|
存储 Linux C语言
Linux下的lds链接脚本详解【转】
转自:http://www.cnblogs.com/li-hao/p/4107964.html 转载自:http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.
1497 0