美文网首页
内核编译过程

内核编译过程

作者: 3e1094b2ef7b | 来源:发表于2017-05-22 23:08 被阅读0次

一、内核配置方法

1、配置哪些目录需要编译
2、配置哪些文件需要编译
确认编译时,到底文件是在哪个目录。
如:<mach/hardware.h>

解决办法:
Makefile make

OBJS += xx.o

学习内核的地图:目录、Makefile

主目录下的Makefile是核心。非常复杂
各个子目录下的Makefile。非常简单

内核有3个桶:

obj-y:编译进内核    make Image 

make zImage make uImage
obj- :不编译进内核
obj-m:以模块形式编译 make modules

主目录下的Makefile中,通过:来定义目标和依赖。
在主目录下的Makefile中,通过include关键字,可以包含其他子目录下的Makefile。

如何配置内核?
1、ARCH ?= $(SUBARCH)
SUBARCH默认就是X86的,内核默认配置按照X86
ARCH这个变量改为arm单词
1.1 交叉编译
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
2、哪些文件编译?哪些文件不编译?
CONFIG_xxxx
配置单:芯片厂商为内核提供的参考配置单。

cd arm/configs
export到内核的.config下
修改defconfig,变成适应于板子的。

总结:
配置步骤:
1、配置仓库选取
2、交叉编译器的修改

3、体系结构体的选择
4、增删改查:make menuconfig对.config进行修改,变成图形界面。


二、linux内核编译

1、vmlinux

2、Image

3、zImage

uboot需要修改代码。

4、uImage

专门为uboot提供的内核启动的加载镜像。

先生成Image,再生成zImage,然后再生成uImage。

相关文章

网友评论

      本文标题:内核编译过程

      本文链接:https://www.haomeiwen.com/subject/tymixxtx.html