杭州嵌入式培训
达内杭州嵌入式培训中心

13486356750

热门课程

1 秒内启动 Linux 的优化方法

  • 时间:2015-12-04
  • 发布:杭州嵌入式培训
  • 来源:码农网


    尽快启动系统,对于自动化设备是非常重要的。达内嵌入式培训专家经过一系列的优化,将 Linux 系统启动时间,从最初的 11 秒,降低到最终的 656 毫秒。 优化方法如下所示:


    系统从上电到完全启动,一个简化的启动流程包含:

    硬件重置
    启动引导程序
    操作系统初始化
    应用程序执行

    其中针对软件的优化,主要是从引导程序、Linux 内核和应用程序展开。

    一、引导程序优化

    引导程序主要完成对 CPU 的基础设置,处理 ARM 标记或设备树,切换存储管理单元等工作。

    常用的优化方式有:

    删除不必要的功能
    关闭不需要的功能
    关闭内核镜像验证
    关闭引导程序输出
    关闭启动延迟
    将通用功能的引导程序修改成一个优化后的初始程序加载器(对于U-Boot,可以通过 SPL来实现)

    二、内核优化

    Linux 内核非常灵活,可以针对需要的功能做各种配置优化。因此,优化内核对于系统启动速度是至关重要的。

    首先,移除一切不要的驱动,尽可能的减少内核加载的内容,能够大大缩短系统启动时间。其次,还有很多内核选择可能需要进一步尝试,对于嵌入式系统来说,LZO 压缩方式,通常会是一个不错的选择。最后,还可以通过定制一些启动参数,达到加快启动的目的。

    对于内核启动的优化,可以通过 bootgraph.pl 脚本来绘制内核启动耗时图表,用以分析启动最耗时的地方。

    内核所在的文件系统也对系统启动有着非常大的影响。UbiFS 够容忍意外断电,有着出色的挂载速度,以确保系统快速启动,是一个良好的选择。 

    三、应用程序优化

    内核完成系统启动之后,接来下就是执行应用程序。对于应用程序的优化,主要有两部分,一部分是由应用程序来接管启动的 INIT 进程,另一部分是优化应用程序的链接方式。

    标准的 SystemV INIT 程序,需要执行一堆启动脚本。可以在内核启动参数中通过“init=”参数,将 INIT 进程直接指定为应用程序。

    达内嵌入式培训专家建议,尽量将应用程序依赖的动态链接库放到优先查找的路径,可以加快链接速度。

    总结:

    达内嵌入式培训专家指出,从硬件到引导程序再到内核最后到应用程序,每个启动步骤都有可优化的地方,经过一些简单的优化,就可以减少系统的启动时间。



上一篇:Linux 终端创建新的文件系统/分区的方法
下一篇:10个linux命令帮你收集硬件信息

恭喜达内获得《产学合作协同育人项目合作伙伴奖》

中传学子参加达内Java培训,转身成为Java工程师月薪12.5K

职场求突破参加达内网络营销培训,获10万年薪成为营销达人

高中毕业不想把人生过成说明书,参加达内网络营销培训获得月薪8K

选择城市和中心
贵州省

广西省

海南省