0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ElfBoard技术贴|如何在【RK3588】ELF 2开发板上实现开机自启应用

ElfBoard ? 2025-09-08 14:11 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Systemd作为Linux系统默认的初始化系统和服务管理器,凭借其并行启动、依赖管理及统一配置机制,显著提升了系统启动效率。针对开机自启动需求,Systemd的实现机制如下:

1、服务单元机制

Systemd将每个服务/脚本抽象为.service单元文件,其中包含启动命令、依赖关系、运行环境等声明式配置。

2、依赖控制与目标绑定

通过[Install]段的WantedBy=multi-user.target将服务关联到系统运行目标,确保在操作系统完成基础初始化后自动触发服务启动。

3、强一致性保障

Systemd会监控服务进程,支持自动重启和日志收集,确保自启动服务的持续可用性。

脚本自启

配置Systemd服务单元实现脚本自启

1、首先创建test1.sh脚本

root@elf2-desktop:~# cd /home/elf/ root@elf2-desktop:/home/elf# vi test1.sh

添加以下内容:

#!/bin/bash echo "start" >> /home/elf/c.txt

2、给脚本可执行权限

root@elf2-desktop:/home/elf# chmod 777 test1.sh

3、新建要启动的服务文件

创建并编辑test1.service文件

root@elf2-desktop:/home/elf# vi/etc/systemd/system/test1.service

在test1.service里编辑以下内容

[Unit] Description=/etc/rc.local Compatibility After=multi-user.target [Service] Type=forking ExecStart=/home/elf/test1.sh [Install] WantedBy=multi-user.target

4、让系统获取到自定义的service文件并设置开机启动

root@elf2-desktop:/home/elf# systemctl daemon-reload root@elf2-desktop:/home/elf# systemctl enable test1.service

5、执行sync后,reboot重启

root@elf2-desktop:/home/elf# sync root@elf2-desktop:/home/elf# reboot

6、验证

root@elf2-desktop:~# cat /home/elf/c.txt start //读取文件的内容,出现start说明脚本开机自启成功。

界面应用自启

配置 systemd 服务单元实现带界面应用自启

1、首先创建test2.sh脚本

root@elf2-desktop:~# cd /home/elf/ root@elf2-desktop:/home/elf# vi test2.sh

以HelloWorld为例进行测试,添加以下内容:

#!/bin/bash sleep 3 export DISPLAY=:0.0 /home/elf/HelloWorld &

sleep 3的原因为multi-user启动顺序较早,不添加sleep参数会导致应用启动失败,Ubuntu系统启动过程中,用户带界面的应用启动需要等待界面组件准备完成,这里测试elf2需要2秒左右正常进入系统,所以延时3s再启动应用。

2、给脚本可执行权限

root@elf2-desktop:/home/elf# chmod 777 test2.sh

3、新建要启动的服务文件

创建并编辑test2.service文件

root@elf2-desktop:/home/elf# vi/etc/systemd/system/test2.service

在start.service里编辑以下内容

[Unit] Description=/etc/rc.local Compatibility After=multi-user.target [Service] Type=forking ExecStart=sudo -u elf /home/elf/test2.sh [Install] WantedBy=multi-user.target

4、让系统获取到自定义的service文件并设置开机启动

root@elf2-desktop:/home/elf# systemctl daemon-reload root@elf2-desktop:/home/elf# systemctl enable test2.service

5、执行sync后,reboot重启

root@elf2-desktop:/home/elf# sync root@elf2-desktop:/home/elf# reboot

6、验证

wKgZO2i-cZCADWrUAADGzqhwcUw522.png

界面配置带界面应用自启

通过 gnome-session-properties 命令可以打开开机自启工程配置界面,在这里添加用户自己的应用/脚本即可,下述以HelloWorld为例进行测试。

1、调试串口执行命令

elf@elf2-desktop:~$ export DISPLAY=:0.0 elf@elf2-desktop:~$ gnome-session-properties

此时板端会出现如下界面:

wKgZPGi-cWWAG9ElAAKXM6B4zmE846.png

选择Add添加自己的启动脚本

wKgZO2i-cSmAbNVmAAMW76HabGQ409.pngwKgZO2i-cTuAUje_AALwebLlRN0990.png

选择添加后按提示保存退出即可。

2、添加的test3.sh脚本内容如下:

#!/bin/bash export DISPLAY=:0.0 /home/elf/HelloWorld &

3、给脚本提供可执行权限chmod +x /home/elf/test3.sh

4、sync保存重启,验证是否自启动

wKgZO2i-cPiAXkoRAADFZHy3KSI649.png

运行应用时隐藏侧边栏

wKgZPGi-cNiAY6yKAAHYuoOT55I948.png


通过系统设置 选中"Auto-hide the dock"再运行Qt等应用时侧边栏就会隐藏,运行效果如下:

wKgZPGi-cMKAWb0jAAA4pIUK95A145.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6071

    文章

    45182

    浏览量

    656240
  • 嵌入式
    +关注

    关注

    5164

    文章

    19872

    浏览量

    321096
  • 瑞芯微电子
    +关注

    关注

    1

    文章

    64

    浏览量

    10341
  • RK3588
    +关注

    关注

    7

    文章

    442

    浏览量

    6285
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读 瑞芯微旗舰芯RK3588系列
    的头像 发表于 09-22 15:54 ?2.1w次阅读
    瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b><b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解读

    Banana Pi开源社区基于瑞芯微RK3588开发板,DeepSeek开发利器

    Banana Pi开源社区基于瑞芯微RK3588开发板,DeepSeek开发利器
    的头像 发表于 02-19 18:25 ?2302次阅读
    Banana Pi开源社区基于瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>,DeepSeek<b class='flag-5'>开发</b>利器

    ElfBoard技术|如何在RK3588ELF 2开发板上进行根系统的定制

    ELF 2开发板已经适配了Linux 5.10及Elf2 Desktop 22.04操作系统,其中Elf2 Desktop 22.04系统是
    的头像 发表于 07-02 16:33 ?2507次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>开发板</b>上进行根系统的定制

    技术|【RK3588ELF 2开发板如何添加exFAT和NTFS文件系统格式

    基于RK3588设计的ELF2开发板在搭载Desktop22.04系统时,对TF卡的文件系统支持存在以下限制:不支持exFAT格式;支持NTFS格式,但需手动挂载;针对上述兼容性问题,本文将介绍
    的头像 发表于 08-27 17:21 ?2380次阅读
    <b class='flag-5'>技术</b><b class='flag-5'>贴</b>|【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>开发板</b>如何添加exFAT和NTFS文件系统格式

    RK3588 EVB开发板原理图讲解【七】

    流程? Power Key 开机流程? 关机方式1. RK3588 实际开机电路描述2. 长按强制关机和复位的区别探讨
    发表于 02-28 08:51

    RK3588 EVB开发板原理图讲解【八】 RK3588 power Tree

    GPU负载高时自动通知RK860-2调高CPU电压 RK3588 Power Tree完整版图太大,截图看不完,需要的可以下载附件完成版。 RK3588 EVB开发板原理图 往
    发表于 03-01 11:38

    瑞芯微旗舰芯RK3588开发板开售 比亚迪为应达利颁奖

    瑞芯微旗舰芯RK3588开发板发售 比亚迪为应达利颁奖 瑞芯微旗舰芯RK3588开发板发售 近日,瑞芯微旗舰芯RK3588系列
    的头像 发表于 03-25 19:23 ?5178次阅读

    【首发开箱】揭开RK3588开发板的神秘面纱!

    教你玩转RK3588开发板硬声入驻企业:瑞芯微教程包含以下内容:1、开箱:EVB开箱接线2、外部接口:EVB硬件接口介绍。3、环境搭建:EVB使用及调试方法。4、系统升级:RK3588
    的头像 发表于 03-14 11:24 ?4159次阅读
    【首发开箱】揭开<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>的神秘面纱!

    迅为RK3588开发板-基于瑞芯微RK3588摄像头方案

    RK3588开发板
    的头像 发表于 06-09 11:09 ?5885次阅读
    迅为<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>-基于瑞芯微<b class='flag-5'>RK3588</b>摄像头方案

    rk3588有哪些开发板

    rk3588有哪些开发板 当前,rk3588开发板有RockPro64、Rock960 Plus、Rockchip Sapphire、Khadas VIM3 Pro和Firefly
    的头像 发表于 08-15 17:04 ?3240次阅读

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板
    的头像 发表于 08-30 14:13 ?1593次阅读
    <b class='flag-5'>RK3588</b>!黑神话悟空,启动?-迅为电子<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>

    迅为RK3588开发板Android12动态替换开机logo

    迅为RK3588开发板Android12动态替换开机logo
    的头像 发表于 11-15 15:04 ?1217次阅读
    迅为<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>Android12动态替换<b class='flag-5'>开机</b>logo

    玩转RK3588开发板基于connector-split 功能实现多屏联动

    玩转RK3588开发板基于connector-split 功能实现多屏联动
    的头像 发表于 12-02 16:05 ?1115次阅读
    玩转<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>基于connector-split 功能<b class='flag-5'>实现</b>多屏联动

    技术分享|iTOP-RK3588开发板Ubuntu20系统旋转屏幕方案

    技术分享|iTOP-RK3588开发板Ubuntu20系统旋转屏幕方案
    的头像 发表于 04-18 15:19 ?707次阅读
    <b class='flag-5'>技术</b>分享|iTOP-<b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>Ubuntu20系统旋转屏幕方案

    ElfBoard技术|【RK3588ELF 2开发板开机自启动详解

    在嵌入式系统开发中,合理管理开机自启动项目能够优化系统启动流程,确保关键服务和应用按时加载运行。本文将详细介绍在ELF2开发板Linux5.10.209系统下基于SystemVinit
    的头像 发表于 06-27 16:20 ?1443次阅读
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技术</b><b class='flag-5'>贴</b>|【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>开发板</b><b class='flag-5'>开机</b>自启动详解