Desde Android 4.2.2, [la depuración de USB requiere autenticación], algo que no es posible durante el arranque. Para deshabilitar esto, establezca la siguiente propiedad en default.prop (dentro de initrd):
ro.adb.secure=0
Alternativamente, copie ~/.android/adbkey.pub
en el disco RAM inicial de la imagen de arranque / recuperación en /adb_keys
. Esto preserva la característica segura mientras le otorga acceso clave.
Esto habilita adbd por un corto tiempo. Parece que se está configurando algún proceso sys.usb.config=mtp
. Para evitar eso, apliqué este parche (quizás solo la start adbd
parte es necesaria, solo he probado lo siguiente):
--- init.smdk4x12.usb.rc 2013-10-24 18:47:34.894857300 +0200
+++ init.smdk4x12.usb.rc 2013-10-24 18:47:40.775493943 +0200
@@ -12,10 +12,11 @@
on property:sys.usb.config=mtp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
- write /sys/class/android_usb/android0/idProduct 685c
- write /sys/class/android_usb/android0/functions ${sys.usb.config}
+ write /sys/class/android_usb/android0/idProduct 6860
+ write /sys/class/android_usb/android0/functions ${sys.usb.config},adb
write /sys/class/android_usb/android0/enable 1
- setprop sys.usb.state ${sys.usb.config}
+ start adbd
+ setprop sys.usb.state ${sys.usb.config},adb
on property:sys.usb.config=mtp,adb
write /sys/class/android_usb/android0/enable 0
No podrá obtener root ( su
) a través de esto. Para eso, establezca:
ro.secure=0
La actualización del bloque initramfs, el campo de encabezado initramfs y la ID SHA1 (encabezado) de boot.img no están en el alcance de esta respuesta.