Come posso abilitare adbd durante l'avvio su Cyanogenmod?


8

Sono bloccato durante il processo di avvio, prima prima di inserire la passphrase per /datae ora nella schermata PIN SIM. A questo punto, adb è inaccessibile (normalmente adbd si avvia dopo lo sblocco /data, ecc.).

Come posso iniziare adbddurante l'avvio? Questa è una build userdebug di CM 10.2 per i9300 con /default.prop(da initrd) contenente:

ro.adb.secure=1
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=1
persist.sys.usb.config=mtp,adb

Ho anche provato quanto segue inutilmente:

  • Modifica /init.rc, commenta la disabledriga per service adbd.
  • Modifica /init.smdk4x12.usb.rc, aggiungi start adbdal property:sys.usb.config=mtptrigger.
  • Aggiungi persist.sys.usb.config=adba/default.prop

qualcuno l'ha fatto funzionare? ho un Nexus 10 e sto cercando di mantenere il debug USB dopo il ripristino del dispositivo, ma richiede l'autenticazione RSA. come posso rimuoverlo? Sto provando a fare tutto questo senza toccare il dispositivo. come eseguire uno script per ripristinare il tablet, dopo il suo ripristino il debug USB è ancora abilitato e nessuna rsa pop up schifezza ... così posso continuare la mia esecuzione dello script ...
Dave,

Risposte:


5

A partire da Android 4.2.2, [il debug USB richiede l'autenticazione], cosa impossibile durante l'avvio. Per disabilitarlo, imposta la seguente proprietà in default.prop (dentro initrd):

ro.adb.secure=0

In alternativa, copia ~/.android/adbkey.pubnel ramdisk iniziale dell'immagine di avvio / ripristino in /adb_keys. In questo modo viene preservata la funzione sicura mentre si garantisce l'accesso alla chiave.

Ciò consente adbd per un breve periodo. Sembra che sia in corso un processo sys.usb.config=mtp. Per ovviare a questo, ho applicato questa patch (forse start adbdè necessaria solo la parte, ho testato solo il seguito):

--- 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

Non sarai in grado di ottenere root ( su) attraverso questo. Per questo, imposta:

ro.secure=0

L'aggiornamento del blocco initramfs, il campo dell'intestazione initramfs e l'ID SHA1 (intestazione) di boot.img non rientrano nell'ambito di questa risposta.


Sul lignaggio moderno, questo viene fatto automaticamente per te con engbuild varianti, ad es brunch lineage_us996-eng.
phs,

0

Usa questo semplice comando per iniziare senza bloccarti!

# setprop persist.sys.usb.config mtp,adb

Aspettando la tua risposta!


1
Questo non funzionerà durante l'avvio (ad es. Prima che la crittografia del disco sia sbloccata), anche se potrebbe diventare attiva all'avvio di Android.
Lekensteyn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.