远程OTA升级服务是一种通过互联网远程更新Rockchip设备的固件和软件的方法。这种服务对于确保设备安全性、修复错误和添加新功能非常重要。
本文档将引导您完成在Rockchip平台上搭建远程OTA升级服务的过程。
在开始之前,请确保您已经准备好以下工作:
官方文档提及需要在ubuntu系统下安装必要的软件,包括:
本文通过Docker的方式实现搭建ota后台服务,因此跟官方文档有一点出入,原因是无需手动安装环境。
首先安装Docker,您可以按照以下步骤进行操作:
首先,确保您的系统已更新到最新的软件包。打开终端并运行以下命令:
bash
sudo apt update
sudo apt upgrade
安装一些必要的软件包,以便后续安装过程中的依赖项得到满足:
bash
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Docker官方仓库使用GPG密钥进行验证。使用以下命令添加它:
bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
添加Docker APT仓库,以便您可以从官方仓库安装Docker软件包:
bash
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新APT软件包索引并安装Docker Engine:
bash
sudo apt update
sudo apt install docker-ce
启动Docker服务并将其设置为开机自启动:
bash
sudo systemctl start docker
sudo systemctl enable docker
运行以下命令以验证Docker是否已成功安装:
bash
sudo docker --version
您将看到Docker版本信息,表示安装成功。
在docker官方的镜像仓库docker hub中搜索tomcat的容器镜像,注意:官方ota服务代码使用的tomcat版本是7
bash
docker search tomcat
docker pull tomcat:7.0
docker run -d -p 8080:8080 --name tomcatota tomcat:7.0
-d :就是以后台运行方式运行 也可以 -t :以交互式运行
-p :暴露端口号第一个8080是暴露linux 的端口号
--name:给容器取名
tomcat:7.0:运行时加上版本,指定是这个服务器
在此可以在web测试ip:8080是否能正常访问tomcat了,如果无法打开网页检查网络和端口是否正常
把rk提供的ota服务:OtaUpdater 拷贝到docker中:/usr/local/tomcat/webapps
最后重启docker,OtaUpdater 服务会自动运行。
至于端口号是否修改,看个人需求,端口修改为2300如下:/usr/local/tomcat# vi ./conf/server.xml
参考官方文档,这里在做讲解:
设备名称和版本号在源码中定义:
device/rockchip/rk3588/rk3588_s/rk3588_s.mk
PRODUCT_MODEL := rk3588_ygld
PRODUCT_PROPERTY_OVERRIDES += \
ro.product.version = 23.10.8
配置远程服务器地址:device/rockchip/rk3588/device.mk
PRODUCT_PROPERTY_OVERRIDES += \
ro.product.ota.host = 186.133.115.104:2300 \
ro.vendor.sdkversion = $(CURRENT_SDK_VERSION) \
vendor.gralloc.disable_afbc = 0
把升级包上传到指定的路径,即docker中的:/usr/local/tomcat/webapps/OtaUpdater/WEB-INF/packages
注意根据manifast.xml中的路径对应。
如上配置后,设备端请求服务器,查找服务器中的版本号是否和设备端的一致,如果配置了package路径,那么就去下载23.10.10的升级包。
在您的Rockchip设备上测试OTA升级功能。确保设备可以成功从服务器下载和安装新版本的固件。
一旦您确认OTA升级功能正常工作,您可以将其部署到生产环境中的所有设备。
服务器中的log位置:/usr/local/tomcat/mylogs# cat otaupdater
修改源码中的版本号:要将 out/target/product/rk29sdk/system/build.prop 删除再 make 改变才能生效,或者 make clean 后再 make
在构建OTA升级服务时,请务必考虑安全性问题。以下是一些最佳实践:
搭建Rockchip平台上的远程OTA升级服务是确保设备安全和性能的关键步骤。通过遵循本文档中的步骤,您可以轻松实现OTA升级功能,并确保您的Rockchip设备始终保持最新的固件和软件版本