瑞芯微Rockchip开发者社区
直播中

jsqueh

8年用户 1171经验值
私信 关注
[问答]

如何去实现rk3288 adndroid7 ota的编译与升级呢求解

android7 make otapackage编译
首先修改
device/rockchip/rk3288/BoardConfig.mk
BOARD_USE_SPARSE_SYSTEM_IMAGE := true
TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false
后出现编译报错
Traceback (most recent call last):
  File "./build/tools/releasetools/ota_from_target_files", line 2206, in
    main(sys.argv[1:])
  File "./build/tools/releasetools/ota_from_target_files", line 2162, in main
    WriteFullOTAPackage(input_zip, output_zip)
  File "./build/tools/releasetools/ota_from_target_files", line 728, in WriteFullOTAPackage
    vendor_diff = common.BlockDifference("vendor", vendor_tgt)
  File "/home/zhaoni/workspace/rk3288/king_rp_3288_7.1/build/tools/releasetools/common.py", line 1397, in __init__
    _, self.device = GetTypeAndDevice("/" + partition, OPTIONS.info_dict)
  File "/home/zhaoni/workspace/rk3288/king_rp_3288_7.1/build/tools/releasetools/common.py", line 1618, in GetTypeAndDevice
    return (PARTITION_TYPES[fstab[mount_point].fs_type],
KeyError: '/vendor'
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
KeyError: ‘/vendor’
修改
device/rockchip/common/recovery.fstab
增加一个vendor分区
/dev/block/rknand_vendor                           /vendor               ext4            defaults                  defaults
最后能编译生成update.zip文件,但用这个update.zip升级后系统无法启动,目前还不知道什么原因
最后采用了update.img进行升级系统
修改
device/rockchip/rk3288/BoardConfig.mk
BOARD_USE_SPARSE_SYSTEM_IMAGE := false
TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
这样修改后生成的镜像,可以制作TF卡更新卡,同时也支持recovery更新
修改device/rockchip/rk3288/parameter.txt
MACHINE_MODEL:ease3288
这个MACHINE_MODEL需要和device/rockchip/rk3288/rk3288.mk中PRODUCT_MODEL一样不然无法更新
修改
bootable/recovery/recovery.cpp
在1906行左右增加strcpy(updatepath, update_rkimage);
         else
             bAutoUpdateComplete=true;
      strcpy(updatepath, update_rkimage);//add by leijie
     }else if (factory_mode != NULL){
如果不增加这个使用update.img更新后,提示删除的时候无法正常删除update.img文件
修改完成后编译生成update.img文件,拷贝到TF或者U盘根目录,或者内部存储/sdcard/目录下系统就会提示更新
如果是拷贝到内部存储/sdcard/目录下需要重启才会提示更新。

原作者:红尘六欲

更多回帖

发帖
×
20
完善资料,
赚取积分