This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62A7:如何缩短引导时间

Guru**** 2668095 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1593659/am62a7-how-to-reduce-boot-time

器件型号: AM62A7

我将 AM62A SK EVK 与 v3link Sony imx219 摄像头配合使用。


我想在启动时在 3 秒内运行摄像头流水线、但目前我能够在 9-10 秒后达到目标
我相信为了实现快速引导、我必须使用可以通过 R5 MCU 内核启用的 falcon 模式。

如果看到我的 Linux 引导日志内核也在 2 秒内唤醒、我想查看显示、但用户模式占用时间来启动显示。
到目前为止、我使用 GST 流水线示例、以便使用 sytemd 服务进行测试。

这是我的 sysemd 服务:

【单位】
Description=自动启动 GStreamer 流水线
after=network.target graphic.target dev-dri-card0.device
要求= network.target

【服务】
类型=简单
#等待 DRM 设备准备就绪
#ExecStartPre=/bin/sh -c 'while [! -e /dev/dri/card0 ];执行 echo “正在等待 DRM 设备…“ >/dev/kmsg;睡眠 1;完成'
ExecStart=/bin/bash -c 'gst-launch-1.0 videotestsrc! 视频转换! Kmssink

#ExecStart=/usr/bin/bash -c “GST-launch-1.0 videotestsrc! 视频转换! Kmssink“
RESTART=始终
RestartSec=1
Environment=GST_DEBUG=0

【安装】
WantedBy= multi-user.target

下面是我的启动日志:

正在启动内核...

[  1.272315] hid-generic 0003:413C:2514.0003:设备没有监听程序、正在退出

[2.151629]  sysctl 表检查失败:ioctl/(Null) procname 为空
[  2.158091] SYSCTL 表检查失败:ioctl/(null) 无 proc_handler
【失败】无法启动 EdgeAI OOB 演示。

正在将管道设置为已暂停...
错误:从元素/GstPipeline:pipaine0/GstKMSSink:kmssink0:无法打开 DRM 模块 (NULL)
其他调试信息:
/usr/kmssink.debug/gstreamer1.0-plugins-bad/1.22.12/sys/km/km/gstkmssink.c src (1160):gst_kms_sink_start ():/GstPipeline0/GstKMSSink:kmssink0:
原因:没有此类文件或目录 (2)
错误:管道[  6.851037] OMAP-Lmailbox 29030000.mailbox:未找到可用的 mbox 设备
 不想预卷。
错误:来自元素/GstPipeline:pipLine0/GstKMSSink:kmssink0:Gstreamer 错误:状态更改失败、某些元素无法发布正确的错误消息以及失败的原因。
其他调试信息:
/usr/base/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c src (5885):gst_base_sink_change_state ():/GstPipeline:pipaine0/GstKMSSink:kmssink0:
无法启动
错误:流水线不想预卷。
无法将管道设置为暂停。
正在将管道设置为空...
正在释放管道...
[7.194151]  vdec 30210000.video-codec: error -ENXIO: IRQ index 0 not found
[7.203937]  vdec 30210000.video-codec:无法获取 IRQ 资源、返回轮询
[  7.237178] vdecc 30210000.video-codec:在设备树中找不到 opp 表
=============== HELLO SHUBHAM1122223344 ==============
正在将管道设置为已暂停...
流水线是 PREROLLING ...
流水线是 PREROLLED。
正在设置播放管道...
重新分配延迟...
新时钟:GstSystemClock
**************************************************************************
**************************************************************************
注意:此文件系统包含以下 GPL-3.0 软件包:
    adwaita-icon-theme-symbolic
    autoconf
    bash-dev
    Bash
    BC
    binutils
    CIFS-utils
    coreutils-stdbuf
    coreutils
    cpio
    cpp-symlinks
    CPP
    dosfstools
    elfutils-dev
    elfutils
    完成
    G++-symlinks
    G++
    高克
    GCC 符号链接
    GCC
    Gdb
    gdbserver
    gettext
    glmark2
    GNU-config
    GRUB-COMMON
    GRUB-EDITENV
    GRUB-EFI
    Gzip
    hidapi
    KBD-DEV
    kbd-keymaps-pine
    较少
    libasm1.
    libatomic-dev
    libatomic1.
    libbfd
    libdebuginfod1
    libdw1
    Libelf1.
    libgcc-s-dev
    libgcc1
    libgdbm-COMPAT4
    libgdbm-dev
    libgdbm6
    libgettextlib
    libgettextsrc
    libgmp-dev
    libgmp10
    libgmpxx4
    libgnutls-dev
    libgnutls-openssl27
    libgomp1.
    libidn2-0
    libidn2-dev
    libmpc3
    libmpfr6.
    libopcode
    libqt6core5compat-plugins
    libqt6core5compat-qmlplugins
    libqt6core5compat6
    libbqt6shadertools-dev
    libbqt6shadertools-plugins
    libqt6shadertools-qmlplugins
    libbqt6shadertools6.
    libreadline-dev
    libreadline8.
    libstdc++-dev
    libstdc++6.
    libtasn1-dev
    libunistring-dev
    libunistring5.
    M4
    制造
    Nettle-dev
    Nettle
    已分段
    色素点亮
    qtbase-dev
    qtbase-examples
    qtbase-plugins
    qtbase-qmlplugins
    qtbase-staticdev
    qtbase
    qtdeclative-dev
    qtdeclative-plugins
    qtdeclative-qmlplugins
    qtdeclative-staticdev
    qtdeclative-tools
    qtdeclarative
    qtlanguageserver-dev
    qtlanguageserver-plugins
    qtlanguageserver-qmlplugins
    qtlanguageserver-staticdev
    qtlanguageserver
    qtmulticall-plugins
    qtmultimedia-qmlplugins
    qtmultimedia
    qtquick3d-plugins
    qtquick3d-qmlplugins
    qtquick3d
    qtquicktime-plugins
    qtquicktimel-qmlplugins
    qtquicktimeline
    qtsvg-dev
    qtsvg-plugins
    qtsvg-qmlplugins
    qtsvg
    qtwayland-dev
    qtwayland-plugins
    qtwayland-qmlplugins
    qtwayland
    焦油
    那个

如果您不想分发 GPL-3.0 组件、请删除
分发之前的上述软件包。  这可以使用来完成
opkg remove 命令。  即:
  取出按钮
其中 是上面列表中打印的名称

注意:如果软件包是您的另一个软件包的依赖项
   将收到相关软件包的通知。  使用
   使用--force-remove-of-inlative-packages 选项
   还要删除相关软件包
**************************************************************************
**************************************************************************

 ____           ____      _     _
|________________      |_|___________|__________
  ||_|.'|。  |。 ||__|_|   。 |||-_| _|_|  
|____|_|_|__、 |___||__||___|  |___|___|___|___|___|__
       |___|           |___|