ZHCAG72 September   2026

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2启动流程
    1. 2.1 SPL启动流程
      1. 2.1.1 R5 SPL
      2. 2.1.2 TF-A+OPTEE+A53 SPL
      3. 2.1.3 U-Boot
      4. 2.1.4 Linux以及用户态
    2. 2.2 SPL Falcon模式
      1. 2.2.1 实现步骤
        1. 2.2.1.1 安装Linux SDK
        2. 2.2.1.2 添加falcon脚本
        3. 2.2.1.3 编译Linux设备树
        4. 2.2.1.4 制作tispl.bin
        5. 2.2.1.5 制卡启动
    3. 2.3 从SPL替换为SBL
      1. 2.3.1 在SBL中进行Falcon启动
  6. 3启动介质
  7. 4操作系统启动优化
    1. 4.1 裁剪操作系统
      1. 4.1.1 使用预设的裁剪
      2. 4.1.2 自定义裁剪
    2. 4.2 减少log输出
  8. 5用户空间优化
    1. 5.1 使用systemd自定义启动服务
  9. 6使用init脚本最小化启动服务
  10. 7总结
  11. 8参考文献

启动介质

启动介质对启动速度的影响非常重要,在硬件层面,启动介质的速度会影响镜像文件的搬运,在软件层面,软件是否尽早将介质配置为高速模式也极大地影响启动速度。在SDK文档中,列出了主要的启动介质的读写速度测试结果。

在SPL中,高速模式的配置位于U-boot中,因此使用Falcon模式跳过U-boot也会造成高速模式需要在后续Linux启动过程中调用相关驱动程序配置,高速模式仅能加速文件系统相关镜像的加载,Linux Image以及其他SPL镜像的搬运会运行在低速模式下,加载耗时将大于1s,不利于快速启动。以下Log是falcon模式下的SPL启动,其启动耗时与跳过U-boot等待的常规SPL流程几乎相同。并且在这种启动模式下,无论何种启动介质,在进入Linux之前都运行在低速模式下,然而需要注意的是,后续的SDK可能会修改这一点,可能会在未来的版本中会将快速模式的使能提前以加速启动,因此需要根据SDK版本进行判断。

[2025-07-04 17:26:03.270] U-Boot SPL 2024.04-ti-g29d0c23d67ee (Nov 29 2024 - 11:41:54 +0000)
[2025-07-04 17:26:03.270] SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
[2025-07-04 17:26:03.334] SPL initial stack usage: 13568 bytes
[2025-07-04 17:26:03.334] Trying to boot from MMC2
[2025-07-04 17:26:03.461] Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
[2025-07-04 17:26:04.229] Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
[2025-07-04 17:26:04.517] Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
[2025-07-04 17:26:04.566] Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
[2025-07-04 17:26:04.566] Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
[2025-07-04 17:26:04.597] Starting ATF on ARM64 core...

在SBL模式下,其启动代码更加定制化,用户可以更加方便地修改定制启动代码。在使用EMMC模式下结合falcon的SBL启动log如下。在启动开始时,第一阶段的SBL就将启动介质设置为高速模式,在后续的镜像加载过程中,高速模式下的镜像搬运极大缩减了启动时间。在Linux启动之前,总耗时仅600ms,请参考以下启动log。

 [2025-07-08 10:03:51.246] SYSFW Firmware revision 0xa 
[2025-07-08 10:03:51.246] SYSFW ABI revision 4.0
[2025-07-08 10:03:51.246]
[2025-07-08 10:03:51.262] [BOOTLOADER_PROFILE] Boot Media : eMMC
[2025-07-08 10:03:51.278] [BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz
[2025-07-08 10:03:51.278] [BOOTLOADER_PROFILE] Boot Image Size : 163 KB
[2025-07-08 10:03:51.278] [BOOTLOADER_PROFILE] Cores present :
[2025-07-08 10:03:51.294] mcu-r5f0-0
[2025-07-08 10:03:51.294] r5f0-0
[2025-07-08 10:03:51.294] [BOOTLOADER PROFILE] System_init : 36549us
[2025-07-08 10:03:51.294] [BOOTLOADER PROFILE] Board_init : 0us
[2025-07-08 10:03:51.294] [BOOTLOADER PROFILE] Drivers_open : 20614us
[2025-07-08 10:03:51.310] [BOOTLOADER PROFILE] Board_driversOpen : 0us
[2025-07-08 10:03:51.310] [BOOTLOADER PROFILE] Sciclient Get Version : 10174us
[2025-07-08 10:03:51.326] [BOOTLOADER PROFILE] MCU R5 Image Load : 7232us
[2025-07-08 10:03:51.326] [BOOTLOADER PROFILE] DM R5 Image Load : 8510us
[2025-07-08 10:03:51.326] [BOOTLOADER_PROFILE] SBL Total Time Taken : 83081us
[2025-07-08 10:03:51.342]
[2025-07-08 10:03:51.342] Image loading done, switching to application ...
[2025-07-08 10:03:51.342] Starting MCU-r5f and 2nd stage bootloader
[2025-07-08 10:03:51.374]
[2025-07-08 10:03:51.374] SYSFW Firmware Version 10.1.8--v10.01.08 (Fiery Fox)
[2025-07-08 10:03:51.390] SYSFW Firmware revision 0xa
[2025-07-08 10:03:51.390] SYSFW ABI revision 4.0
[2025-07-08 10:03:51.390]
[2025-07-08 10:03:51.758] ERROR: Bootloader_verifyMulticoreImage:684: Failed to authenticate Image
[2025-07-08 10:03:51.758] [BOOTLOADER_PROFILE] Boot Media : eMMC
[2025-07-08 10:03:51.758] [BOOTLOADER_PROFILE] Boot Media Clock : 200.000 MHz
[2025-07-08 10:03:51.774] [BOOTLOADER_PROFILE] Boot Image Size : 16589 KB
[2025-07-08 10:03:51.774] [BOOTLOADER_PROFILE] Cores present :
[2025-07-08 10:03:51.774] hsm-m4f0-0
[2025-07-08 10:03:51.774] r5f0-0
[2025-07-08 10:03:51.774] a530-0
[2025-07-08 10:03:51.774] [BOOTLOADER PROFILE] System_init : 1645us
[2025-07-08 10:03:51.790] [BOOTLOADER PROFILE] Board_init : 0us
[2025-07-08 10:03:51.790] [BOOTLOADER PROFILE] Drivers_open : 20540us
[2025-07-08 10:03:51.806] [BOOTLOADER PROFILE] Board_driversOpen : 0us
[2025-07-08 10:03:51.806] [BOOTLOADER PROFILE] Sciclient Get Version : 10234us
[2025-07-08 10:03:51.806] [BOOTLOADER PROFILE] HSM Image Load : 5857us
[2025-07-08 10:03:51.822] [BOOTLOADER PROFILE] DM R5 Image Load : 15695us
[2025-07-08 10:03:51.822] [BOOTLOADER PROFILE] A53 Image Load : 291147us
 [2025-07-08 10:03:51.838] [BOOTLOADER_PROFILE] SBL Total Time Taken : 345123us