Can someone who has an Essential Phone (PH-1) upload a zip of the system dump. Run the command below in ADB to pull the dump (no root required):
Code:
adb pull /system PH1_system_dump
The dump will be pulled to a folder called "PH1_system_dump". Zip and upload that folder so we can begin development on this device.
I just tried...it stopped at 18% with the following message:
adb: error: failed to copy '/system/vendor/firmware/msadp' to 'PH1_system_dump/system/vendor/firmware/msadp': remote open failed: Permission denied
cabegol said:
I just tried...it stopped at 18% with the following message:
adb: error: failed to copy '/system/vendor/firmware/msadp' to 'PH1_system_dump/system/vendor/firmware/msadp': remote open failed: Permission denied
Click to expand...
Click to collapse
Try to pull like this:
Code:
adb pull /system/app PH1_system_apps
Code:
adb pull /system/priv-app PH1_system_priv_app
Code:
adb pull /system/framework PH1_system_framework
Code:
adb pull /system/media PH1_system_media
Code:
adb pull /system/etc PH1_system_dump_etc
Shawn5162 said:
Try to pull like this:
Code:
adb pull /system/app PH1_system_apps
Code:
adb pull /system/priv-app PH1_system_priv_app
Code:
adb pull /system/framework PH1_system_framework
Code:
adb pull /system/media PH1_system_media
Code:
adb pull /system/etc PH1_system_dump_etc
Click to expand...
Click to collapse
Here you go, this is off of the newest update, NMJ20D. The zip contains only system apps, priv_system apps, framework, and media.
Extracting /system/etc gave me this error, may be an error on my side but I'm not sure:
Code:
adb: error: cannot create 'PH1_system_etc\firmware\TFA9891.cnt': No such file or directory
I tried a workaround (specifying a folder rather than extracting to root), and it ended with this:
Code:
adb: error: failed to copy '/system/etc/firmware/wlan/qca_cld/wlan_mac.bin' to 'C:\Users\bmg10\Documents\dump\etc\firmware\wlan\qca_cld\wlan_mac.bin': open failed: Permission denied
DOWNLOAD
bmg1001 said:
Here you go, this is off of the newest update, NMJ20D. The zip contains only system apps, priv_system apps, framework, and media.
Extracting /system/etc gave me this error, may be an error on my side but I'm not sure:
Code:
adb: error: cannot create 'PH1_system_etc\firmware\TFA9891.cnt': No such file or directory
I tried a workaround (specifying a folder rather than extracting to root), and it ended with this:
Code:
adb: error: failed to copy '/system/etc/firmware/wlan/qca_cld/wlan_mac.bin' to 'C:\Users\bmg10\Documents\dump\etc\firmware\wlan\qca_cld\wlan_mac.bin': open failed: Permission denied
DOWNLOAD
Click to expand...
Click to collapse
Without root and factory images, I think this is the best we'll be able to get via ADB. This should be enough for a starting point though. Thanks for your help
Shawn5162 said:
Here you go, this is off of the newest update, NMJ20D. The zip contains only system apps, priv_system apps, framework, and media.
Extracting /system/etc gave me this error, may be an error on my side but I'm not sure: I tried a workaround (specifying a folder rather than extracting to root), and it ended with this:
Without root and factory images, I think this is the best we'll be able to get via ADB. This should be enough for a starting point though. Thanks for your help
Click to expand...
Click to collapse
Someone in this thread managed to get the boot.img. I downloaded it and tried rooting it with Magisk but it didn't work. He already has TWRP and Lineage but they're still unreleased as its being worked on. I can't try the boot image anymore since I'm on the newest update and the image posted was for the previous update.
https://forum.xda-developers.com/essential-phone/help/bootloader-root-t3695583/page3
You need root to get actual dumps. Our TWRP is still only usable via adb since they're loading touchscreen firmware in userspace via a daemon that doesn't want to run without the rest of android up, otherwise we'd have released something.
We have dumps of the latest OTA (NMJ20D) already. If anyone is interested in contributing or following development of this device (TWRP/Lineage/etc) here's a link to our discord: https://discord.gg/DTtY2nb
Look on the post below the guy already pulled the zip file already. I pushed it to my device via adb.
invisiblek said:
You need root to get actual dumps. Our TWRP is still only usable via adb since they're loading touchscreen firmware in userspace via a daemon that doesn't want to run without the rest of android up, otherwise we'd have released something.
We have dumps of the latest OTA (NMJ20D) already. If anyone is interested in contributing or following development of this device (TWRP/Lineage/etc) here's a link to our discord: https://discord.gg/DTtY2nb
Click to expand...
Click to collapse
is the touchscreen daemon the last piece of the TWRP puzzle? Can it be manipulated with vol + - and power buttons?
Related
The focus of this thread is to sort out the Apps2SD issue in cyanogenmod-darch 2.1 ROM (like the title says). Please do not post here unless it relates to this issue.
That being said, here is where I was at in the original darchstar 2.1 thread:
watzone69 said:
Taken from the instructions darchstar gave in the first post of his thread...
Code:
adb remount
adb push e2fsck /system/bin
adb shell
cd /system/bin
chmod a+x e2fsck
a2sd
reboot
First, the "chmod a+x e2fsck" command doesn't work for me (EDIT: I discovered that it WILL work in recovery mode). I had to use "chmod 777 e2fsck". After entering "a2sd" it gets enabled. After rebooting, apps2SD is NOT enabled anymore. I realized this by doing this test:
Code:
adb shell
cd /data/app
pwd
If your apps2sd is enabled, you will get "/system/sd/app" returned to you.
If you get "/data/app" returned instead then apps2sd is NOT enabled!
Click to expand...
Click to collapse
Gbhil then replied...
gbhil said:
After you restart, can you re-enable a2sd by running a2sd from a terminal as root?
If so, do all your apps still appear and are they usable?
If the above is true, try adding this to the end of gumbo.sh
Code:
su -C a2sd
for a quick fix.
Start a thread (to keep things less cluttered) about it and I'll help you guys dig into the boot image and see why it's not sticking.
Click to expand...
Click to collapse
So, I rebooted and tried to run "a2sd" from the android terminal but it spits out a long string of errors:
Code:
--- Checking ext filesystems
e2fsck 1.41.6 (30-May-2009)
ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab file while determining whether /dev/block/mmcblk0p2 is mounted.
/dev/block/mmcblk0p2: clean, 13/249856 files, 31387/499713 blocks
mount: permission denied. (are you root?)
chown: /system/sd: Read-only file system
chmod: /system/sd: Read-only file system
mkdir failed for /system/sd/app, Read-only file system
chown: /system/sd/app: No such file or directory
chmod: /system/sd/app: No such file or directory
cp: cannot create '/system/sd/app/android.tether.apk': No such file or directory
cp: cannot create '/system/sd/app/android.tether.usb.apk': No such file or directory
cp: cannot create '/system/sd/app/at.abraxas.mountusb.apk': No such file or directory...
(etc.)
...rm: cannot remove '/data/app/org.gmote.client.android.apk': Permission denied
rm: cannot remove '/data/app/org.hermit.substrate.apk': Permission denied
rm: cannot remove '/data/app/org.iplatform.android.apk': Permission denied
rm: cannot remove '/data/app/org.mikeyin.livewallpaper.apk': Permission denied
mkdir failed for /system/sd/app-private, Read-only file system
chown: /system/sd/app-private: No such file or directory
chmod: /system/sd/app-private: No such file or directory
cp: can't open '/data/app-private/com.android.aldiko.apk': Permission denied
cp: can't open '/data/app-private/com.protocol.x.su.fbs.apk': Permission denied
cp: can't open '/data/app-private/com.rerware.android.MyBackupPro.apk': Permission denied
rm: cannot remove '/data/app-private/com.android.aldiko.apk': Permission denied
rm: cannot remove '/data/app-private/com.protocol.x.su.fbs.apk': Permission denied
rm: cannot remove '/data/app-private/com.rerware.android.MyBackupPro.apk': Permission denied
ln: /data/app/app: Permission denied
ln: /data/app-private/app-private: Permission denied
+++ Apps-to-SD successfully enabled
So, there is no "app" or "app-private" in the "system/sd". Is a2sd supposed to generate those directories or are they supposed to be there before hand?
Anyway, the result is that I lose all of my shortcuts to the apps and market shows them as not installed even though they are.
BTW, I am not a dev or even that great at code or linux but I can usually pick stuff up fairly quickly. Just want to help fix this!
EDIT: The only thing I have found to work is to flash this kernel:
http://forum.xda-developers.com/showpost.php?p=5712377&postcount=1406
However, some people get stuck in a boot loop after flashing this.
Running into the same issues as Watzone so I can confirm that he is doing it correctly. =P
Here are all of the related commands that have been suggested whenever the question of apps2sd has come up in the darchstar 2.1 thread.
Code:
adb remount
adb shell
mkdir /system/sd
Code:
adb remount
adb shell
busybox --install /system/xbin
a2sd
Code:
cd C:\android-sdk-windows\tools
adb remount
adb shell
chown system.system /data/app
chmod 0771 /data/app
For the next command, boot into recovery and do the following:
Code:
adb shell
mount /system
exit
adb push e2fsck /system/bin
adb shell
cd /system/bin
chmod 777 e2fsck
Now, boot normally and go back to your CMD prompt...
Code:
adb remount
adb shell
a2sd
EDIT: In other threads I have seen the command...
Code:
apps2sd on
...used to enable apps2sd.
Doing all of these WILL allow the final "a2sd" command to enable (testing with the "pwd" command) but it all goes KAPUT after a reboot.
why it's not being enabled at boot time is because the init.rc isn't calling /system/etc/init.d/04apps2sd . I'll be sure that we fix that in my next release
And there you go.
It works here, but now I know why. I'm still using an old version of the boot image that looks for /system/bin/a2sd to load it, and an older version of the ROM. No sense in me to keep flashing fixes until I'm done tweaking the kernel. When darch says the kernel is good, then I'll catch up lol.
We might as well use this thread to learn to play with the boot image though, that is if you guys want to.
Awesome can't wait for the next release then! Lotsa apps out there calling out to me! Thanks guys =)
gbhil said:
We might as well use this thread to learn to play with the boot image though, that is if you guys want to.
Click to expand...
Click to collapse
You bet. It's about time I got my hands dirty.
I'm game let me know if you need me to test anything!
Cool deal. You need Linux to extract and compress the boot.img, and you need to be current with Perl and running jre5 or higher.
Ubuntu 9.04+ is set up out of the box, but any version can be made to work.
Then grab these files from Lox -
http://forum.xda-developers.com/attachment.php?attachmentid=231902&d=1254004933
http://forum.xda-developers.com/attachment.php?attachmentid=234040&d=1254622769
and extract them into your sdk/tools dir. (or any dir in your path)
get all that, then pick a boot.img from a rom and put it in a work folder.
Holler when you get that far, or if you have any q's.
I wanna learn myself. This should apply to mac os as well?
I have Mint on another machine. Gimme a bit to get caught up...
david279 said:
I wanna learn myself. This should apply to mac os as well?
Click to expand...
Click to collapse
Darwin might work. Never tried
watzone69 said:
I have Mint on another machine. Gimme a bit to get caught up...
Click to expand...
Click to collapse
np. I'm @work so going slow is better anyway lol.
ok i just ran the files in terminal. so i guess it might work.
I'm back
Inisde the work folder you dropped the boot.img into, run this from a term:
extract-kernel.pl boot.img
extract-ramdisk.pl boot.img
it will give you several files and a new directory. That dir is the unpacked ramdisk. The init.rc file is the one we're looking for. Open it with a Unicode editor and read it. It has it's own syntax, but it's almost like bash and not too hard to figure out. Hopefully you loaded a bootimg that has a2sd in it. Look near the bottom of the file for the a2sd start up line. It will have a2sd, apps2sd, a2sd004 or something like that. Once you find it so you can see the name used, search the rest of the file for that name.
Those lines will show you how a service gets declared and called at boot time.
I'm up and running now. I downloaded python 2.6.4. Do I need to install it or just extract it somewhere? Please forgive my linux noobness.
The other 2 zip files are extracted and in my tools folder. I'm getting the boot.img now.
idk if this will work as i too am a newb to android and the way they deal with the boot process is somewhat a bit different from what i'm used to, but heres a new boot.img if you guys want to flash it to see if apps2sd works. note, this is not a zip, remove that suffix.
to flash it to your phone just move the boot image to your sdcard then reboot into recovery. from there go into adb and mount your sdcard, then flash the new boot image.
Code:
adb shell
mount /sdcard
flash_image boot /sdcard/newBoot2.img
reboot
tell me if it fixes your apps2sd problem or not.
watzone69 said:
I'm up and running now. I downloaded python 2.6.4. Do I need to install it or just extract it somewhere? Please forgive my linux noobness.
The other 2 zip files are extracted and in my tools folder. I'm getting the boot.img now.
Click to expand...
Click to collapse
try it without doing anything to Python first....especially since I meant perl
Just try my last post and see if it works for ya. I'll edit my first post
gbhil said:
try it without doing anything to Python first....especially since I meant perl
Just try my last post and see if it works for ya. I'll edit my first post
Click to expand...
Click to collapse
Nope, I got "command not found" both times.
darchstar said:
idk if this will work as i too am a newb to android and the way they deal with the boot process is somewhat a bit different from what i'm used to, but heres a new boot.img if you guys want to flash it to see if apps2sd works. note, this is not a zip, remove that suffix.
to flash it to your phone just move the boot image to your sdcard then reboot into recovery. from there go into adb and mount your sdcard, then flash the new boot image.
Code:
adb shell
mount /sdcard
flash_image boot /sdcard/newBoot2.img
reboot
tell me if it fixes your apps2sd problem or not.
Click to expand...
Click to collapse
Thanks darchstar, I'll try that in a bit.
watzone69 said:
Nope, I got "command not found" both times.
Click to expand...
Click to collapse
you gotta make it executable
inside the directory with the perl scripts do this
Code:
chmod a+x ./
I'm trying to play around with the hosts file through adb. I'm new to android from WinMo and trying to learn a few things but couldn't figure this one out.
when I push a new hosts file with:
Code:
adb push hosts /system/etc/hosts
a few seconds later the evo restarts and reverts back to the old hosts file with only localhost listed in there.
I ran into one tutorial that showed the person booting into recovery mode and moving the hosts file from the sdcard to the etc dir:
Code:
adb shell
mount /system
mount /sdcard
cp /sdcard/hosts /system/etc/hosts
exit
Does the hosts file have to be modified via recovery mode or am I doing something wrong by pushing it?
Any help or input is greatly appreciated.
Incase you dont know yet in the hundreds of post all over the rooting threads system is only writable in recovery. /system is nand locked when the OS is running.
ah ok. thanks.
now I'm a bit confused.
when in recovery mode after invoking
Code:
adb reboot recovery
I can't start a remote shell. I get the following error message:
Code:
D:\adb shell
- exec '/system/bin/sh' failed: No such file or directory (2) -
--EDIT--
Guess I just had to run the batch file toast put together. [http://link.geekfor.me/evorecovery]
So I was performing the Facepalm S-off method and ran into this when I got the push soffbin3 step
-------------------------------------------------
adb push soffbin3 /data/local/tmp
"cannot stat 'soffbin3': No such file or directory"
-------------------------------------------------------------------------
Any idea what that means or what to do from here?
Did you put the file in the folder that contains adb (most likely your platform-tools folder) or change directory to that folder?
panda_mode said:
Did you put the file in the folder that contains adb (most likely your platform-tools folder) or change directory to that folder?
Click to expand...
Click to collapse
yep. the soffbin3.zip file is there.
Do I have to extract it?
Yup you have to extract it lol
panda_mode said:
Yup you have to extract it lol
Click to expand...
Click to collapse
haha!
<----noob
no dice though... I'm still S-ON :/
Did you get the 99 error instead of the 92?
panda_mode said:
Did you get the 99 error instead of the 92?
Click to expand...
Click to collapse
First off - got it work. I'm showing S-off now! :arty::
Yep, had the 99 error. So I rebooted into recovery, wiped cache and dalvik cache - then did a hard power off. Powered on into bootloader.
Then repeated all the steps and got the 92 this time.
The reason why it failed the first time was because I forgot to grant adb su access. Second time around I caught it and granted the permissions request but only on third command of "adb shell su -c...etc"
Does the second command "adb shell chmod 744...etc" need su access to perform correctly? What does that command do anyway.
I'm wondering if the second command needed su, I may have messed something up that won't rear its ugly head until I stumble on it.
I checked the log for su requests and adb only popped up once, which means the "adb shell su -c..." is the only one that needed.
I think I'm in the clear!
To be honest I'm not sure what it does either lol. But I do know the command: adb shell su -c "/data/local/tmp/soffbin3" will contact SU and you have to grant access. Glad you got it, though!
The novel CAT S22 Flip was released in September, and is pretty much the only of its kind. It actually has an unlocked bootloader, and I was excited to try to root it. However, there's no version of TWRP designed specifically for it! Having never rooted anything before, does anyone know my options in this case to get TWRP for this phone? (Or another method of root I'm not aware of would also be fine.) Thanks!
Shoitah said:
The novel CAT S22 Flip was released in September, and is pretty much the only of its kind. It actually has an unlocked bootloader, and I was excited to try to root it. However, there's no version of TWRP designed specifically for it! Having never rooted anything before, does anyone know my options in this case to get TWRP for this phone? (Or another method of root I'm not aware of would also be fine.) Thanks!
Click to expand...
Click to collapse
Hey. I'm in the same boat. I need to add su binary but looks like the only way to do it is with TWRP. Have you succeeded? I keep trying to find a way to do it, so far no luck.
TWRP isn't needed at all to push ( suitable ) SU binary onto Android's filesystem: you achieve this by means of ADB, too
jwoegerbauer said:
TWRP isn't needed at all to push ( suitable ) SU binary onto Android's filesystem: you achieve this by means of ADB, too
Click to expand...
Click to collapse
Sweet!!! How does it look like?
I just tried adb sideload <file.zip> while in recovery mode and i'm getting this
adb: sideload connection failed: closed
adb: trying pre-KitKat sideload method...
adb: pre-KitKat sideload connection failed: closed
When check adb devices its shows that device is unauthorized. But it's only unauthorized in recovery mode.
Actually looks like I have a problem with recovery mode. Instead I'm getting "No command" screen. It's not even getting into recovery
To perform a ADB Sideload - what is used to flash a Stock ROM - phone must get booted into Sideload mode at 1st
Code:
adb devices
adb reboot sideload
adb sideload <STOCK-ROM-ZIP>
adb reboot
Oh cool. Didn't know that I could reboot stratight to sideload and bypass initial recovery menu. Thank you!
As for my previous issue with "No command" error on recovery boot, I managed to resolve it. When It's gets to "No command" screen, you need to hold Power + Volume Down just long enough to tap Volume Up. And then recovery menu will appear. So Press Power + Volume Down and then tap Volume Up.
When I tried to sideload su binary with
Code:
adb sideload <file.zip>
On the mobile screen i'm getting this error
Code:
E:failed to verify whole-file signature. Update package verification took 0.5 s ( result 1)
E:Signature verification failed
E: error: 21
Looks like recovery not allowing to install unsigned packages. Is there a way around it? Do I need to source another su binary or there is a way to sign it?
Ok. I think I'm getting closer to the core issue. I thought that I rooted the device, but I only unlocked the bootloader. So device is not rooted. As per original thread topic, looks like there is still no TWRP yet and boot.img is not accessible to modify. Tried to get boot.img directly from the device, but getting - permission denied.
Any other walkarounds i should try?
SU binary isn't a signed package. It's a ~110KB file you have to push onto Android OS, preferred to /data/local/tmp directory and afterwards have to make it executable.
I've downloaded Chainfire SuperSu Zip packages, unpacked it and got a su file from arm64 folder. As you mentioned, su file is 108.5KB =)
I've pushed it to /data/local/tmp and made it executable
Code:
S22FLIP:/ $ ls -la /data/local/tmp
total 114
drwxrwxrwx 2 shell shell 3488 2022-12-22 09:36 .
drwxr-x--x 4 root root 3488 1970-01-01 12:15 ..
-rwxrwxrwx 1 shell shell 108496 2008-02-29 03:33 su
Maybe I'm missing something, I still get
Code:
S22FLIP:/ $ su
/system/bin/sh: su: inaccessible or not found
You must tell Android where the SU binary is located
Code:
cd /data/local/tmp & su
or
Code:
/data/local/tmp/su
jwoegerbauer said:
You must tell Android where the SU binary is located
Code:
cd /data/local/tmp & su
or
Code:
/data/local/tmp/su
Click to expand...
Click to collapse
Hi. I am trying to root the phone. I tried with QFIL to get the boot.img file with no luck.... I am trying now with su. I put the su binary where you said and execute it.
Now what should I do? If you can help me, I will be grateful
IMO you can't root a phone ( a conglomerat of hardware pieces ) but only enable Android OS to run system commands as root ( will say with elevated rights if those are required ) by means of su.
Knowing this you would open a terminal window in Android and type out
Code:
<FULLPATH-TO-SU-BINARY-HERE>/su -c "<SHELL-COMMAND-THAT-REQUIRES-ELEVATED-RIGHTS-HERE>"
Example:
Code:
/data/local/tmp/su -c "mount -o remount,rw -t auto /system"
jwoegerbauer said:
IMO you can't root a phone ( a conglomerat of hardware pieces ) but only enable Android OS to run system commands as root ( will say with elevated rights if those are required ) by means of su.
Knowing this you would open a terminal window in Android and type out
Code:
<FULLPATH-TO-SU-BINARY-HERE>/su -c "<SHELL-COMMAND-THAT-REQUIRES-ELEVATED-RIGHTS-HERE>"
Example:
Code:
/data/local/tmp/su -c "mount -o remount,rw -t auto /system"
Click to expand...
Click to collapse
Doesn't work. It looks like the su binary doesn't grant system commands root
I really don't know what to do......
I forced stopped com.android.externalstorage and deleted it's data. Now I can't access my data (photos, videos and such).
I've rebooted the device, refreshed the package via Package Manager, but nothing seems to work.
Can someone help? I can try ADB commands if necessary.
Hadron001 said:
I forced stopped com.android.externalstorage and deleted it's data. Now I can't access my data (photos, videos and such).
Click to expand...
Click to collapse
Under "special app access" settings in your phone look for "all files access" open it and then click the menu button and hit show system. Then find external storage and make sure it is enabled.
Didn't work unfortunately. Using a file manager, I can see everything in Root, but Internal remains completely empty, not even folders.
Could it be a permission issue, or can I mount / unmount the folder?
Using adb shell, su, managed to get into /data/media/0. It has all my personal files! But after creating the tars of the folders, pull command doesn't work:
Code:
adb pull DC.tar \Temp
/system/bin/sh: adb: inaccessible or not found
Click to expand...
Click to collapse
Code:
adb pull /data/media/0/DC.tar C:\Temp
adb: error: failed to stat remote object '/data/media/0/DC.tar': Permission denied
Click to expand...
Click to collapse
adb isn't an Android shell command, it's a Windows PC command line tool, that preferedly is systemwide-accessibly installed.
move file to location adb shell can access
Code:
# mv /data/media/0/DC.tar /data/local/tmp
# chown 2000.2000 /data/local/tmp/DC.tar
Code:
C:\Temp> adb pull /data/local/tmp/DC.tar
Thank you both, my useless but sentimental pics are saved!