Làm cách nào tôi có thể kích hoạt adbd trong khi khởi động trên Cyanogenmod?


8

Tôi bị kẹt trong quá trình khởi động, lúc đầu trước khi nhập cụm mật khẩu cho /datavà bây giờ tại màn hình PIN của SIM. Tại thời điểm này, adb không thể truy cập (thông thường adbd sẽ khởi động sau khi mở khóa /data, v.v.).

Làm thế nào tôi có thể bắt đầu adbdtrong khi khởi động? Đây là bản dựng userdebug CM 10.2 cho i9300 với /default.prop(từ initrd) có chứa:

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

Tôi cũng đã thử những cách sau nhưng không có kết quả:

  • Chỉnh sửa /init.rc, nhận xét ra disableddòng cho service adbd.
  • Chỉnh sửa /init.smdk4x12.usb.rc, thêm start adbdvào property:sys.usb.config=mtpkích hoạt.
  • Thêm persist.sys.usb.config=adbvào/default.prop

có ai có được điều này để làm việc? Tôi có một nexus 10 và tôi đang cố gắng duy trì gỡ lỗi usb sau khi thiết lập lại thiết bị, nhưng nó yêu cầu xác thực RSA. Làm thế nào tôi có thể loại bỏ điều đó? tôi đang cố gắng làm tất cả điều này mà không cần chạm vào thiết bị. giống như chạy tập lệnh để thiết lập lại máy tính bảng, sau khi gỡ lỗi cài đặt lại USB vẫn được bật và không có rsa bật lên crap..vậy tôi có thể tiếp tục thực thi tập lệnh của mình ...
dave

Câu trả lời:


5

Kể từ Android 4.2.2, [gỡ lỗi USB yêu cầu xác thực], điều không thể xảy ra trong quá trình khởi động. Để tắt tính năng này, đặt thuộc tính sau trong default.prop (bên trong initrd):

ro.adb.secure=0

Hoặc, sao chép ~/.android/adbkey.pubvào ramdisk ban đầu của hình ảnh khởi động / phục hồi tại /adb_keys. Điều này bảo tồn tính năng bảo mật trong khi cấp quyền truy cập chính của bạn.

Điều này cho phép adbd trong một thời gian ngắn. Có vẻ như một số quá trình đang thiết lập sys.usb.config=mtp. Để khắc phục điều đó, tôi đã áp dụng bản vá này (có lẽ chỉ cần start adbdmột phần là cần thiết, tôi chỉ thử nghiệm phần bên dưới):

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

Bạn sẽ không thể lấy root ( su) thông qua điều này. Cho rằng, đặt:

ro.secure=0

Cập nhật khối initramfs, trường tiêu đề initramfs và ID SHA1 (tiêu đề) của boot.img không nằm trong phạm vi của câu trả lời này.


Trên dòng dõi hiện đại, điều này được tự động thực hiện cho bạn với các engbản dựng biến thể, vd brunch lineage_us996-eng.
phs

0

Sử dụng một lệnh đơn giản này để đi mà không bị mắc kẹt!

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

Đang chờ phản hồi của bạn!


1
Điều này sẽ không hoạt động trong khi khởi động (ví dụ trước khi mã hóa ổ đĩa được mở khóa), mặc dù nó có thể hoạt động khi Android bắt đầu khởi động.
Lekensteyn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.