这个开机自启和其他linux开机自启是一模一样的,请先看视频
Linux系统中软件自启动的三种方式_哔哩哔哩_bilibili
这里面我使用的是systemd启动,关于这个启动方式,野火的开发文档也有说明-》[野火]《嵌入式Linux镜像构建与部署——基于LubanCat-i.MX6ULL-MP157开发板》的第30章
关于lvgl的UI编辑请看这篇文章
野火i.mx6ull开发板用LVGL8.3.11进行UI编辑-CSDN博客
关于将lvgl移植到野火i.mx6ull请看这篇
移植lvgl 8.3.11到野火i.mx6ull开发板_imx6ull移植lvgl 8-CSDN博客
我用的是先用systemd的service去启动lvgl_start.sh脚本,然后再用这个去启动lvgl_demo,整个过程非常的简单
首先编写lvgl.service
打开ubuntu,在nfs共享文件夹workdir下创建lvgl.service
sudo vi lvgl.service
然后输入以下代码
[Unit]
Description=record system reboot time
[Service]
ExecStart=/home/debian/lvgl_start.sh
[Install]
WantedBy=default.target
然后保存退出,接下来编写shell脚本
sudo vi lvgl_start.sh
sudo +绝对路径
#!/bin/bash
sudo /home/debian/lvgl_demo
自此所有需要编辑的都已经完成,lvgldemo也在之前准备好了,接下来就把lvgl.service和lvgl_start.sh通过nfs一同共享到开发板
sudo mount -t nfs 192.168.3.65:/home/embedfire/workdir/ /mnt
sudo cp /mnt/lvgl.service ./
sudo cp /mnt/lvgl_start.sh ./
然后当前目录debian下就有以下三个必要文件
lvgl.service lvgl_start.sh lvgl_demo
然后将lvgl.service 移动到/etc/systemd/system中
sudo cp lvgl.service /etc/systemd/system/
然后重新加载服务
sudo systemctl daemon-reload
然后使能,在这之前如果野火的qtdemo还没关闭的话,要先关闭野火的qt程序:
关闭和开启野火qtdemo的命令如下这些,如果已经关闭跳过:
sudo systemctl disable ebf-qtdemo 关闭qt
sudo systemctl start ebf-qtdemo 重启qt (重启需要开启qt)
sudo systemctl enable ebf-qtdemo 开启qt
使能lvgl.service
sudo systemctl enable lvgl.service
然后重启开发板,就发现lvgl的demo运行起来了,自此大功告成