Android Recovery 支持 Adb

很早寫過Busybox的移植, 覺得方式比較繁瑣

Android Recovery 移植 Busybox

新的移植方式, 簡單高效

Busybox 移植

目標: 把 busybox 編譯到 /sbin 的目錄下
這部分比較特殊, 五花八門。
推薦一個省時省力的方式: 把busybox當作bin直接編譯到recovery中。

diff --git a/alps/build/core/Makefile b/alps/build/core/Makefile
index f812ea8..0e734a6 100644
--- a/alps/build/core/Makefile
+++ b/alps/build/core/Makefile
@@ -836,6 +836,8 @@ recovery_binary := $(call intermediates-dir-for,EXECUTABLES,recovery)/recovery
 recovery_resources_common := $(call include-path-for, recovery)/res
 recovery_ramdisk_bthdr := $(PRODUCT_OUT)/ramdisk-recovery-bthdr.img
 
+recovery_busybox := $(TOPDIR)device/lcsh/lcsh6580_weg_sh_l/recovery_busybox.sh
+
 # Set recovery_density to the density bucket of the device.
 recovery_density := unknown
 ifneq (,$(PRODUCT_AAPT_PREF_CONFIG))
@@ -972,6 +974,8 @@ endif
        $(hide) cp -R $(TARGET_ROOT_OUT) $(TARGET_RECOVERY_OUT)
        @echo Modifying ramdisk contents...
        $(hide) rm -f $(TARGET_RECOVERY_ROOT_OUT)/init*.rc
+       @echo ---Busybox---
+       $(recovery_busybox) $(PRODUCT_OUT)
 ifeq ($(TARGET_USERIMAGES_USE_UBIFS),true)
        $(hide) cp -f $(recovery_ubiformat) $(TARGET_RECOVERY_ROOT_OUT)/sbin/ubiformat
 endif

recovery_busybox.sh

#!/bin/bash
PRODUCT_OUT=$1
cp -f device/lcsh/lcsh6580_weg_sh_l/busybox $PRODUCT_OUT/recovery/root/sbin/

修改 Init.rc

目標: 可以使用 adb 命令。

$ adb shell

原理:生成一個軟連接 /system/bin/sh

在Init.rc 添加

# Begin Busybox
    # 1:
    mkdir /system
    mkdir /system/bin #不一定生效
    # 2:
    symlink /sbin/busybox /system/bin/sh
    # 3:
    symlink /sbin/busybox /sbin/cat
    symlink /sbin/busybox /sbin/ls
    symlink /sbin/busybox /sbin/echo
    symlink /sbin/busybox /sbin/pwd
# End

加入這幾行命令之后就可以了。

1: 建立目錄, 以便后面創(chuàng)建軟連接使用

mkdir /system/bin 可能創(chuàng)建目錄不成功, 這里需要想別的辦法創(chuàng)建這個目錄,否則后面的軟連接不能生成出來。

2: 創(chuàng)建軟連接, 為了 adb shell 做準備

3: (可選項) 建立一些常用的命令的軟連接

如果沒有 步驟3的話, 使用命令:

$ busybox ls
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容