Desde o Android 4.2.2, [a depuração USB requer autenticação], algo que não é possível durante a inicialização. Para desativar isso, defina a seguinte propriedade em default.prop (dentro do initrd):
ro.adb.secure=0
Como alternativa, copie ~/.android/adbkey.pub
no ramdisk inicial da imagem de inicialização / recuperação em /adb_keys
. Isso preserva o recurso seguro enquanto concede seu acesso à chave.
Isso permite adbd por um curto período de tempo. Parece que algum processo está se pondo sys.usb.config=mtp
. Para contornar isso, apliquei este patch (talvez apenas a start adbd
parte seja necessária, testei apenas o abaixo):
--- 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
Você não será capaz de obter root ( su
) através disso. Para isso, defina:
ro.secure=0
A atualização do bloco initramfs, o campo do cabeçalho initramfs e o ID SHA1 (cabeçalho) do boot.img não estão no escopo desta resposta.