Skip to main content
Qualcomm Linux · OTA · Files
OTA 教程的配套页面·← 返回文章

本页面包含 OTA 教程中每个文件的完整源码,您无需重新输入任何内容。每个代码块的右上角都有一个复制按钮 — 悬停即可看到。它们按文章创建的顺序列出;每个标题都显示了文件应保存的路径。

layer.conf

将 meta-ota-demo 注册到构建中。 保存到 meta-ota-demo/conf/layer.conf。
layer.conf

ota-demo-version.bb

版本标记 recipe。提升 OTA_DEMO_VERSION 是”旋钮 1”;它将值写入 /etc/ota-demo-version,并作为 conffile 交付,使其在更新后仍能保留。 保存到 meta-ota-demo/recipes-ota/ota-demo-version/ota-demo-version.bb。
ota-demo-version.bb

weston-init.bbappend

壁纸覆盖 — 一个 weston-init bbappend,它前置了我们的文件路径,使我们的 qcom-background.png 优先于原厂的(“旋钮 2”)。 保存到 meta-ota-demo/recipes-graphics/wayland/weston-init.bbappend。
weston-init.bbappend

ota-agent_1.0.bb

打包 agent 的 BitBake recipe。唯一不太直观的部分是 RDEPENDS:agent 是纯 Python 标准库,但在最小化的 Yocto 镜像上标准库被拆分成多个软件包,因此您必须准确列出它导入的那些。 保存到 meta-ota-demo/recipes-ota/ota-agent/ota-agent_1.0.bb。
ota-agent_1.0.bb

ota-agent.service

保持 agent 运行并在网络在线后启动它的 systemd 单元。 保存到 meta-ota-demo/recipes-ota/ota-agent/files/ota-agent.service。
ota-agent.service

ota-agent.conf

agent 的配置。编辑 SERVER_URL 使其指向您的更新服务器(文章中用一条 sed 单行命令完成)。 保存到 meta-ota-demo/recipes-ota/ota-agent/files/ota-agent.conf。
ota-agent.conf

ota-agent.py

设备端的 Web agent。纯 Python 标准库,因此可在最小化的 QLI 镜像上运行,无需额外软件包。 保存到 meta-ota-demo/recipes-ota/ota-agent/files/ota-agent.py。
ota-agent.py

ota-demo.yml

将该层拉入构建并向镜像添加软件包的 kas 片段。它与其他 Qualcomm CI 片段放在一起,而不在层内部。您可以在每次构建时编辑 IMAGE_INSTALL:append 行来添加或移除 Vim(“旋钮 3”)。 保存到 meta-qcom/ci/ota-demo.yml。
ota-demo.yml

publish.sh

服务器端脚本,将新构建的 ostree_repo 复制到更新服务器的 Web 根目录,并写入设备 agent 读取的 version.json。 将其放在更新服务器上,使其可执行,并检查 DEPLOY_DIR 是否与您的构建输出位置匹配。
publish.sh

← 返回 OTA 教程