imx6sl recovery mode支援shell
阿新 • • 發佈:2018-11-02
http://blog.csdn.net/kris_fei/article/details/50921384
http://blog.chinaunix.net/uid-22816738-id-4206687.html
https://github.com/CyanogenMod/android_system_core/commit/b78534f1efdd2587041dadc045fbbdade456a442
http://blog.csdn.net/kangear/article/details/43796037
http://blog.csdn.net/loongembedded/article/details/67638687
原生source code是無法通過adb進入recovery mode的,提示如下log。
exec "/system/bin/sh": No such file or directory.
1.編譯靜態mksh, toolbox
external/mksh/Android.mk
#luke moidfy 20170419 st
#LOCAL_SYSTEM_SHARED_LIBRARIES:= libc
LOCAL_STATIC_LIBRARIES := libc
LOCAL_FORCE_STATIC_EXECUTABLE := true
#ed
system/core/toolbox/Android.mk
#luke modify 20170419 st #LOCAL_SHARED_LIBRARIES := \ libcutils \ liblog \ libc \ libusbhost \ libselinux LOCAL_SHARED_LIBRARIES := \ libusbhost \ LOCAL_STATIC_LIBRARIES := \ liblog \ libcutils \ libc \ libselinux LOCAL_FORCE_STATIC_EXECUTABLE := true #ed
2.新增檔案與連結檔案
build/core/Makefile
$(hide) cp $(RECOVERY_INSTALL_OTA_KEYS) $(TARGET_RECOVERY_ROOT_OUT)/res/keys
$(hide) cat $(INSTALLED_DEFAULT_PROP_TARGET) $(recovery_build_prop) \
> $(TARGET_RECOVERY_ROOT_OUT)/default.prop
#luke add st 20170418
mkdir -p ${TARGET_RECOVERY_ROOT_OUT}/system/bin/
cp $(PRODUCT_OUT)/system/bin/toolbox $(TARGET_RECOVERY_ROOT_OUT)/sbin/toolbox
cp $(PRODUCT_OUT)/system/bin/mksh $(TARGET_RECOVERY_ROOT_OUT)/system/bin/mksh
#ed
$(hide) $(MKBOOTFS) $(TARGET_RECOVERY_ROOT_OUT) | $(MINIGZIP) > $(recovery_ramdisk)
bootable/recovery/etc/init.rc
chown root shell /tmp
chmod 0775 /tmp
#luke add 20170419 st
symlink /system/bin/mksh /system/bin/sh
symlink /sbin/toolbox /sbin/ls
#ed