欢迎光临散文网 会员登陆 & 注册

嵌入式linux之内核的makefile顶层目录分析

2023-03-30 12:49 作者:我会读心术哟  | 我要投稿

内核编译步骤

make mrproper

make 100ask_imx6ull_defconfig

make zImage -j4


distclean,make clean区别

ake clean: 删除大部分生成的文件但是保留配置文件和足够的构建外部模块的构建支持

  make mrproper: 删除所有生成的文件,配置和各种各样备份的文件

  make distclean: 相当于执行一次make mrproper,然后再删除编辑器备份和补丁文件

 删除文件的范围比较 :       make clean < make mrproper < make distclean

vmlinux 、Image ,zImage 、uImage  的区别

1、vmlinux 是编译出来的最原始的内核文件,是未压缩的             大小16M左右

2、Image 是 Linux 内核镜像文件,但是 Image 仅包含可执行的二进制数据,Image 就是使

用 objcopy 取消掉 vmlinux 中的一些其他信息,比如符号表什么的,Image 是没有压缩过

的,Image 保存在 arch/arm/boot 目录下                                   大小大概在 12MB 左右

3、zImage 是经过 gzip 压缩后的 Image, 大小大概在 6MB 左右

4、uImage 是老版本 uboot 专用的镜像文件,uImag 是在 zImage 前面加了一个长度为 64

字节的“头”,这个头信息描述了该镜像文件的类型、加载位置、生成时间、大小等信息。但是

新的 uboot 已经支持了 zImage 启动!所以已经很少用到 uImage 了,除非你用的很古老的 uboot

顶层目录分析

顶层目录我这边分为研发过程中常用到的和普通的还有分件

常用到的有

arch 架构相关目录。

arch/arm/configs目录下是不同平台的默认配置文件:xxx_defconfig

arch/arm/boot/dts 目录里面是对应开发平台的设备树文件

arch/arm/boot 目录下会保存编译出来的 Image 和 zImage 镜像文件

Documentation   文档相关目录

                            如果要想了解 Linux 某个功能模块或驱动架构的功

                            能,就可以在 Documentation 目录中查找有没有对应的文档

drivers 驱动相关目录。

                            比如 drivers/i2c 就是 I2C

                            相关驱动目录,drivers/gpio 就是 GPIO 相关的驱动目录,这是我们开发                                的重点

普通的

include 头文件相关目录

lib 库相关目录

block 块设备相关目录。

crypto 加密相关目录。

firmeare 固件相关目录

fs 文件系统相关目录。

init 初始化相关目录

ipc 进程间通信相关目录。

kernel 内核相关目录

mm 内存管理相关目录

net 网络相关目录

samples 例程相关目录

scripts 脚本相关目录

security 安全相关目录

sound 音频处理相关目录

tools 工具相关目录

usr 与 initramfs 相关的目录,用于生成initramfs

virt 提供虚拟机技术(KVM)。

文件:

.config Linux 最终使用的配置文件

.gitignore git 工具相关文件

.mailmap 邮件列表

.missing-syscalls.d 编译生成的依赖文件

.tmp_xx 编译生成

.version 编译生成的和版本相关

.vmlinux.cmd cmd 文件,用于连接生成 vmlinux。


嵌入式linux之内核的makefile顶层目录分析的评论 (共 条)

分享到微博请遵守国家法律