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.