在嵌入式系统开发中,合理管理开机自启动项目能够优化系统启动流程,确保关键服务和应用按时加载运行。本文将详细介绍在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开头的文件最后执行。

关闭默认启动的应用
如果想关闭某个开机启动的服务,可以直接删除该脚本,或者将S改为K,例如默认不想启动vsftpd,就可以将S70vsftpd改为K70vsftpd。
root@elf2-buildroot:/etc/init.d# mv S70vsftpd K70vsftpd

开机自启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应用为例:

需要注意启动应用时要加绝对路径(其中&符号表示后台运行程序,不会导致阻塞)。
开机自启非界面应用
以下以开机后实现WiFi自动拨号为例,在/etc/init.d/目录下创建个S99开头的脚本,把拨号的命令写进去,脚本附上执行权限。
注意:拨号命令或者启动其他应用时都需要使用绝对路径。

通过以上步骤,便可实现在 ELF 2 开发板的开机自启动。各位小伙伴在实际操作中,需注意脚本命名规范、执行权限设置以及命令绝对路径的使用,确保自启动配置的准确性和稳定性,如果在实践中遇到问题,欢迎随时交流探讨!
-
单片机
+关注
关注
6068文章
45032浏览量
652088 -
嵌入式
+关注
关注
5158文章
19730浏览量
318596 -
Linux
+关注
关注
87文章
11522浏览量
214263 -
Linux系统
+关注
关注
4文章
606浏览量
28741 -
Linux开发
+关注
关注
0文章
39浏览量
7357
发布评论请先 登录
ElfBoard技术贴|如何在【RK3588】ELF 2开发板上进行根系统的定制

RK3588 EVB开发板原理图讲解【八】 RK3588 power Tree
瑞芯微旗舰芯RK3588开发板开售 比亚迪为应达利颁奖
【首发开箱】揭开RK3588开发板的神秘面纱!

rk3588有哪些开发板?
瑞芯微RK3588开发板Linux系统添加自启动命令的方法,深圳触觉智能Arm嵌入式鸿蒙硬件方案商

评论