跳转至

开机自启动配置

设置自启动Service

创建启动脚本

使用任何文本编辑器,在/etc/init.d目录下创建一个新的启动脚本,假设命名为your_script_name,以下是示例脚本的参考内容:

#!/bin/bash

### BEGIN INIT INFO
# Provides:          your_service_name
# Required-Start:    $all
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start your_service_name at boot time
# Description:       Enable service provided by your_service_name
### END INIT INFO

/path/to/your/program &

exit 0

设置启动脚本具有可执行权限

sudo chmod +x /etc/init.d/your_script_name

使用update-rc.d命令将脚本添加到系统的启动项中

sudo update-rc.d your_script_name defaults

使用systemctl命令启用自启动

sudo systemctl enable your_script_name

重启开发板验证自启动服务程序是否运行正常

root@ubuntu:~# systemctl status your_script_name.service 
 your_script_name.service - LSB: Start your_service_name at boot time
    Loaded: loaded (/etc/init.d/your_script_name; generated)
    Active: active (exited) since Wed 2023-04-19 15:01:12 CST; 57s ago
    Docs: man:systemd-sysv-generator(8)
    Process: 2768 ExecStart=/etc/init.d/your_script_name start (code=exited, status=0/SUCCESS)

添加到rc.local服务

rc.local是一个系统服务,用于在系统启动时自动执行一些脚本或命令。这个服务在系统启动时会被自动调用,并在系统启动完成后执行一些用户指定的脚本或命令,以便在系统启动时进行自定义配置或操作。

在早期的Linux发行版中,rc.local是系统启动过程中默认运行的最后一个服务。随着systemd的普及,rc.local被视为遗留的系统服务。

通过在sudo vim /etc/rc.local文件末尾添加启动命令的方式实现,例如:

#!/bin/bash -e
#
# rc.local
#re
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Insert what you need

exit 0

OriginMan 开机自启动预留接口

在root目录下,有一个start.sh的shell脚本,已经内置了每当打开OriginMan的电源开关,都会自动运行start.sh中的内容,如果用户需要做其他开发可以基于此进行加工。

Attention

不要在其中放置阻塞线程的代码,不然会卡在某一个节点或者程序,无法执行下一段内容。

图片1