摘要 Linux在消费电子类产品中得到了广泛应用,由于嵌入式用户对于系统启动速度较为敏感,因此快速启动技术逐渐成为研究和应用中的一个重点。本文通过对嵌 入式 Linux的启动时序和主要延时因素的分析,针对性地探讨了在各个启动阶段降低时耗的技术,重点分析了XIP技术和XIP文件系统,并给出了主要的实现过 程。
关键词 Linux 快速启动 XIP Prelink CRAMFS AXFS
嵌入式Linux系统主要特点在于使用Bootloader替代了桌面系统的BIOS,同时对系统进行了规模上的裁剪,但硬件上的劣势往往导致系统启 动速度较慢,而嵌入式产品使用者又对系统的开机速度比较敏感,这样就产生了对于提高嵌入式Linux系统启动速度的需求。本文对系统启动时执行哪些阶段的 操作,以及缩短这些操作时间的方法进行了探讨。
1 嵌入式Linux系统启动时序
目前,嵌入式系统的硬件平台和应用方向区别很大,但总体启动流程是一致的。这里的系统启动是指从用户执行上电/复位操作,到系统开始提供用户可接收的服务水平所需要的过程。典型的上电/复位时序如表1所列。
表1 嵌入式Linux系统启动时序

2 Linux快速启动方法
目前,一些Linux的发行版本已经对启动速度进行了优化。如果利用标准Linux进行开发,则启动速度的提高主要是通过内核配置和各种补丁包来实现的。下面分析快速启动的一些关键技术。
2.1 Firmware和Bootloader阶段
目标板一旦确定,Firmware运行的时间就无法改变了,Flash和RAM的读写速度也就随之确定了。但如果复位时能够绕过Firmware和 Bootloader,即允许运行中的内核加载以及运行另一个内核,可以缩短启动的时间。典型的实现有Kexec,它有2个组件,即用户空间组件 kexectools和内核补丁。另外一种办法是在内核命令行中加入reboot=soft参数,同样可以跳过Firmware,但是缺点在于无法从用户 空间调用。
对于正常启动,可以选择速度比较快的B
嵌入式Linux系统中的快速启动技术研究
最新推荐文章于 2022-11-20 13:53:13 发布

最低0.47元/天 解锁文章
969

被折叠的 条评论
为什么被折叠?



