By Toradex 秦海
1). 简介
嵌入式平台设备基于 Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。
本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。
2. 准备
a). Verdin i.MX8MP ARM核心版配合Dahlia 载板并连接 Debug Console 和 HDMI 显示器进行测试。
3). 测试流程
a). 参考这里说明下载 Toradex Yocto Linux BSP7 对应 U-Boot 源码,根据如下 patch 文件修改编译配置后重新编译 U-Boot Image。
-------------------------------
--- a/.config 2024-12-27 14:52:26.151705541 +0800
+++ .b/.config 2025-01-03 17:41:42.779299312 +0800
@@ -535,9 +535,13 @@
# CONFIG_DISABLE_CONSOLE is not set
CONFIG_LOGLEVEL=4
CONFIG_SPL_LOGLEVEL=4
-# CONFIG_SILENT_CONSOLE is not set
-# CONFIG_SPL_SILENT_CONSOLE is not set
+CONFIG_SILENT_CONSOLE=y
+CONFIG_SPL_SILENT_CONSOLE=y
# CONFIG_TPL_SILENT_CONSOLE is not set
+# CONFIG_SILENT_U_BOOT_ONLY is not set
+CONFIG_SILENT_CONSOLE_UPDATE_ON_SET=y
+CONFIG_SILENT_CONSOLE_UPDATE_ON_RELOC=y
+# CONFIG_SILENT_CONSOLE_UNTIL_ENV is not set
# CONFIG_PRE_CONSOLE_BUFFER is not set
CONFIG_CONSOLE_FLUSH_SUPPORT=y
# CONFIG_CONSOLE_FLUSH_ON_NEWLINE is not set
@@ -644,7 +648,7 @@
CONFIG_SPL_HAS_CUSTOM_MALLOC_START=y
CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR=0x42200000
CONFIG_SPL_SYS_MALLOC_SIZE=0x80000
-CONFIG_SPL_BANNER_PRINT=y
+# CONFIG_SPL_BANNER_PRINT is not set
# CONFIG_SPL_DISPLAY_PRINT is not set
CONFIG_SPL_SYS_MMCSD_RAW_MODE=y
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
-------------------------------
b). 参考这里说明重新组装 Verdin i.MX8MP Boot Container,在编译 ATF Image 的时候参考如下命令来关闭 log 输出。
-------------------------------
$ make PLAT=imx8mp IMX_BOOT_UART_BASE=0x30880000 LOG_LEVEL=0 DEBUG=0 bl31
-------------------------------
c). 从下面地址下载 Yocto linux BSP7 Minimal/Multimedia Image 并解压。
https://developer.toradex.cn/software/toradex-embedded-software/toradex-download-links-torizon-linux-bsp-wince-and-partner-demos/#bsp-quarterly-releases
d). 用上述步骤 b 生成的 flash.bin binary 文件重命名为 “imx-boot” 并替换 BSP Image 里面的 “imx-boot” 文件。
-------------------------------
$ tar xvf <downloading dir>/Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.0.0+build.1.tar
$ $ cd <downloading dir>/Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.0.0+build.1/
$ cp <workdir>/imx-mkimage/iMX8M/flash.bin <downloading dir>/Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.0.0+build.1/imx-boot
-------------------------------
e). 参考如下 patch 修改编译 BSP Image 中的环境变量定义文件。