[IMX6Q][Android5.1]移植笔记 --- Recovery下添加sh和toolbox

本文档记录了在IMX6Q平台、运行Android5.1的设备上,如何解决在Recovery模式下因system文件系统未挂载导致无法通过adb进入shell的问题。通过修改services.c文件,使用/sbin/sh代替/system/bin/sh,并详细说明了如何编译及添加sh和toolbox到Recovery环境中。
摘要由CSDN通过智能技术生成

platform: imx6q

os: Android5.1

branch: l5.1.1_2.1.0-ga


原生source code是无法通过adb进入recovery mode的,提示如下log。

exec "/system/bin/sh": No such file or directory.


因为recovery下system fs是没有挂载的,可以通过下面修改使用/sbin/sh来进入adb shell.


1. 修改 android/system/core/adb/services.c

kris@PT-server:~/myandroid/system/core$ git diff
diff --git a/adb/services.c b/adb/services.c
index 21b08dc..9f18553 100644
--- a/adb/services.c
+++ b/adb/services.c
@@ -301,8 +301,10 @@ static int create_subproc_raw(const char *cmd, const char *arg0, const char *arg
 
 #if ADB_HOST
 #define SHELL_COMMAND "/bin/sh"
+#define SHELL_COMMAND1 "/bin/sh"
 #else
 #define SHELL_COMMAND "/system/bin/sh"
+#define SHELL_COMMAND1 "/sbin/sh"
 #endif
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值