阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

openharmony L1级开机启动项服务设置实例

356次阅读
没有评论

共计 2208 个字符,预计需要花费 6 分钟才能阅读完成。

导读 openharmony L1 级开发板需将一个执行文件转换为开机服务运行至开发板中,即开机时执行运行程序。由于当前使用的为 L1 级开发板与 L2 级开发板存在一定的差异。本次已 L1 级进行测试讲解。
设备

君正开发板:x2000,软件:oepenharmony 3.0

准备

我们通过打印显示的方式验证开机启动项是否启动成功。其中代码样例如下:

lts@ubuntu:~/x2000/test$ ls
BUILD.gn  etc  ohos.build  test.c

其中 test.c 用于编译成可执行文件,其内容如下:

lts@ubuntu:~/x2000/test$ cat test.c 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc,char* argv[])
{printf("\n======================================\n");
        printf("*                                    *");
        printf("*                                    *\n");
        printf("*                                    *\n");
        printf("*                                    *\n");
        printf("*          This is a test            *\n");
        printf("*                                    *\n");
        printf("*                                    *\n");
        printf("*                                    *\n");
        printf("======================================\n");

        return 0;
}
lts@ubuntu:~/x2000/test$

gn 编译文件内容如下:

lts@ubuntu:~/x2000/test$ cat BUILD.gn 
import("//build/lite/config/component/lite_component.gni")

executable("sysinfo")
{
  sources = ["test.c",]

  include_dirs = [ ]

  cflags = [
    "-Wall",
    "-Wno-format",
    "-Wwrite-strings",
  ]
  cflags_cc = cflags

  ldflags = [
       "-lstdc++",
       "-lpthread"
  ]
  public_deps = []
  deps = []}
group("sys_info") {
    deps = [ 
       ":sysinfo",
       "etc:sysinfo_cfg"
    ]
}
lts@ubuntu:~/x2000/test$

当然执行文件配置成开机启动项时,可能存在需要配置配置文件的情况,如某些配置文件等,因此在 etc 目录存放关于配置文件内容。

openharmony L1 级开机启动项服务设置实例

etc 目录中配置文件情况如下:

lts@ubuntu:~/x2000/test$ cd etc/
lts@ubuntu:~/x2000/test/etc$ ls
BUILD.gn sysinfo_config.cfg
lts@ubuntu:~/x2000/test/etc$

其中 sysinfo_config.cfg 文件为我们需要配置的配置文件。BUILD.gn 为操作配置文件对应的 gn 文件。
其中 gn 配置文件内容如下:

lts@ubuntu:~/x2000/test/etc$ cat BUILD.gn 
import("//build/lite/config/component/lite_component.gni")
copy("sysinfo_cp") {sources = [ "sysinfo_config.cfg"]
outputs = ["$root_out_dir/etc/sysinfo/sysinfo_config.cfg"]
}

lite_component("sysinfo_cfg") {
features = [":sysinfo_cp"]
}
lts@ubuntu:~/x2000/test/etc$etc$

即将配置文件在编译完成之后存放在 /etc/sysinfo/ 目录下面。执行文件可以在 /etc/sysinfo/ 目录下面获取使用 sysinfo_config.cfg 文件。

配置开机启动项

进入代码根目录下:vendor/ingenic/halley5/init_configs,在这里我们需要配置对应的开启启动项目。

lts@ubuntu:~/x2000/vendor/ingenic/halley5/init_configs$
ls BUILD.gn init_linux_5_10_x2000.cfg 
lts@ubuntu:~/x2000/vendor/ingenic/halley5/init_configs$

修改 init_linux_5_10_x2000.cfg,在 services 添加对应的执行文件名。如:进入到 lts@ubuntu:~/x2000/vendor/ingenic/halley5/rootfs-overlay/etc/init.d 目录,我们需要添加对应的脚本,用于开机启动。我们添加一个 sysinfo 脚本,注意需要修改权限

openharmony L1 级开机启动项服务设置实例

修改 rcS 文件,将脚本执行命令加入。

openharmony L1 级开机启动项服务设置实例 openharmony L1 级开机启动项服务设置实例

烧写

烧写镜像到开发板中,观察打印。

openharmony L1 级开机启动项服务设置实例

开启重启和烧写重启时出现打印,修改开机启动项成功。
验证开机启动配置项

openharmony L1 级开机启动项服务设置实例

说明开机配置项配置成功,此次验证 OK。

总结

本次操作遇到一个大坑,在烧写镜像文件时出现报错;

openharmony L1 级开机启动项服务设置实例

环境为:ubuntu
按照报错休息修改无果之后,重新换一个烧写软件烧写,烧写成功。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计2208字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7800522
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统 大家好,我是星哥。公司的项目文档存了一堆 ...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...