Wie kann ich adbd beim Booten auf Cyanogenmod aktivieren?

8

Ich stecke während des Startvorgangs fest, bevor ich die Passphrase für /dataund jetzt auf dem SIM-PIN-Bildschirm eingebe. Zu diesem Zeitpunkt ist auf adb nicht zugegriffen (normalerweise wird adbd nach dem Entsperren /datausw. gestartet ).

Wie kann ich adbdbeim Booten starten ? Dies ist ein CM 10.2 Userdebug Build für i9300 mit /default.prop(von initrd), der Folgendes enthält:

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

Ich habe auch Folgendes ohne Erfolg versucht:

  • Bearbeiten /init.rc, die disabledZeile für auskommentieren service adbd.
  • Bearbeiten /init.smdk4x12.usb.rc, start adbdzum property:sys.usb.config=mtpTrigger hinzufügen .
  • Hinzufügen persist.sys.usb.config=adbzu/default.prop
Lekensteyn
quelle
Hat jemand das zum Laufen gebracht? Ich habe ein Nexus 10, und ich versuche, das USB-Debugging aufrechtzuerhalten, nachdem das Gerät zurückgesetzt wurde, aber es fragt nach RSA-Authentifizierung. Wie kann ich das entfernen? Ich versuche das alles zu tun, ohne das Gerät zu berühren. Wie ein Skript ausführen, um das Tablet zurückzusetzen, nachdem das Zurücksetzen des USB-Debugging noch aktiviert ist und kein RSA-Popup-Mist mehr vorhanden ist. Also kann ich meine Skriptausführung fortsetzen ...
Dave

Antworten:

5

Seit Android 4.2.2 ist [USB-Debugging eine Authentifizierung erforderlich], was beim Booten nicht möglich ist. Um dies zu deaktivieren, legen Sie die folgende Eigenschaft in default.prop (innerhalb von initrd) fest:

ro.adb.secure=0

Alternativ können Sie unter ~/.android/adbkey.pubauf die ursprüngliche Ramdisk des Boot- / Wiederherstellungs-Images kopieren /adb_keys. Dadurch bleibt die sichere Funktion erhalten, während Sie Ihren Schlüsselzugriff gewähren.

Dies ermöglicht adbd für kurze Zeit. Es scheint, dass ein Prozess eingestellt wird sys.usb.config=mtp. Um dies zu umgehen, habe ich diesen Patch angewendet (möglicherweise ist nur das start adbdTeil erforderlich, ich habe nur das Folgende getestet):

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

Sie werden nicht in der Lage sein, root ( su) dadurch zu bekommen . Stellen Sie dazu Folgendes ein:

ro.secure=0

Das Aktualisieren des initramfs-Blocks, des initramfs-Headerfelds und der SHA1-ID (Header) der Datei boot.img ist nicht Gegenstand dieser Antwort.

Lekensteyn
quelle
Bei modernen Linien wird dies automatisch für Sie mit engVarianten-Builds durchgeführt, z brunch lineage_us996-eng.
Phs
0

Verwenden Sie diesen einfachen Befehl, um loszulegen, ohne stecken zu bleiben!

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

Erwarte deine Antwort!

Maahi
quelle
1
Dies funktioniert während des Startvorgangs nicht (z. B. bevor die Festplattenverschlüsselung entsperrt wird), kann jedoch aktiv werden, sobald Android gestartet wird.
Lekensteyn