国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

電子工程網(wǎng)

標(biāo)題: 飛凌RK3399平臺(tái)OTA 本地升級(jí)、OTA遠(yuǎn)程升級(jí) [打印本頁(yè)]

作者: 哦哈喲    時(shí)間: 2021-8-11 10:12
標(biāo)題: 飛凌RK3399平臺(tái)OTA 本地升級(jí)、OTA遠(yuǎn)程升級(jí)

本文硬件平臺(tái)以[color=inherit !important]飛凌嵌入式[color=inherit !important]OK3399-[color=inherit !important]C[color=inherit !important]開(kāi)發(fā)板為基礎(chǔ)進(jìn)行講解,其它[color=inherit !important]RK3399產(chǎn)品,由于各個(gè)廠家設(shè)置不同會(huì)有所差異,請(qǐng)參考使用。本文檔主要介紹OTA相關(guān)方向的介紹,通過(guò)本文檔可快速了解RK3399平臺(tái)[color=inherit !important]android鏡像版本升級(jí)的兩種方式OTA 本地升級(jí)、OTA遠(yuǎn)程升級(jí)以及OTA升級(jí)包編譯過(guò)程。

[color=inherit !important]飛凌[color=inherit !important]RK3399開(kāi)發(fā)板 OTA測(cè)試

OTA (over the air)升級(jí)是Android 系統(tǒng)提供的標(biāo)準(zhǔn)軟件升級(jí)方式。它功能強(qiáng)大,提供了完全升級(jí)(完整包)、增量升級(jí)模式(差異包),可以通過(guò)本地升級(jí),也可以通過(guò)網(wǎng)絡(luò)升級(jí)。

注意:OTA鏡像的打包方式和rk update.img的打包方式有所差異,沒(méi)有單獨(dú)的kernel分區(qū),內(nèi)核設(shè)備樹(shù)存在于boot.img中,因此如果使用OTA升級(jí)時(shí),需要保證當(dāng)前系統(tǒng)中的鏡像也是按照OTA方式打包的。

一、OTA 升級(jí)包編譯

本節(jié)我們將編譯三個(gè)版本的android鏡像,V1.0.0版本、V1.0.1版本、V1.0.2版本,其中V1.0.0版本為基礎(chǔ)版本用于燒寫(xiě)到飛凌RK[color=inherit !important]3399開(kāi)發(fā)板上,V.1.0.0升級(jí)到V1.0.1采用完全升級(jí)的方式測(cè)試完全升級(jí)功能,V1.0.1升級(jí)到V1.0.2采用增量升級(jí)模式測(cè)試增量升級(jí)功能。

查看device/rockchip/rk3399/BoardConfig.mk

確認(rèn)當(dāng)前版本號(hào)為1.0.0,同時(shí)將ro.product.ota.host修改為用于OTA升級(jí)服務(wù)器的[color=inherit !important]Linux主機(jī)地址,8888為端口號(hào)(服務(wù)器搭建參考后續(xù)章節(jié))。

1、 編譯V1.0.0版本鏡像

lunch rk3399_all-userdebug

rm out/target/product/rk3399_all/system/build.prop

make -j4

./mkimage.sh ota

將rockdev/Image-rk3399_all目錄的鏡像備份

mkdir images_v1.0.0

cp rockdev/Image-rk3399_all/* images_v1.0.0

以單獨(dú)燒寫(xiě)的方式,將鏡像燒寫(xiě)到飛凌RK3399開(kāi)發(fā)板上,注意不要燒寫(xiě)kernel.img。

2、編譯V1.0.1版本完全升級(jí)包

修改device/rockchip/rk3399/BoardConfig.mk

將當(dāng)前的版本號(hào)修改為:1.0.1

lunch rk3399_all-userdebug

rm out/target/product/rk3399_all/system/build.prop

make -j4

./mkimage.sh ota

make otapackage -j4

mv out/target/product/rk3399_all/rk3399_all-ota-eng.root.zip 1.0.1.zip

mv out/target/product/rk3399_all/obj/PACKAGING/target_files_intermediates/rk3399_all-target_files-eng.root.zip target_1.0.1.zip

其中1.0.1.zip是用于測(cè)試的完全升級(jí)包,target_1.0.1.zip是用于制作V1.0.2版本增量升級(jí)包的基礎(chǔ)素材。

3、編譯V1.0.2版本增量升級(jí)包

修改device/rockchip/rk3399/BoardConfig.mk

將當(dāng)前的版本號(hào)修改為:1.0.2

lunch rk3399_all-userdebug

rm out/target/product/rk3399_all/system/build.prop

make -j4

./mkimage.sh ota

make otapackage -j4

mv out/target/product/rk3399_all/obj/PACKAGING/target_files_intermediates/rk3399_all-target_files-eng.root.zip target_1.0.2.zip

使用target_1.0.1.zip和target_1.0.2.zip制作V1.0.2版本增量升級(jí)包。

./build/tools/releasetools/ota_from_target_files -v --block \

-i target_1.0.1.zip \

-p out/host/linux-x86 \

-k build/target/product/security/testkey \

target_1.0.2.zip \

1.0.2.zip

經(jīng)過(guò)前面幾小節(jié)的編譯,我們得到最終得到了以下文件:

images_v1.0.0目錄的基礎(chǔ)鏡像:v1.0.0版本的鏡像,用于燒寫(xiě)到飛凌RK3399開(kāi)發(fā)板上。

1.0.1.zip:v1.0.1版本的完全升級(jí)包。

1.0.2.zip:v1.0.2版本的增量升級(jí)包。

二、OTA 本地升級(jí)

啟動(dòng)RK3399開(kāi)發(fā)板并輸入:

getprop ro.product.version 確認(rèn)版本號(hào)是否為1.0.0。

將1.0.1.zip 拷貝到TF卡根目錄(如果之前做成了燒寫(xiě)TF卡請(qǐng)先還原為普通TF卡),并重新命名為update.zip。啟動(dòng)開(kāi)發(fā)板,插入TF卡。系統(tǒng)將自動(dòng)檢測(cè)到升級(jí)文件的存在彈出升級(jí)確認(rèn)菜單,點(diǎn)擊Install。將自動(dòng)進(jìn)入升級(jí)模式,升級(jí)完成之前請(qǐng)勿插拔TF卡。

升級(jí)完成后將自動(dòng)重新啟動(dòng),提示升級(jí)成功,詢問(wèn)是否需要?jiǎng)h除升級(jí)文件避免再次升級(jí)。

同時(shí)可以在飛凌RK3399開(kāi)發(fā)板上輸入getprop ro.product.version 確認(rèn)版本號(hào)是否為1.0.1。

下面,將1.0.2.zip拷貝到TF卡根目錄,并重命名為update.zip,由于是增量升級(jí)可以看到update.zip只有幾十MB,當(dāng)然這根修改的代碼多少有關(guān)。將TF卡插入開(kāi)發(fā)板,與前面完全升級(jí)的步驟一樣。

系統(tǒng)將自動(dòng)檢測(cè)到升級(jí)文件的存在彈出升級(jí)確認(rèn)菜單,點(diǎn)擊Install。將自動(dòng)進(jìn)入升級(jí)模式,升級(jí)完成之前請(qǐng)勿插拔TF卡。

升級(jí)完成后將自動(dòng)重新啟動(dòng),提示升級(jí)成功,詢問(wèn)是否需要?jiǎng)h除升級(jí)文件避免再次升級(jí)。

同時(shí)可以在飛凌 RK3399 開(kāi)發(fā)板上輸入getprop ro.product.version 確認(rèn)版本號(hào)是否為1.0.2。

三、OTA 遠(yuǎn)程升級(jí)1、搭建OTA升級(jí)服務(wù)器

打開(kāi)飛凌提供的RK3399用戶資料,將資料工具目錄中的apache-tomcat-7.0.29.zip拷貝到Linux主機(jī)/home/forlinx目錄。

注意:如果您的主機(jī)沒(méi)有jdk環(huán)境,請(qǐng)參考上篇建立Android應(yīng)用[color=inherit !important]開(kāi)發(fā)環(huán)境編譯章節(jié)安裝jdk環(huán)境。

unzip apache-tomcat-7.0.29.zip

chmod 775 -R apache-tomcat-7.0.29

cd apache-tomcat-7.0.29/webapps/OtaUpdater/WEB-INF

cat manifast.xml

其中,product name需要與device/rockchip/rk3399/BoardConfig.mk中定義的PRODUCT_MODEL一致。

version name 選項(xiàng)對(duì)應(yīng)升級(jí)前版本,package_path選項(xiàng)對(duì)應(yīng)該版本的升級(jí)包路徑。

將1.0.1.zip和1.0.2.zip拷貝到對(duì)應(yīng)的目錄:

修改端口號(hào):apache-tomcat-7.0.29/conf/server.xml

啟動(dòng)服務(wù):

cd apache-tomcat-7.0.29/bin

./startup.sh

2、測(cè)試OTA遠(yuǎn)程升級(jí)

首先將之前備份在images_v1.0.0鏡像燒寫(xiě)到開(kāi)發(fā)板上。getprop ro.product.version 確認(rèn)版本號(hào)是否為1.0.0。

正常情況下系統(tǒng)啟動(dòng)完畢幾秒鐘后將提示升級(jí),如果沒(méi)有提示請(qǐng):

getprop ro.product.ota.host 確認(rèn)OTA升級(jí)服務(wù)器參數(shù)是否正確。

同時(shí)確認(rèn)網(wǎng)絡(luò)是否連通。

點(diǎn)擊Yes將自動(dòng)進(jìn)入升級(jí)流程。由于是完全升級(jí),因此需要稍微等待一會(huì)。

點(diǎn)擊Yes刪除本地升級(jí)包。同時(shí)查看當(dāng)前版本:getprop ro.product.version 正常情況下已經(jīng)升級(jí)到1.0.1版本。

重啟系統(tǒng),由于我們當(dāng)前版本已經(jīng)升級(jí)到了1.0.1版本,系統(tǒng)將檢測(cè)到最新的1.0.2版本,提示升級(jí)。

由于是增量升級(jí),升級(jí)包非常小,升級(jí)速度也比較快。

點(diǎn)擊Yes刪除本地升級(jí)包。同時(shí)查看當(dāng)前版本:getprop ro.product.version 正常情況下已經(jīng)升級(jí)到1.0.2版本。







歡迎光臨 電子工程網(wǎng) (http://www.4huy16.com/) Powered by Discuz! X3.4