分享

kernel启动过程

 海漩涡 2016-05-24


(1)、处理uboot传入的参数:机器ID、启动参数

0、判断是否支持这个CPU

1、判断是否支持这个单板

2、建立页表

3、使能MMU,uboot启动内核时传入的机器ID

4、调到start_kernel,第一个c函数


(2)、链接:根文件系统


(3)、最终目的:应用程序



=======================================================================

内核启动流程:
arch/arm/kernel/head.s

start_kernel
              setup_arch              // 解析u-boot传入的启动参数
              setup_commond_line   //
              retset_init
                        kernel_init
                                 prepare_namespace
                                            mount_root           // 挂载跟文件系统
                                 init_post
                                            // 执行应用程序



======================================================================

内核启动流程分析:

1、内核打补丁、编译、烧写、试验

2、内核功能、结构,结合Makefile、Kconfig进行分析
1)配置
2)分析Makefile:第一个文件、链接脚本


3、内核启动过程分析
1)比较机器ID
2)解析uboot传入的启动参数
3)挂载根文件系统、执行第一个应用程序
4)分区



=====================================================================

1、uboot:启动内核

2、内核:启动应用程序

3、构建:根文件系统


======================================================================

busybox


=====================================================================

init进程
1)读取配置文件
2)解析配置文件
3)执行(脚本程序)




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多