linux内核代码 汇编部分 疑问

linux内核代码 汇编部分 疑问,第1张

没研究过。

不过我记得 Linux 内核其实是两部分,真正的内核本体是在内核文件的后部,一般都是压缩的。之前是一个这个架构通用的启动代码,应该就是你这个汇编。

bootloader 的作用是把内核读取到指定地址,之后运行这个内核,这样运行的恰恰就是这段汇编写的启动代码,这个启动代码的作用就是初始化环境,之后把后面本体的内核解压缩并且写到内存开始部分(忘了叫什么名字)正好盖掉 bootloader ,并且继续运行。这样这个运行的内核才是最终的 Linux 内核。(至少 x86 是这样)

但每个 CPU 架构的启动过程又有不同的地方。应该每个 CPU 都有自己特定的头部启动代码。

你说这三个文件应该是有不同目的的。compressed 应该是解压用的,kernel 里面的应该是执行主要启动过程的。那个 common.s 应该是“通用”部分代码模块。我的 comperssed 里面还有很多 lzma 、gzip 、lzo 以及一些设备名称的东西,应该都是“模块”一类的吧。

你看看 Makefile 的编译过程应该就能开除编译调用的文件都是什么了。

还有,你看源代码最好看原版的,如果使用,那就去用针对性的。不然赶上找抽的人,可能针对某个开发板的代码,会因为太过针对而不符合通用的一些规定或者习惯。

链接: https://pan.baidu.com/s/1hCbNIb5FnEhJdEvfdYXL9g

提取码: r2ta

《来自天堂的魔鬼》是邓紫棋演唱的歌曲,由邓紫棋创作词曲,收录于邓紫棋2015年发行的音乐专辑《新的心跳》。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11256055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存