Credits to @TheOnlyAnil-@Firelord1
-
Requirements: a) stock recovery + rooted phone b) custom recovery
-
Files changed:
- /system/build.prop
- /data/property/persist.sys.usb.config
- /data/misc/adb/adb_keys
same as "Settings >> Developer Opcions >> USB debugging" ON
- Connect the device to Mac or PC in recovery mode.
- Now open terminal/CMD in computer and go to platform-tools/. type and enter
adb devices
to check if the device is connected in recovery mode. - Now type
adb shell mount data
andadb shell mount system
to mount the respective directories. - Get the persist.sys.usb.config file in your system using
adb pull /data/property/persist.sys.usb.config /Your directory
- Now open that file in a texteditor and edit it to
mtp,adb
and save. - Now push the file back in the device;
adb push /your-directory/persist.sys.usb.config /data/property
- Get the build.prop file;
adb pull /system/build.prop /your-directory
- Add these lines:
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
- Push build.prop back into the device;
adb push /your-dir/build.prop /system/
adb shell
mount data
echo -n 'mtp,adb' > /data/property/persist.sys.usb.config
Verify options are not present before do it: adb shell "grep 'persist.service.adb.enable' /system/build.prop"
adb shell
mount system
echo '' >> /system/build.prop
echo '# Enable ADB' >> /system/build.prop
echo 'persist.service.adb.enable=1' >> /system/build.prop
echo 'persist.service.debuggable=1' >> /system/build.prop
echo 'persist.sys.usb.config=mtp,adb' >> /system/build.prop
For the RSA verification that you asked to bypass, I don't know whether it would work in your device, but it worked in my little experiment. In Lollipop, the ADB keys (after authorization) are saved in /data/misc/adb/adb_keys. Your private key is saved in computer. In Linux the directory location is $HOME/.android/. On Windows that usually translates to %USERPROFILE%.android, but keys might end up in C:\Windows\System32\config\systemprofile.android in some cases.
adb push ~/.android/adbkey.pub /data/misc/adb/adb_keys
I recently broke the screen on my Galaxy S5 (klte) which runs LineageOS 18.1. I can see that the phone is connected with
adb devices
. When I tryadb shell mount data
I get the error of "mount: can't read '/etc/fstab': No such file or directory". I did aadb shell ls -R / >tree.txt
and took a look in it. Under "/etc" there's only "mke2fs.conf" and "recovery.fstab". "/data" seems to be empty. I don't have a clue how to move on from here. Does anyone have an idea?