欢迎转载,请注明出处!
©MrWang_tju 2019.5.15
systemd是Liunx的启动守护进程,已被大多数Liunx发行版所采用。相较于之前被采用的init进程串行启动,systemd进程采用并行启动且为系统启动管理提供了成套的方案。
探索systemd启动的问题背景是,团队使用树莓派zero W+做的产品在系统启动后需要启动声卡播放音频文件,但声卡驱动相关的服务启动需要20s+,加上系统其余启动项耗费的时间,在45s左右才能实现音频播放。上电45秒系统不作出任何反应,用户难以忍受如此长的没有任何反馈的启动时间。
经过调整service启动顺序,最终实现上电22s播放音频文件。
树莓派烧录2019-04-08-raspbian-stretch-lite.img镜像,已经是极简化的系统,故没有通过内核裁剪实现加速启动(团队没有人有相关经验)。
声卡驱动来源:https://github.com/respeaker/seeed-voicecard.git
适用于驱动2mic、4mic、6mic树莓派喇叭模块
问题解决:
1.systemd相关基础知识,参考以下几篇博客
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
https://www.jianshu.com/p/86adb6d5347b
2.分析当前系统各项服务启动时间及顺序
a.列出各项启动占用的时间,但由于是并行启动,启动