Firefly开源社区

打印 上一主题 下一主题

[Linux] RK3288内核运行的第一个文件是哪个

59

积分

0

威望

0

贡献

技术小白

积分
59

RK3288内核运行的第一个文件是哪个

发表于 2019-9-7 18:22:57      浏览:4212 | 回复:2        打印     [复制链接] 楼主
通过查看顶层的Makefile和arch/arm/Makefile中的文件,
在arch/arm/Makefile文件中有如下语句:
head-y                := arch/arm/kernel/head$(MMUEXT).o
MMUEXT为空,因为RK3288有MMU,所以:
head-y                := arch/arm/kernel/head.o

通过分析顶层Makefile文件,kernel启动后,第一个运行的文件应该是arch/arm/kernel/head.S吧?
但是看博客上有篇文章说kernel运行的第一个文件为arch/arm/boot/compressed/head.S
博客网址如下:
https://blog.csdn.net/lp542718520/article/details/38705975

请问,内核运行的第一个文件是arch/arm/boot/compressed/head.S这个么?

主要是我查看kernel的编译日志里,也确实是编译了arch/arm/boot/compressed/head.S这个文件,
而且也有arch/arm/boot/compressed/vmlinux.lds这个链接脚本文件。

LDS     arch/arm/boot/compressed/vmlinux.lds
AS       arch/arm/boot/compressed/head.o

在顶层Makefile文件中明明清楚的包含的是
arch/arm/kernel/head.S文件,arch/arm/kernel/vmlinux.lds文件

内核编译日志中包含如下2条语句了。
AS      arch/arm/kernel/head.o
LDS    arch/arm/kernel/vmlinux.lds

请问下arch/arm/boot/compressed/head.S是内核运行的第1个文件么?

请知道帮我解答下,万分感谢。
回复

使用道具 举报

59

积分

0

威望

0

贡献

技术小白

积分
59
发表于 2019-10-30 14:22:44      沙发
penguin 发表于 2019-9-9 10:09
楼主再认真看看那位博主的博客,写的挺详细了。

第一部分:汇编部分

知道了,谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表