riscv - boot - head
https://mp.weixin.qq.com/s/9lHolIPqRQow33ToIhGLOA
简单介绍arch/riscv/kernel/head.S中的启动流程。
1. vmlinux.lds.S
vmlinux.lds.S是用于链接vmlinux的链接脚本文件:
其中:
a. 输出的架构是riscv;
b. entry point是_start;
c. 起始地址是LOAD_OFFSET;
d. _start放在最前面;
2. head.S
_start定义在head.S文件中:
head.S中定义了linux kernel启动的流程:
1) head.i
head.S中包含了很多条件编译选项,可以生成预处理之后的文件head.i作为参考。
使用如下两条命令,可以获取编译head.S的命令:
如下:
调整一下该命令,即可生成head.i:
-----------------------------------------------------------------------------
这是一篇付费文章,请移步付费阅读全文,谢谢!
文章链接:https://mp.weixin.qq.com/s/9lHolIPqRQow33ToIhGLOA