嵌入式内核移植4

                       kenerl的分析与移植

这一章节我们来简单讲解一下内核启动的流程和移植过程。

1.1内核的架构

这是我们解压的内核子目录表,我们可以得到从上面这张图里知道每个目录里存放的内容,对于移植内核我们只需要改变一些arch里的板级文件以及include文件,drivers中的一些配置,其他的都不需要改变。

1.2 内核的makefile分析

在讲解makefile时候我们首先要从上而下的来分析,也就是来分析顶层makefile来了解他的功能,我们总结一下makefile的三大作用

1上层makefile决定这那些文件可以被编译进去,也就是决定下层的makefile的执行,对于顶层makefie决定内个根目录下哪些子目录会被编译进内核。

总结的来说就是上面所述的这些。

2我们在执行 make menuconfig或者其他的config的时候生成了两个配置文件,makefile会根据.config中保存的config内容来决定如何进行编译。y代表生成.o文件编译进内核,m代表生成.ko文件作为模块后面可以及时的加载到内核中去。

3那么如何连接这些文件,他们有什么顺序呢?

在顶层makefilearch/arm/makefile中定义了6种类型的目录,每种.O文件按照类型存入这几个目录最后根据vmlinux的生成规则来进行编译,

最终和链接脚本文件结合生成了vmlinux,然后转换为uimagezimage.

最后总结成图片上这个流程

1.3 内核的移植过程

本次移植使用的linux-2.6.22.6内核

见开发手册

1.4 内核的最终运行

下期录制

                               2018.1.31     

                                 刘朋

链接: https://pan.baidu.com/s/1HQDxK7xolUHprp4gpttfIg 密码: h3c9

猜你喜欢

转载自blog.csdn.net/liupeng19970119/article/details/80154113