• 第一个进程init


    u-boot启动内核,内核启动应用程序。第1个应用程序就是init。

    BusyBox就是许多命令的集合如ls、cd等。

    你可以使用如下命令方式来验证

    还有init也是busybox的链接

    init程序:

       0) 打开/dev/console。标准输入标准输出标准错误

      1)执行第一个应用程序init(要么是命令行参数指定uboot参数init = linuxrc 要么是/sbin/init)

        2)读取配置文件-inittab(指定后续运行的应用程序)

        3)解析配置文件

        4)根据配置文件启动执行用户的程序

    配置文件inittab文件(/etc/inittab)

    格式<id>:<runlevels>:<action>:<process>

    id => /dev/id:用作终端,表示进程要用的控制台(标准输入输出错误)

    actions:指定何时执行

    process:要执行的程序,可以是可执行程序或是脚本

    最小根文件系统:

    /dev/console

    /sbin/init 启动应用程序,也来源busybox

    /etc/inittab 配置文件(定义应用程序

    /etc/inittab配置文件指定的应用程序

    C库 因为正常应用程序中的printf\scanf。

    子目录makefile:

    obj-y += xxx.o   //xxx.c最后会编译进内核

    obj-m += yyy.o //编译成加载模块

    vmlinux = 真正的内核

    uImage = 包头 + vmlinux

    顶层Makefile包含了/arch/${ARCH}/Makefile。而uImage是在/arch/${ARCH}/Makefile 文件中 

  • 相关阅读:
    log4j2分析总结(一)
    Idea(三)常用插件以及快捷键总结
    设计模式(七)_模板方法模式
    Idea(二) 解决IDEA卡顿问题及相关基本配置
    设计模式(六)_观察者模式
    SpringBoot(十一)_springboot热部署
    UML类图学习
    设计模式(五)_工厂方法模式
    设计模式(四)_简单工厂模式
    设计模式(三)_装饰器模式
  • 原文地址:https://www.cnblogs.com/dudu1990/p/2953182.html
Copyright © 2020-2023  润新知