Removing hard links & /system/bin/ command options - XPERIA X10 Android Development

1) How do I remove hard linked files on the X10 Android file system? I also need to identify them with the "ls" command, but it doesn't work the same as linux by listing the count in the ls listing of hard links to a specific file. The reason is, when I try to move a file in /system/app, it tells me it failed due to cross-device link - likely because the OS knows the link will fail if I move the file to my /sdcard directory. I want to remove the hard-link.
2) Is there a listing of all the options available to the commands in the /system/bin directory? It seems the ls command, for example, is a stripped down version of the ls that comes with linux.
Thanks.

what method are you using to move the files in system/app? you should be able to move them using root explorer, or copy out using dd if= of= statements then rm, the xperia system does not seem to like cp and mv commands

I'm using:
Code:
mv /system/app/Facebook.apk /sdcard/backup/system/app
...it fails. A dd works, because it just does a block copy and doesn't move the file. I'll try moving it with Root Explorer.
I'd prefer an actual command instead of using an app on the phone, as I've connected the phone to my PC with the USB cable and using adb.exe.
FYI, I tried Root Explorer, for some reason it can move the file just fine! My phone is rooted and I'm running the adb shell with super-user access.

use this:
busybox ls -l
busybox cp
busybox mv
Or even better, use "busybox --install /system/bin" and let it install all the symlinks for you
aln688 said:
I'm using:
Code:
mv /system/app/Facebook.apk /sdcard/backup/system/app
...it fails. A dd works, because it just does a block copy and doesn't move the file. I'll try moving it with Root Explorer.
I'd prefer an actual command instead of using an app on the phone, as I've connected the phone to my PC with the USB cable and using adb.exe.
FYI, I tried Root Explorer, for some reason it can move the file just fine! My phone is rooted and I'm running the adb shell with super-user access.
Click to expand...
Click to collapse

biktor_gj said:
use this:
busybox ls -l
busybox cp
busybox mv
Or even better, use "busybox --install /system/bin" and let it install all the symlinks for you
Click to expand...
Click to collapse
Thanks for the tip, you've just explained what busybox is. I always wondered why Titanium Backup wanted Busybox for it to run properly. I'll try these commands out.
UPDATE: Nice, I get VI as well! I was wanting that. I got fedup editing a file on the PC and pushing it back to the phone. Thanks.

Related

Rock & a hard place with Superuser

Edit: Im stuck. I cannot root my phone because something is wrong with Superuser.apk, and I can't uninstall superuser because I can't get root. And if I try to install Superuser it just fails because it's already in there. So I have no idea what to do now, I need to return this phone to the Verizon store and I can't get the Superuser app off the phone. Any ideas?
http://ip208-100-42-21.static.xda-developers.com/showthread.php?p=6978379
should work. I did this to upgrade from market the version that came with the lag fix from the market.
I couldn't get that to work..
What happens when you adb shell into the device, and do 'su'. If you get a # prompt, you have root.
You don't need Superuser.apk to have root access. You can always run the rage.bin process to get a root shell. From there you should be able to at least rename Superuser.apk to something like Superuser.apk.old.
Yeah, I can type su and get the # prompt. Is this what runs the rage.bin:
adb shell
cd /data/local/tmp
chmod 0755 rage.bin
./rage.bin
?
Sorry, Im new to the ADB process. How would I go about renaming? I wanted to use something like root explorer to find the file and remove or rename it, but I can't get any root apps to work. Obviously because Superuser doesnt function I don't get permission prompt. Root explorer either crashes or says to restart to get the permission prompt.
GHII said:
Yeah, I can type su and get the # prompt. Is this what runs the rage.bin:
adb shell
cd /data/local/tmp
chmod 0755 rage.bin
./rage.bin
?
Sorry, Im new to the ADB process. How would I go about renaming? I wanted to use something like root explorer to find the file and remove or rename it, but I can't get any root apps to work. Obviously because Superuser doesnt function I don't get permission prompt. Root explorer either crashes or says to restart to get the permission prompt.
Click to expand...
Click to collapse
If you can do "su" and get the # prompt, forget about rage.bin. You have root access, it's just Superuser that's screwed up.
go to your # prompt and do the following
cd /system/app
mv Superuser.apk Superuser.apk.old
See if that gets you any further as far as being able to re-install
I appreciate your help more than you know, really, thanks. I tried that and I get 'failed on 'Superuser.apk' - No such file or directory. Can it be installed anywhere else, like in a temporary directory?
When I try adb install Superuser.apk it starts to then says:
pkg: /data/local/tmp/Superuser.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS]
So I tried what you just mentioned but using the above directory:
#
cd /data/local/tmp
mv Superuser.apk Superuser.apk.old
and it didn't give me any errors, just the #..but when I went and tried to install Superuser again I got the same error as above.
Ok, new update! I remember someone asking me to do ls in adb shell to get a list of what's in there..so, I did that with /system/app and I got a list...at the very bottom of the list was superuser.apk..this whole time i've been messing with Superuser.apk, a capital S. So, I used your mv method on the lower case version, seemed to work..but when I did adb install Superuser.apk I get Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
Didn't work but I feel Im getting closer
Wow, i just happen to look and the superuser app was no longer showing up in my apps..problem solved. Thanks again for everyone's help in this thread and others.

[Q] Rooted or not?

Hi, I rooted my Vribrant, both ways (manually and with one click root). I installed terminal emulator. I tried the su command to check if I am root. The # appears normally. However I tried deleting a file with Root explorer, inside the system folder, and when I get back it's still there. I also tried deleting it manually from Terminal EMulator with these commands:
su
cd system/apps
rm Swype.apk
and I get this:
rm failed for Swype.apk, Read-only file system
I also tried:
su rm Swype.apk
and this is returned:
Permission denied.....
I also tried the exact same thing from adb shell (which I had to allow in superuser permissions program), but it gave me the exact same results. What's wrong? Am I doing something wrong? Thanks
In root explorer, try hitting the r/w button at the top and see if that works.
Sent from my SGH-T959 using XDA App
I know about the button. The strange thing is that inside system folder it grands me r/w permissions, and no matter how many times a press the r/o button it doesn't change. Still gives the results I said. However, besides root Explorer what's wrong with terminal emulator and adb?
I'm not 100% sure how to mount as root in adb. I wish I knew myself heh.
Did any of those root methods install the superuser app?
Sent from my SGH-T959 using XDA App
Terminal Emulator should return a "#" after typing "su"
Sent from my SGH-T959 using Tapatalk
From a terminal write
adb root. (will give root)
adb remount. (will remount system as r/w)
adb shell cp /system/app/swype.apk /system/app/swype.apk.bak
Adb shell rm /system/app/swype.apk
This link is what i used to use to gain rw permissions
http://android-tricks.blogspot.com/2009/01/mount-filesystem-read-write.html
Alternatively from terminal on the phone type
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
Assuming your sys partition is mntblock3
Sent from Conical. 07
rbirg said:
I'm not 100% sure how to mount as root in adb. I wish I knew myself heh.
Did any of those root methods install the superuser app?
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
Yes both methods installed the "Superuser Permission" app.
I7oobie said:
Terminal Emulator should return a "#" after typing "su"
Sent from my SGH-T959 using Tapatalk
Click to expand...
Click to collapse
It does normally.
linuxmotion said:
From a terminal write
adb root. (will give root)
adb remount. (will remount system as r/w)
adb shell cp /system/app/swype.apk /system/app/swype.apk.bak
Adb shell rm /system/app/swype.apk
This link is what i used to use to gain rw permissions
http://android-tricks.blogspot.com/2009/01/mount-filesystem-read-write.html
Alternatively from terminal on the phone type
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
Assuming your sys partition is mntblock3
Sent from Conical. 07
Click to expand...
Click to collapse
I tried the first method but it didn't work. When I entered adb root, it said "adbd cannot run as root in production builds". I searched a bit and found that I must have a rooted kernel for this to work. (I guess it's different from the root method I tried in "how to root vibrant").
Anyway the second way worked, where i replaced mntblock3 with stl9 for my phone. I tried the rm command and it worked! However as soon as I exited terminal, I couldn't delete other files. I had to retype the command. I can't do this everytime I need access in System folder. Why is this happenning? Does this have something to do with the fact that root explorer cannot change r/w to r/o mode while in system folder?
what if you open Superuser
Click on Root Explorer.
Click on Forget.
Open Root Explorer and grant Root Access and check to remember it.
work now?
Moved to Q&A, please post in the correct section.
s15274n said:
what if you open Superuser
Click on Root Explorer.
Click on Forget.
Open Root Explorer and grant Root Access and check to remember it.
work now?
Click to expand...
Click to collapse
No it didn't work. I also installed the latest version of SuperUser 2.3.6.1. But without a difference unfortunately.
What works for me, is installing sgs tools, and whenever I want to do write operations on system folder, run the appropriate script from sgs and then use root explorer......
Although I think there's something wrong? Why doesn't the mount r/w button work in root explorer, and why do I have to remount the file system through SGS tools, every time for it to work?
makes no sense to me either. Have you uninstalled RE and the installed it back granting root once reinstalled?
Yes several times.....
I am giving up. I just have to go through the whole process every time. I found some other people having this issue. I am on stock JI6 firmware. Maybe when I read a little bit more I will flash a custom rom.
Download and install Super Manager. Pretty handy program to use for Root users.
I'm not sure what the issue is,but mine does it too. I'm running the "unofficial" froyo JK2 build,flashed via ODIN,and I'm having the same issues. root works,root file explorer is stuck in rw,won't let me switch to ro,and it can't do anything to files in / or /system. manually remounting it from terminal or sgs tools works.
msnuser111 said:
I'm not sure what the issue is,but mine does it too. I'm running the "unofficial" froyo JK2 build,flashed via ODIN,and I'm having the same issues. root works,root file explorer is stuck in rw,won't let me switch to ro,and it can't do anything to files in / or /system. manually remounting it from terminal or sgs tools works.
Click to expand...
Click to collapse
At least I am not the only one with this problem.... haha
I forgot to mention that I use Root Explorer version 2.12.2
When I try a custom Rom I will post the results....
^ why not get the update, .4 is the most recent build. Do you have an illegal copy?
It's not only root explorer. It happens with other file explorers too like android mate and super manager... Inside system folder whatever, I do doesn't happen unless I unmount and remount like before

[Q] Post Root: Root Explorer Question

I finally got my NookColor to sideload apps via ADB. The first thing I did was install Root Explorer and I rebooted the NC.
However, using Root Explorer, I do not have access to the cache or data directories. The response that I get is "Mounted as r/o" and "Your phone doesn't appear to be rooted. ..."
Did I miss something in the process and I'm not really rooted?
Also, I've noticed that the command adb remount gives back an error message as well.
Any thoughts?
Thanks!
See http://forum.xda-developers.com/showthread.php?t=857636
Assuming that you've already install the SuperUser apk
You need to push the su file into /data/local
use the following ADB commands:
Code:
adb push su /data/local/
Then
Code:
adb shell
# cd /system/bin
# mount -o remount,rw /dev/block/mmcblk0p5 /system
# cat /data/local/su > su
# chmod 6755 su
# ls -l su
-rwsr-sr-x root root 26264 2010-12-01 10:27 su
Use the su file from the attachment in the thread below
http://forum.xda-developers.com/showthread.php?t=665974
Thank you, Sapienta.
I noticed the Superuser comes down as a zip and the instructions say to boot into recovery mode and flash ... does that translate to renaming the zip to apk and installing via adb (as I've done with other apps)? Or do I need to figure out how to do the recovery boot/flash?
Ya sorry about that. I should've been more clear. Ignore everything from that page just download the attachment. You need to push the "su" file into /data/local and then chmod it to 6755 per the instructions from the first link I post and you're good to go.
EDIT NVM, I got it
Well, actually, you were quite clear the first time, I had just forgotten about the first link. But now, when I try to install the file (after renaming the zip to apk) via ADB I get an error message that says file does not contain AndroidManifest.xml. But I know the file is there ... I can see it when I view it with 7Zip. So, I guess I'm being dense today, but what am I missing?
indeana said:
Well, actually, you were quite clear the first time, I had just forgotten about the first link. But now, when I try to install the file (after renaming the zip to apk) via ADB I get an error message that says file does not contain AndroidManifest.xml. But I know the file is there ... I can see it when I view it with 7Zip. So, I guess I'm being dense today, but what am I missing?
Click to expand...
Click to collapse
Inside of the zip file there should be two files, a file called "su" without an extension and the Superuser.apk.
You'll want to push the su (the file is actually a raw binary) to your NC using the steps provided. You'll also want to install the Superuser.apk after pushing the su binary.
Thank you, antoniouslj. Yesterday I installed SU first and then pushed su but Root Explorer kept erroring out. So just to be sure I'm clear, the steps would be done in this order:
1. Push su -->
adb push su /data/local/
2. Change permissions -->
adb shell
# cd /system/bin
# mount -o remount,rw /dev/block/mmcblk0p5 /system
# cat /data/local/su > su
# chmod 6755 su
# ls -l su
-rwsr-sr-x root root 26264 2010-12-01 10:27 su
3. Install Superuser
Then do I adb Root Explorer or should Root Explorer be installed before I do the steps above?
indeana said:
Thank you, antoniouslj. Yesterday I installed SU first and then pushed su but Root Explorer kept erroring out. So just to be sure I'm clear, the steps would be done in this order:
1. Push su -->
adb push su /data/local/
2. Change permissions -->
adb shell
# cd /system/bin
# mount -o remount,rw /dev/block/mmcblk0p5 /system
# cat /data/local/su > su
# chmod 6755 su
# ls -l su
-rwsr-sr-x root root 26264 2010-12-01 10:27 su
3. Install Superuser
Then do I adb Root Explorer or should Root Explorer be installed before I do the steps above?
Click to expand...
Click to collapse
That's exactly what I did and it worked great for me. I also had Root Explorer installed prior to installing SU.
Still Struggling!
So ... I still can't get this to work. Do I need to install an alternative launcher (like ADW) first and then do this process?
indeana said:
So ... I still can't get this to work. Do I need to install an alternative launcher (like ADW) first and then do this process?
Click to expand...
Click to collapse
No... what part of the process are you getting stuck on?
I do the three steps like we talked about earlier (and exactly in that order--except I exit out of the shell before I issue the adb install superuser.apk command) and I reboot the Nook. Turn the Nook back on and open Root Explorer, but then RE tells me that there are issues with Superuser and to close RE and restart the RE app. So I do. But it repeats the same process. (I've removed everything so I don't remember the exact language. When I open SU there is no way for me to add an app (that I know of anyway) including looking at the settings. So that's where I'm stuck. And if I can't get root access, then apps like SetCPU and Quickboot won't run successfully.
indeana said:
I do the three steps like we talked about earlier (and exactly in that order--except I exit out of the shell before I issue the adb install superuser.apk command) and I reboot the Nook. Turn the Nook back on and open Root Explorer, but then RE tells me that there are issues with Superuser and to close RE and restart the RE app. So I do. But it repeats the same process. (I've removed everything so I don't remember the exact language. When I open SU there is no way for me to add an app (that I know of anyway) including looking at the settings. So that's where I'm stuck. And if I can't get root access, then apps like SetCPU and Quickboot won't run successfully.
Click to expand...
Click to collapse
Grab another version of RE. I'm finding that version matters when trying to sideload apps.
EUREKA!!!
Thanks to everyone for your help! I finally figured it out. Just as I was about to take the last suggestion of finding and downloading another version of RE, I found and downloaded another version of Superuser (version 4). The new SU version extracts from the zip differently but I was finally able to push and modify per the earlier instructions, installed the new SU version, rebooted, started RE, added it to the SU Whitelist and BAM Root Explorer is working just as I expected it to. SetCPU and Quickboot also seems to be working.
Once again, thank you! You were all GREAT!!!
indeana said:
Thanks to everyone for your help! I finally figured it out. Just as I was about to take the last suggestion of finding and downloading another version of RE, I found and downloaded another version of Superuser (version 4). The new SU version extracts from the zip differently but I was finally able to push and modify per the earlier instructions, installed the new SU version, rebooted, started RE, added it to the SU Whitelist and BAM Root Explorer is working just as I expected it to. SetCPU and Quickboot also seems to be working.
Once again, thank you! You were all GREAT!!!
Click to expand...
Click to collapse
Nevermind...I got mine going, too.

Gingerbreak 1.2 not working on week old X2

Gingerbreak 1.2 goes through the motions, seems to be working, and the phone reboots, but root is not achieved.
Is there any procedure available to root this phone? Even a temporary root?
For the time being I'd like to push one file into /system/framework (framework-res.adk).
Thanks,
Chris
~~~~~~~~~~~~~~~
Phone details:
System version
Version.1.2.148.MB870.Verizon.en.US
Model
Droid X2
Android version
2.2.2
Baseband version
n_03.13.23s
Kernal version
2.6.32.9-00049-g1e05fe4
[email protected] #2
Build number
4.4.1_274_DTN-14.8
ERI version
5
PRL version
52341
Works on all my X2 's
Did you turn on usb debugging, if so try removing gingerbreak, format the sd card, and install gingerbreak again after a fresh boot. Might want to find another source for the gingerbreak apk to. No luck, try another sd card.
USB debugging on, a different formatted SD card used, fresh reboot and downloaded gingerbreak from a different source; same. I have also tried Gingerbreak 1.1 just for kicks.
Check at the very end of your app drawer. I used gingerbreak 1.2 last night and for some reason super user was all the way at the end of the app drawer, not in its alphabetical spot.
just before running gingerbreak
reboot your phone
do not start any other app before starting gingerbreak
this should work
I got my X2 on Friday afternoon.. and rooted it using Gingerbreak Friday evening. I downloaded it from the link provided in the "Getting Started.." thread in this section. So it *should* work, take a deep breath and follow the very good advice given above, take your time and let it do its thing - walk away if you have to in order to avoid panic!
Good luck.
ChrisPappas said:
USB debugging on, a different formatted SD card used, fresh reboot and downloaded gingerbreak from a different source; same. I have also tried Gingerbreak 1.1 just for kicks.
Click to expand...
Click to collapse
Format Sd, and factory reset the phone. Download the apk to your desktop and drag and dropdrop it to the root of your sd and install it from there. A full wipe should rule out any third party apps from causing the problem.
I got the answer for this. The rooting process worked. What was tripping me up is that the partition needed to be remounted as RW.
Chris
Okay, I don't know if I'm rooted or not. I have enabled root access for File Expert and it acts like it's letting me cut and paste into the /system/framework directory, but the original file stays in place. AndroidCommander notates Root=no.
These adb commands are not working:
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb devices
List of devices attached
TA054029VA device
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb remount
remount failed: Operation not permitted
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell
$ mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount: Operation not permitted
$ ^C
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb push framework-res.apk /system/framework/framework-res.apk
failed to copy 'framework-res.apk' to '/system/framework/framework-res.apk': Read-only file system
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb root
adbd cannot run as root in production builds
Su does not change $ to #:
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell
$ su
su
Root Checker shows the following detailed results:
Congratulations! You have root access!
Standard su binary location:
/system/xbin/su: No such file or directory
Alternale su binary location:
/sbin/su: Permission denied
Root user if:
uid=0(root)
Root group id:
gid=0(root)
Does anyone have any ideas of what can I do to fix?
Thanks,
Chris
I was able to get the abd shell to perform with su. Someone led me to look at the phone when I was typing su in abd shell. The phone was asking for permission, which was opting out after a few seconds. When I approved the access within the window, it gave me the # prompt.
I also found out that adb push needed to have the volume mounted as rw, which I was able to do from the #.
After that, I was able to push a file into the system/framework directory. I bricked the phone doing it because the file I was pushing is apparently very picky (framework-res.apk). Luckily there's an SBF for the droid 2 now.
I'm not sure what the deal is with this root, as it only half-ass works. I rooted a Thunderbolt a couple of weeks ago and I didn't have any of these problems. For example, AndroidCommander on the PC reports no root access.
My next mission is to collect details on the ins and outs of fooling with the framework-res.apk.
Chris

[Q] [help]how to get system folder permission for hdx7

I just play andorid device a few days, but My hdx7 is a little bricked because i deleted some system app. Now I can log in fire os, have adb, usb connected and internal storge, even i can operate device setting app, but i can't open the other app because i don't have a desktop.
I compare system/app folder with the same folder in the amazon bin, found that the folder lack of scores of app, but the other system folder is the same. So I hope can adb push app folder to the system folder, but the pemission denied. I try to remount or mount, it can't work.
if adb root, then "adbd cannot run as root in production builds.
if adb push apk to the app folder, then “permission denied".
if adb remount, then ”remount failed: Operation not permitted".
and I have try adb shell like that:
# su
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
# chmod 777 /system
# exit
it didn't work.
my hdx7 have rooted.
My Questions are:
1. If I could push the app folder to the system folder and reset to factory, is my hdx saved?
2. How to get the system folder rw in the situation?
thx for any prompt, although i am a rookie but i will try my best, i wish the adept can help me and will be enormously grateful. Sorry for my poor english.
It sounds to me that you had lost root.
kschang said:
It sounds to me that you had lost root.
Click to expand...
Click to collapse
So i have tried root again like "http://forum.xda-developers.com/showthread.php?t=2544965" said
But it didn't work, please see the attach, But I don't know why.
Sorry for that i'm rookie to andorid and ask so many questions.
randolphling said:
So i have tried root again like "http://forum.xda-developers.com/showthread.php?t=2544965" said
But it didn't work, please see the attach, But I don't know why.
Sorry for that i'm rookie to andorid and ask so many questions.
Click to expand...
Click to collapse
Hmmm... It says you still have root (the prompt changed after "su")
I personally don't use ADB much. I have Root Explorer (grabbed it legally for free from Amazon ages ago) and Wifi Explorer Pro (same method) so I basically WiFi myself the files I need sideloaded then move them around on the device itself. But if you've lost launcher, you have deeper issues.
Have you tried ADB push any launcher? Or even a download store like 1Mobile or Aptoide?
ADB is basically a Linux shell debug into Android, so you need to learn some Unix shell commands. I'm sure you can find ADB guides with the basic commands, like "ls", "cp", and so on.
You need to check the directory and see if the system/app and other system directories are still there. This is one reason I only play with the copy of ROM I have (see Safestrap Recovery).

Categories

Resources