Hello all,
I have been trying to gain root on a Android 4.0.4 device and was able to, but I can't seem to keep system rw long term.
I run the following command
mount -o remount,rw /system
or
adb remount (from a PC)
the mount command will then show that system is in rw mode. However, if I attempt to copy any data into /system, the first file copy fails and the system then reports read only. To make things even more odd, commands like chmod on a file in /system work just fine.
It seems to me that there is something that detects something writing to /system, and then forces the mount back to ro.
Does anyone have any ideas about this? Is this a common technique manufactures use?
The closest thing I could find on XDA is a reference to Sony Xperia devices having a watchdog service that doesn't something like this, but this device is a Kenwood Head unit and not a Sony device.
Thanks!
chris.davis925 said:
Hello all,
I have been trying to gain root on a Android 4.0.4 device and was able to, but I can't seem to keep system rw long term.
I run the following command
mount -o remount,rw /system
or
adb remount (from a PC)
the mount command will then show that system is in rw mode. However, if I attempt to copy any data into /system, the first file copy fails and the system then reports read only. To make things even more odd, commands like chmod on a file in /system work just fine.
It seems to me that there is something that detects something writing to /system, and then forces the mount back to ro.
Does anyone have any ideas about this? Is this a common technique manufactures use?
The closest thing I could find on XDA is a reference to Sony Xperia devices having a watchdog service that doesn't something like this, but this device is a Kenwood Head unit and not a Sony device.
Thanks!
Click to expand...
Click to collapse
I would think that you might need to run a script to remount on boot perhaps, such as one along this idea http://www.3c71.com/android/?q=node/466. Like via init.d or if that isn't possible on this then maybe something like this could do it http://forum.xda-developers.com/showthread.php?t=2378274 ?
Just spit balling ideas.
Correct me if I am wrong, but it seems to me that I wouldn't be able to do those options since system doesn't actually stay rw?
Really depends on the phone. Sometimes you can slip a script in during boot that will keep the system open. Sometimes you need to have a special module too such as this: http://forum.xda-developers.com/showthread.php?t=2230341 Sometimes the kernel doesn't allow it. I would think on 4.0.4 it shouldn't be near as hard as some of the newer JB and KK things. What do you have?
It is the Kenwood DNN990HD running Android 4.0.4.
I will try and run the binary tool you linked.
Thanks!
Hi
I've installed CM10.2 (last update) (http://forum.xda-developers.com/showthread.php?t=2499796) on my Archos 80G9. It also runs the SDE firmware from Archos (http://forum.xda-developers.com/showthread.php?t=1653566). So far, so good, it runs quite nicely, all things concerned. Here's a screenshot to the system info: https://www.dropbox.com/s/0ri8n4jb6gyrfz7/Screenshot_2014-11-17-20-56-01.png?dl=0
Now I'm trying to install X-posed Framework, but this won't work. When I try, I get an error that tells me /system can't be mounted. (Screenshot: https://www.dropbox.com/s/ryaryqkie023sl4/Screenshot_2014-11-17-20-40-16.png?dl=0 )
When I take a look is ES3 if the folder is mounted, it looks like this: https://www.dropbox.com/s/4kwv0ja16qz52tq/Screenshot_2014-11-17-20-49-21.png?dl=0 . I can't tick the other boxes here, I get the message "sorry, operation failed" when I try.
I've already tried to use the "mount -o remount,rw /" command, to no avail...
I have no idea how I have to fix this problem and if it's even fixable.
Does anyone have any idea? Thanks in advance!
Same here...
No solution for that yet.
Before you type the mount command did you type "su" first (without the quotes)?
Just opening up terminal gives you regular user permissions which will not let you run the mount command. You need to become root/superuser first and that's what su does.
Yes I did ... Terminal emulator gives a notification that It's been granted superuser permission, but it still doesn 't Work.
Sent from my Ascend Y300 using XDA Free mobile app
Can you send a screenshot of the "mount" comand and response?
Did the prompt change from $ to #? What was the output of "mount"?
If terminal doesn't work try with superuser adb (allow superuser not only from applications, but from adb). Connect to the device with "adb shell" and issue this command.
Hi, thanks for your response. Here are two screenshots: the first is of the mount command in Terminal Emulator, the second of the same via abd shell. No results.
Very strange, since filesystem seems to be remounted rw Ok.
In fact, I've installed xposed some two days ago on 101g9/cm10.2, so this should work.
Let's try to sort it out.
1) What version of xposed do you try to install? I've used latest stable (2.6 IIRC).
2) Do you use "standard" installation mode in xposed settings (just under the popup window on your screenshot)?
3) Try to issue the following commands in shell after remounting "/" (terminal or adb - doesn't matter)
# touch /system/bin/mytest.tmp
# ls -la /system/bin/mytest.tmp
If the file is created Ok, then the filesystem is mounted read-write correctly.
You can delete this file afterwards with
# rm /system/bin/mytest.tmp
4) Did you grant permanent or one-time superuser permission for xposed? If one-time, try permanent: it can be so, that "cp" fails due to lack of superuser permission.
Bor-ka said:
Very strange, since filesystem seems to be remounted rw Ok.
In fact, I've installed xposed some two days ago on 101g9/cm10.2, so this should work.
Let's try to sort it out.
1) What version of xposed do you try to install? I've used latest stable (2.6 IIRC).
2) Do you use "standard" installation mode in xposed settings (just under the popup window on your screenshot)?
3) Try to issue the following commands in shell after remounting "/" (terminal or adb - doesn't matter)
# touch /system/bin/mytest.tmp
# ls -la /system/bin/mytest.tmp
If the file is created Ok, then the filesystem is mounted read-write correctly.
You can delete this file afterwards with
# rm /system/bin/mytest.tmp
4) Did you grant permanent or one-time superuser permission for xposed? If one-time, try permanent: it can be so, that "cp" fails due to lack of superuser permission.
Click to expand...
Click to collapse
1) I had 2.7 Experimental, so I uninstalled it and installed 2.6 Stable instead.
2) I do indeed use the "classical" option for installing Xposed.
3) Tried it, gave the following result: the file is created in /System/bin, so I guess /sytem is mounted okay. (see screenshots)
4) I use SuperSU, XPosed had root acces (see screenshot)
Seems to me /system is mounted fine, but Xposed just doesn't know it...
Ok.
The problem is with xposed, obviously.
For me, it complained that it can not remount /system (obviously), but then installed Ok.
So, what I would do
1) Check the filesystem mounts. May be, for some reason, you have /system mount (quite improbably, but nonetheless). Try in the terminal
# mount
It will show a list of all active mounts with the following format
[what is mounted] [where mounted] [blah-blah and stuff]
For example, from anothe device
/dev/block/platform/hi_mci.1/by-name/system /system ext4 ro,relatime,user_xattr,acl,barrier=1,data=ordered 0 0
You can see that something is mounted at "/system" readonly ("ro" attribute)
2) Check if the /system/bin/app_process.orig already exists
# ls -la /system/bin/app_process.orig
3) Try to use logcat to obtain info. That is tricky
a) On the PC issue command "adb logcat > logcat.txt"
b) Start xposed installer, try to install, get an error
c) on PC press Ctrl-C
Bor-ka said:
Ok.
The problem is with xposed, obviously.
For me, it complained that it can not remount /system (obviously), but then installed Ok.
So, what I would do
1) Check the filesystem mounts. May be, for some reason, you have /system mount (quite improbably, but nonetheless). Try in the terminal
# mount
It will show a list of all active mounts with the following format
[what is mounted] [where mounted] [blah-blah and stuff]
For example, from anothe device
/dev/block/platform/hi_mci.1/by-name/system /system ext4 ro,relatime,user_xattr,acl,barrier=1,data=ordered 0 0
You can see that something is mounted at "/system" readonly ("ro" attribute)
2) Check if the /system/bin/app_process.orig already exists
# ls -la /system/bin/app_process.orig
3) Try to use logcat to obtain info. That is tricky
a) On the PC issue command "adb logcat > logcat.txt"
b) Start xposed installer, try to install, get an error
c) on PC press Ctrl-C
Click to expand...
Click to collapse
Alright, did all of it.
1) Don't fully understand what is listed here, but in the first screenshot is the list of mounts.
2) Checked it, doesn't seem to exist, see second screenshot.
3) Logcat is attached.
Ok, it appears that I got the problem. Need a little time to think how to solve this.
The problem is rather technical. In newer androids supersu has isolated filesystem mounts for different processes.
It means that if you remount filesystem rw in one process, it (read-write-ness) is not accessible to the other process.
I have a little older cm10.2 build (for low-memory devices), perhaps, this was enforced later.
http://su.chainfire.eu/#how-mount (3.5)
So you're saying there's a good chance that if I install version 22_12_2013-13_29_20 (which i was planning anyway), instead of the latest one, the problem could be fixed?
Hmm, I installed the previous version of CM10.2, the problem seems to be persisting...
I noticed something today. I can create and remove files in /system using the emulator. I can't however do this using ES3 file explorer, even though it has root access. I was trying to edit the build.prop file, but it wouldn't let me save my changes.
I then tried to copy a file to /system in es3, this didn't work. Creating a tmp file using emulator did work. Seems I do have rw access to /system, but not with all apps...
I noticed something today. I can create and remove files in /system using the emulator. I can't however do this using ES3 file explorer, even though it has root access. I was trying to edit the build.prop file, but it wouldn't let me save my changes.
I then tried to copy a file to /system in es3, this didn't work. Creating a tmp file using emulator did work (permission denied). Seems I do have rw access to /system, but not with all apps...
Well, it seems like what I've said, filesystem mount encapsulation.
I've noticed one thing - you are using the standalone supersu application. And for me superuser mode is integrated in the system settings near the developer options. May be this is the case, internal superuser is patched already.
Alright, I'll uninstall superSU for now, give it a go with the built-in superuser app. I'll let you know!
Supersu application, theoretically, could have replaced libsuperuser and other stuff integrated in the CM.
So, if just uninstalling does not work, perhaps it will make sense to reinstall CM itself.
P.S. I have mixed feelings with CM. On the one hand it is definitely more fluid, than 3.* or 4.* stock ROMs. On the other hand deep sleep works, well, strange, and the tablet sometimes freezes in the sleep or turns off by itself.
Yes, I have enabled deep sleep, but the battery drains definitely faster in the sleep. For me it is essential, since I mostly use it as a amazon kindle / google books / pdf reader terminal. And most of the time it just sleeps.
Bor-ka said:
Supersu application, theoretically, could have replaced libsuperuser and other stuff integrated in the CM.
So, if just uninstalling does not work, perhaps it will make sense to reinstall CM itself..
Click to expand...
Click to collapse
Eureka! I re-installed CM, issued the mount-command i used earlier and installed X-posed! I used the built-in superuser app, no such problems as before. I did have to issue the mount-command, but that isn't a problem Is it normal I have to re-issue the mount-command each time I want to access /system rw?
Thanks a million! I can't believe it was something this trivial But I'm so glad it's solved, thanks!
Bor-ka said:
P.S. I have mixed feelings with CM. On the one hand it is definitely more fluid, than 3.* or 4.* stock ROMs. On the other hand deep sleep works, well, strange, and the tablet sometimes freezes in the sleep or turns off by itself.
Yes, I have enabled deep sleep, but the battery drains definitely faster in the sleep. For me it is essential, since I mostly use it as a amazon kindle / google books / pdf reader terminal. And most of the time it just sleeps.
Click to expand...
Click to collapse
I don't use the deepsleep-option. I do use Greenify to ensure certain apps (like Youtube or Chrome) aren't active in the background. Boot manager to be sure only essential apps boot in the first place. This seems to save me some battery life. Airplane mode as well.
I got this tablet from my dad because it was so slow he couldn't work with it. Even after factory reset, it very quickly became sluggish again. With CM, it feels like it's a new tablet. So no doubts about CM for me
I do have another issue: My pc won't show the tablet in explorer. I can access it via ADB, but I can't access the storage via explorer... I suppose I best start a new topic for that...
Glad the issue was solved. I wonder why the superuser application didn't work.. Deepsleep - it allowed the tablet to lose, say, 10-15% charge during a week sleep. Very handy if the tablet is used not often - really miss it.
Explorer connection - if I remeber correctly, you should go to settings -> storage (where the size of apps/pictures etc is shown). Then press the three dots in the upper right corner, select "usb computer connection" and select MTP.
P.S. I wonder also if CM12/Android 5.0 in the "development" section is worth a try...
I was wonder how to add file system check every boot since my data partition often unclean. I had try to add line in init.rc before mount and static e2fsck binary to /sbin.
Like this one: "e2fsck -fy /dev/block/data" but I think it has no effect since my tablet failed to boot. I must go to recovery and do fsck via adb shell. It is annoying. I want to make it automatically. Please help me.
Thank you..
juliantito said:
I was wonder how to add file system check every boot since my data partition often unclean. I had try to add line in init.rc before mount and static e2fsck binary to /sbin.
Like this one: "e2fsck -fy /dev/block/data" but I think it has no effect since my tablet failed to boot. I must go to recovery and do fsck via adb shell. It is annoying. I want to make it automatically..
Click to expand...
Click to collapse
Assuming you know that you need to repack your boot image to change init.rc and you did that, try prefixing your command in init.rc with "exec".
I want to run E2FSCK on every boot and repair the disk if there is some problem on Odroid N2 Android. I have used the tune2fs -c 1 command to check the disks on every boot.I want to confirm whether this command will repair the problem (if detected) as well.
I think that in Android Source code they have made sure that the disk will be checked however, I don't know whether they fix the disk as well. Please confirm this as well.
In Odroid N2 Android image, the directory /etc/default/rcS is missing, so I can't make changes to it. I can't run a script on each boot because the disks are mounted by then and I can't umount them because the disk is being used.
If anyone has some solution, I will really appreciate your help.