翻译一篇外文 关于优化linux系统启动时间的文章
翻译的比较烂,自己记录下。 启动时间最优化 Alexander belloni , Michael Opdenacker Free Electrons 简单的进程信息 简单的最优化分为如下方面讲: 原则 如何测量 用户区域 内核 启动 bootloader 笔记:完成样本镜像,测量启动时间,最优化启动脚本,最优化内核 原则: 1. 减少启动时间意味着首先要测量启动时间 2. 你需要选择启动和停止的参考点,即启动时间开始到结束的点。 一些减少启动时间的意见: 1. 最快的代码是代码没有被执行 2. Boot 的一大部分时间是将代码和数据从存储器搬到 ram 。读取少的代码和数据就会更快。 I/O 操作是耗时的。 3. 文件系统越大加载时间越长。 4. 所以没有运行的代码会让你的启动时间更长 5. 当然不同的存储器都不一样,一般 sd 卡要比 nand 快。 6. 使用 gcc 编译的时候用 -0s 的参数会让代码更小,但是代码将失去一些特性,这也行是一个办法。 学习开发板的影响 学习如何实现它 测量 measuring 1. 最好的仪器是示波器。 2. 测试上电启动时间,这是非常精准的测试方式。 3. 系统启动时写 GPIO 口和存储器是非常简单的。 4. 一些示波器能够负担得起。 5. 通常你不想用示波器,或者不想冒硬件连接的风险。 6. 通常我们通过串口反馈启动时间信息