微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Arm Linux Kernel 构建 情景分析

Arm Linux Kernel 构建 情景分析

时间:11-09 来源:互联网 点击:

搞清了,是由 built-in.o 来当中间人的:

vmlinux<->built-in.o<->*.c

和符号表的关系

略。

arch/arm/boot/comressed/vmlinux 的构建过程

有了分析 vmlinux 的基础,分析压缩过的 vmlinux 就容易了。看 规则:

$(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.$(suffix_y).o \$(addprefix $(obj)/, $(OBJS)) $(lib1funcs) $(ashldi3) FORCE@$(check_for_multiple_zreladdr)$(call if_changed,ld)@$(check_for_bad_syms)

参与压缩过的 vmlinux 的构建过程的主要有三类文件:

  • 链接脚本:arch/arm/boot/compressed/vmlinux.lds
  • 解压代码:arch/arm/boot/compressed/ 下的源码
  • 压缩的数据:压缩的 Image(由未经压缩的 vmlinux 生成)
因为解压缩功能和内核开发关系不大,就不具体分析了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top