Linux快速启动

Linux快速启动

 
文章1:一篇简洁的快启优化介绍
 
通常快启系统:是给用户最快反馈,提前给出视觉和听觉反馈。
 
例子1:PWR ON 音乐
例子2:低功耗状态恢复
 
前提要求:处理器选择,clock,存储设备
 
基本启动流程:
  • PWR ON →
  • PWR/CLK/Reset → 解复位
  • Load&Exe Bootloader → 更小的bootloader 保持简单,只有必要的硬件初始化
  • Load&Exe Kernel → 更小的kernel
  • Kernel Init → 必要的驱动
  • Locate/Load/Mount RootFS → 更小的文件系统
  • init/userland App
 
 
优化手段:
  • 测量用压缩还是非压缩镜像
    • 有些架构没有使能cache
  • initramfs瘦身
    • 设备驱动
  • 删除initramfs
    • 不需要,驱动本身直接继承到内核、
    • 内核驱动:多一个驱动,多一个初始化和注册,以及设配探测
  • LPJ时间设置为固定,配置到命令行。loops-per-jiffy
  • JFFS2 for Flash
  • CRAMFS 使用
  • tmpfs 使用
  • 使用KFT测量启动时间
 
 
文章2:
该文章使用基于AM335x Sitara 处理器Beaglebone black(单核1GHz@32bit ARM架构)。通过裁剪优化启动流程,做到带Qt图形界面1S启动:
 
做出来的是一个IVI界面现实屏,效果如下: