Building the ota image
You may find another path to success, but here is what we do. Use mkimage.sh ota instead of just mkimage.sh Unfortunately, the boot image is too large for its allocated partition once recovery is added into it (needed for OTA updates). You should increase the boot partition size in your parameter.txt file to make room. I don’t have the documentation handy as I looked it up online.
Processing the ota image
The OTA processing code is in a vendor provided app (./vendor/rockchip/common/apps/RKUpdateService ). I have included the source as we received it from rockchip. The branch of interest is the rk32/mid/6.0/develop branch. It is not the default branch and yes, I learned that the hard way.
There is a document in RKDocs (./RKDocs/RKTools manuals/RK SDK OTA [chinese text].pdf ) which gives instructions on the OTA query and website specs. I’ve also included the sample website from rockchip to handle ota versioning. They moke NO claims of fitness for purpose and we didn’t end up using this approach, because we manage our OTA downloads differently.
The OTA UI doesn’t operate in silent mode, so you’ll need to make modifications to support that. Stock aosp would expect an update.zip file to be placed on an sdcard or in the /sdcard/ folder. Rockchip’s update files are in a different format, so they have a different code path that’s triggered with files named ‘update.img’. RKUpdateService pairs with changes in the ./bootable/recovery binary. Specifically there are changes to recovery.cpp and the addition of rkimage.(cpp|h) files to support Rockchip OTA updates.