应用程序设定为上电开机自动运行的问题

用户您好,请详细描述您所遇到的问题:

你好,我在X3派的开发板上编写了一个应用程序,可执行权限都设置好了。然后按照网上的一些建议做了设定,发现好几种方法都不能生效,有的方法只生效一次后再次上电开机就不行了,剩下的几个方法都不行,下面是我的几种方法的操作,请帮助解决一下,非常感谢:

第一种:编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可(要输入命令的全路径),类似于windows下的“启动”。

使用命令 vi /etc/rc.local

然后在文件最后一行添加要执行程序的全路径。内容如下:在“/etc/rc.local”中加一行“/home/sunrise/test/build ./test”,或者两行“cd /home/sunrise/test/build”和“./test”。这个操作之后,只是第一次上电能运行,再次关机上电开机后,没有看到程序运行,然后进去看 vi /etc/rc.local ,发现里面的内容被清空了,不知道这个是什么原因?

第二种方法:在"/etc/init.d”下建立一个dnnbody.sh的脚本文件,通过拷贝其他脚本文件,修改名称和里面的内容,然后保存即可。

如下:修改里面的内容为

cd /home/sunrise/dnn_body_detect/build

./body_detect

exit 0

最后保存,执行下面的设定

chmod +x dnnbody #增加执行权限

这个操作之后,上电重启没有发现程序运行,然后通过SSH终端进去后,这个终端里面就立即运行起来程序了,也就是说,这个方法在没有任何终端连接到开发板的时候,程序是没有运行的,只有当有一个终端连接上去后,开发板的系统才让程序运行起来,这个不是上电就自动运行的效果啊,不知道这个问题如何解决?

第三种方法:也是编写一个shell文件,比如dnndetect.sh ,使用vim dnndetect.sh 打开后,添加内容如下:

#!/bin/bash

cd /home/sunrise/dnn_body_detect/build

sudo ./body_detect

exit 0

最后保存。

2,将这个dnndetect.sh文件拷贝到 /etc/profile.d/这个目录下,赋予此文件可执行权限,如下:

chmod a+x dnndetect.sh

3,重启系统即可完成,经过自己的验证操作,发现和第二种方法一样的问题,没有终端连接上去的时候,系统不运行这个应用程序,只有当一个终端连接上去后,系统才让这个应用程序运行起来,请帮助解决一下,非常感谢!

如果能提供其他的上电直接运行自己的应用程序的方法或步骤,请多多提供,多谢了!

  1. 系统软件版本: (通过 cat /etc/version 获得)

  2. 问题涉及的技术领域: (硬件、操作系统、驱动、其他)

  3. 问题描述:(尽可能详细的描述在进行什么功能的开发或者测试,发现了什么问题,问题现象,并且提供预期的结果)

  4. 复现概率:(必现、高、中、低,并描述大致的概率数值) 已进行的排查措施、分析及结果:

  5. 硬件问题先排查供电和时钟

  6. 驱动问题先排查外设的供电、复位和时钟

  7. 功能异常,先排查一下是不是运行的代码和demo存在差异,修改不多的情况下直接用对比软件先对比

  8. 提供必要的问题日志:

  9. 软件上是否有做自定义修改:

你好,开发手册中有自启动使用说明,按照操作是否ok

你好,我看到资料中说的是内核模块的开机自动运行的配置操作,但是我这个是应用程序啊,这个你能否给一个具体的例子,来让应用程序能开机自动运行,非常感谢!

下面是资料中的内核说明:

7.1.2.5. 配置开机自动加载

如果想要自定义的驱动模块在开机时自动加载,请按照以下步骤进行配置:

拷贝hello.ko/lib/modules/4.14.87 目录,命令如下:

sudo cp -f hello.ko /lib/modules/4.14.87/

执行depmod命令更新模块的依赖关系:

sudo depmod

最后在 /lib/modules-load.d 目录下新建一个conf扩展名的配置文件,例如 hello.conf,在配置文件里添加需要自动加载的模块名(模块名不需要.ko 扩展名),例如需要自动加载hello.ko,就写一行hello,如果有多个模块需要加载,一个配置文件可以添加多个自加载模块,一行一个模块名,可以通过以下命令简便的完成配置文件的新建和配置:

sudo echo hello > /lib/modules-load.d/hello.conf

不是内核的自启动,可以直接在root用户创建使用,然后看一下具体的效果

你好,你说的这个直接在root用户创建使用,然后看一下具体的效果,能不能给一个例子的实际操作步骤,非常感谢!比如一个应用程序在/home/sunrise/test/目录下的一个应用程序test,如何让这个应用程序在开机后自动运行,实际的设置步骤能否给一个例子说明,多谢了!

2. 系统配置 — 旭日X3派用户手册 1.0.1 文档 (horizon.ai) 参考2.4章节