在嵌入式系统开发中,合理管理开机自启动项目能够优化系统启动流程,确保关键服务和应用按时加载运行。本文将详细介绍在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 开发板的开机自启动。各位小伙伴在实际操作中,需注意脚本命名规范、执行权限设置以及命令绝对路径的使用,确保自启动配置的准确性和稳定性,如果在实践中遇到问题,欢迎随时交流探讨!
关注
6067文章
44961浏览量
648732关注
5144文章
19597浏览量
316112免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:bangqikeconnect@gmail.com