码迷,mamicode.com
首页 > 系统相关 > 详细

recovery 升级过程执行自定义shell命令

时间:2019-01-30 17:10:17      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:ali   src   alt   功能   .com   提示   利用   生成   make   

  有时候我们需要,在升级的过程中,执行一些shell命令,来完成我们的一些需求,利用升级过程,进行一些特殊化的操作,思路如下:

 

第一:

    把我们需要执行的命令,写成一个test.sh脚本,然后在recovery串口环境下,source test.sh,保证我们的sh能够正常运行。

 

第二:

    把test.sh打包到升级包update.zip的根目录中去,主要是修改build/core/Makefile以及build/tools/releasetools/ota_from_target_files.

        技术分享图片

 

第三:

    修改升级脚本updater-script,增加执行test.sh的脚本函数,主要是修改build/tools/releasetools/ota_from_target_files,在生成的脚本中增加如下函数:

 

package_extract_file("test.sh","/tmp/test.sh")    //提取test.sh到tmp目录
set_perm/set_metadata                             //设置test.sh权限
run_program("/tmp/test.sh");                      //执行sh
delete("/tmp/test.sh"):                           //删除test.sh

 

 

    注意:set_permandroid L之后去掉了,只能使用set_metadata了。

 

第四:

 

    如果在升级执行过程,提示了selinux相关的权限,则需要增加recovery相关的selinux的权限

 

    至此,我们的功能即增加完成,升recovery升级的过程,会提取升级包update.zip中的test.sh/tmp目录,然后赋予test.sh可执行的权限,然后执行test.sh,最后删除/tmp/test.sh

recovery 升级过程执行自定义shell命令

标签:ali   src   alt   功能   .com   提示   利用   生成   make   

原文地址:https://www.cnblogs.com/codeking100/p/10338645.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!