Chinaunix首页 | 论坛 | 博客
  • 博客访问: 173581
  • 博文数量: 20
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 220
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-01 22:23
文章存档

2018年(5)

2017年(6)

2016年(1)

2015年(8)

我的朋友

分类: Android平台

2017-03-29 17:38:06

转载时请注明出处和作者联系方式
文章出处:http://blog.chinaunix.net/uid/30230931.html
作者联系方式:JonLee <
>

android recovery 模式下出于安全的考虑,一般禁止adb和adb shell 登陆。如果需要在recovery
模式下进行debug ,需要配置下列文件和步骤:

1.开启adb支持
out/*/recovery/root/sbin 目录下有adbd 文件
bootable/recovery/etc/init.rc 中是adb 配置

import /init.recovery.${ro.hardware}.rc

on early-init
    start ueventd
    start healthd

on init
    export PATH /sbin
    export ANDROID_ROOT /system
    export ANDROID_DATA /data
    export EXTERNAL_STORAGE /sdcard

    symlink /system/etc /etc

    mkdir /sdcard
    mkdir /system
    mkdir /data
    mkdir /cache
    mount /tmp /tmp tmpfs

    chown root shell /tmp
    chmod 0775 /tmp

    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 18D1
    write /sys/class/android_usb/android0/idProduct D001
    write /sys/class/android_usb/android0/functions adb
    write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
    write /sys/class/android_usb/android0/iProduct ${ro.product.model}
    write /sys/class/android_usb/android0/iSerial ${ro.serialno}

on boot

    ifup lo
    hostname localhost
    domainname localdomain

    class_start default

on property:sys.powerctl=*
   powerctl ${sys.powerctl}

service ueventd /sbin/ueventd
    critical


service healthd /sbin/healthd -n
    critical


service recovery /sbin/recovery

service adbd /sbin/adbd recovery
    disabled
    socket adbd stream 660 system system


# Always start adbd on userdebug and eng builds
on property:ro.debuggable=1
    write /sys/class/android_usb/android0/enable 1
    start adbd

# Restart adbd so it can run as root
on property:service.adb.root=1
    write /sys/class/android_usb/android0/enable 0
    restart adbd
    write /sys/class/android_usb/android0/enable 1


2.adbd默认console为/system/bin/sh,添加fstab.recoverymode(mount_all命令支持可参考system/core/init/keywords.h)
    挂载system分区
    on fs
    mount_all /fstab.recoverymode
    
    fstab.recoverymode内容:(不同平台有所差异
    /dev/block/platform/15740000.dwmmc0/by-name/system /system ext4 ro wait

3.make recoveryimage
阅读(5178) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~