ARM linux 启动流程-整理

bootloader

  1. 基本的初始化工作:关闭看门狗,设置ddr、nand flash
  2. 启动内核

kernel

kernel初始化步骤:

  1. 进入kernel阶段,系统会先探测可识别的所有硬件设备
  2. 随后系统会加载设备驱动程序,并生成一个临时只读的rootfs系统
  3. 在运行了rootfs后,系统将开始运行第一个初始化程序--init

内核文件位置:

  • /boot/vmlinuz-3.13.0-32-generic
  • /boot/initrd-xx.img

主要函数:

  • start_kernel() -- 完成了内核的大部分初始化工作,相当于内核的 main 函数
  • reset_init()  -- 启动内核线程kernel_init
  • kernel_init() --初始化设备驱动
  • init_post()  -- 启动 init进程

    至此,kernel已经启动了用户空间的第一号进程- init

init

主要任务:启动守护进程--daemon

ubuntu最新的初始化进程已更新为systemd.

用户登录

守护进程加载ok后,用户开始登录:

1. 命令行登录 -- init 调用getty程序,让用户输入name 和 pwd,然后调用login程序核对pwd,通过后就从文件 /etc/passwd 读取该user指定的shell,启动它。

2. ssh登录 -- init 调用sshd程序,取代getty和login&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值