zoukankan      html  css  js  c++  java
  • uboot、内核、根文件系统启动流程

    【1】Uboot的启动流程
      Uboot的启动分为两个阶段。
      第一阶段:设置异常向量表,设置ARM核为svc模式,关cache和关mmu,
      关看门狗,初始化时钟,串口,内存,初始化栈空间,清bss。跳转到第二阶
      段。
      第二阶段:硬件的初始化,读取环境变量,将内核从emmc加载到内存中,
     调用内核。

     【2】kernel的启动流程
      0.设置cpu为svc模式,关中断。
      1. 为内核的解压做准备(内存,中断等等)。
      2.内核自解压 (vmlinux.lds)。
      3.跳转到入口地址执行(head.S--->main.c)start_kernel执行内核。
      4.硬件的初始化(初始mm  mmu  中断(request_irq),软中断初始化,内核定时器) (解析设备设备树,执行驱动)。
      5.挂载根文件系统。
      6.开启第一个用户进程init,执行linuxrc应用程序。


     
    【3】rootfs执行过程
      Linuxrc调用inittab文件(规定操作系统行为文件)获取操作系统行为。
      执行启动第一个脚本rcS,rcS中调用mount -a 挂载fstab中所有设备。
      当控制台登录的时候,执行bin/sh命令,进入shell命令行(在进入前,会执行profile,设置环境变量)。


    原文:https://blog.csdn.net/JISHUQIANJIA/article/details/80920156

  • 相关阅读:
    WPF DataGrid ListView等控件Binding LINQ数据源
    WPF自定义命令
    vb.net与FLASH的完美结合
    [音乐欣赏]鲍家街43号 汪峰 小鸟
    MSGRID的填充
    听!是谁在唱歌
    学习用的几个英文单词
    [学习日记]三层结构
    有关从文件完整路径中提取文件名的方法
    有关TABCONTROL选项卡的动态选择方法
  • 原文地址:https://www.cnblogs.com/z3286586/p/10437446.html
Copyright © 2011-2022 走看看