当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

ElfBoard技术贴|【RK3588】ELF 2开发板开机自启动详解

时间:2025-06-27 | 栏目:嵌入式技术 | 点击:

嵌入式系统开发中,合理管理开机自启动项目能够优化系统启动流程,确保关键服务和应用按时加载运行。本文将详细介绍在ELF 2 开发板Linux5.10.209系统下基于 System V init 服务管理机制的开机自启动配置方法,为开发者提供全面的配置参考。

System V init 服务管理机制概述

Buildroot构建的系统,使用的是System V init服务管理机制,负责管理 Linux 系统的启动流程、服务管理和系统状态转换,其中服务管理可通过设置/etc/init.d中的运行脚本来实现。有些系统中引入了运行级别,根据不同的运行基本引用/etc/init.d中部分运行脚本,不过ELF 2开发板的系统中只有一种运行级别,会运行/etc/init.d中所有脚本。

/etc/init.d中的脚本通常以S或者K开头,S表示启动(Start),K表示停止(Kill)。System V init是串行运行机制,S或K后边的数字表示的就是执行顺序。

例如下图中S99开头的文件最后执行。

wKgZPGheUEqAEhDFAAAxo236jWY410.png

关闭默认启动的应用

如果想关闭某个开机启动的服务,可以直接删除该脚本,或者将S改为K,例如默认不想启动vsftpd,就可以将S70vsftpd改为K70vsftpd。

root@elf2-buildroot:/etc/init.d# mv S70vsftpd K70vsftpd

wKgZO2heU0yAMKfSAAAp5JIpcbg909.png

开机自启Qt应用

默认启动的是matrix-browser桌面,该桌面是通过/etc/init.c/S50matrix-browser文件启动,文件包括了设置Qt相关环境变量,启动桌面等操作。因此要启动个人Qt应用,可以直接修改S50matrix-browser文件,将启动桌面操作关掉,改为启动个人Qt应用。

以下以开机自启板子自带的Qt demo为例,不再描述个人Qt应用拷贝到板端的操作。

首先使用vi编辑器打开S50matrix-browser。

root@elf2-buildroot:~# vi/etc/init.d/S50matrix-browser

打开文件后将/usr/bin/matrix-browser -no-sandbox --disable-gpu 127.0.0.1 >> /dev/null &和killall matrix-browser注释掉,改为启动和关闭自己的应用,以下以启动关闭qtdemo_wifi应用为例:

wKgZO2heUxWAQFvWAAHIP1xG6kI789.png

需要注意启动应用时要加绝对路径(其中&符号表示后台运行程序,不会导致阻塞)。

开机自启非界面应用

以下以开机后实现WiFi自动拨号为例,在/etc/init.d/目录下创建个S99开头的脚本,把拨号的命令写进去,脚本附上执行权限。

注意:拨号命令或者启动其他应用时都需要使用绝对路径。

wKgZO2heUquAAaDRAABh3pMA5Yw280.png

通过以上步骤,便可实现在 ELF 2 开发板的开机自启动。各位小伙伴在实际操作中,需注意脚本命名规范、执行权限设置以及命令绝对路径的使用,确保自启动配置的准确性和稳定性,如果在实践中遇到问题,欢迎随时交流探讨!

您可能感兴趣的文章:

相关文章