zoukankan      html  css  js  c++  java
  • 第一个进程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 文件中 

  • 相关阅读:
    poj 1182食物链
    几何原本查询程序1.0
    code forces 548C:Mike and frog
    CC2530串口通信
    CC2530定时器的应用
    CC2530应用——按键控制灯光状态变化
    步入LTE、多址技术
    定时器之基于模模式的间隔定时
    CC2530定时器
    配置路由器(1)
  • 原文地址:https://www.cnblogs.com/dudu1990/p/2953182.html
Copyright © 2011-2022 走看看