irulu 10.1 root/remount problems solved - Android Q&A, Help & Troubleshooting

I own an irulu K1001L1 10.1 (build number A20_K1001_K1001L1.20130713), a cheap one.
Many people complain about "partial rooting" and being unable to remount system in rw mode. Clueless as I was, I had tried several times with Uberizer, z4root and SRSroot, to no avail (the problem is not in the root, in my tablet su came by default in xbin directory).
D_rex (http://forum.xda-developers.com/show...2606510&page=2) found an effective solution which also helped in my situation: I think my tablet came with "su" application by default (notice overclocking worked) but due to /dev/block/nandd ext4 partition (I think /system starts at some offset) containing some errors (seen in dmesg) and due to this partition having the "s_errors" flag (behavior when errors detected) set to "mount read-only (02)", the partition is ALWAYS mounted read only, and remount as root doesn't change anything. More info on this ext4 option can be found here: https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout.
For me, the solution that worked was changing that flag s_errors to continue (01). I wasn't able to run e2fsck as the partition is already mounted; and I wasn't able to do a fsck in recovery mode since the recovery mode of this tablet lacks seems to lack both shell and e2fsck.
Tune2fs (old version precompiled here can change that flag in the partition. Using adb shell I pushed it to de device, set attribute as executable and run it, successfuly changing that "behavior when errors detected" in both partitions.
It has been suggested filesystem errors are linked to stability and realiability problems. Unfortunately this tablet lacks a version of CWM o TWRP as a recovery custom rom. I also adjusted the "max-mount-counts" value via tune2fs -c hoping it forces Android to run e2fsck, but it seems dmesg keeps displaying errors. I can only hope this problem is given more attention by developers.
After this I used the usual tools to root the device, noticing I had spent many hours in this cheap tablet. I should also mention by default now my tablet mounts in read-only mode (which is of course safer) but lets me change to rw whenever I want.
I have not been able to fix the ext4 errors. As others have explained, ls -al /dev/block can be used to better understand the images structure. System partition (nandd) contains the file e2fsck , but that file seems to be unavailable before mounting. Editing init.rc and associated files didn't force a diskcheck; I have not tried imaging the recovery partition (/dev/block/nandg) with dd and manually adding the required tools.I should also mention by default now my tablet mounts in read-only mode (which is of course safer) but lets me change to rw whenever I want.
On a side note, the adb driver setup tool found here didnt work for me (it seems &USER_PROFILE% in the .bat file should be replaced by "%USER_PROFILE%" and Desktop should be replaced according to the language of your operating system. Nevertheless the tool didn't work for me and I had to install another driver found in Uberizer distribution as the official "android_winusb.inf" didn't work in my Windows XP computer.
Thanks to the creators of tune2fs, to D_rex and other people/programs mentioned here. This is my experience with this problem; I'm not responsible if anyone tries this and bricks his device. All brands are property of their owners.
Good luck and Good bye

Related

[Q] How to handle mounts and r/w access in rooted Custom ROM (80 G9 SDE)

Hi,
I'm new to Archos Hardware and their SDE, but I'm a long time Android user
and Custom ROM installer .
I have a hard time understanding how the SDE and multi boot works on the
Archos devices. I think only one kernel is used and the second filesystem
(2nd ROM) is mounted as a loop device.
Recently I tried to install DropBear SSH server II from the Play Store, but
the actual install failed throwing an error message about /system
being R(ead)O(nly).
As far as I know /system is not mounted in the custom ROM (freezenook). It seems to
be a regular folder in the loop file system. That's why I don't get the message
about it being read-only.
Furthermore I have a hard time executing ARM binaries on the Archos. I
copied over some binaries to tinker with DVB-T hardware, but I always
get 'permission denied' messages when I try to run them as root in the shell.
I tried to chmod +x them and to put them in places that were not mounted with
the noexec flag. But I didn't succeed.
To cut a long story short:
1. How do I make certain areas of the file system read/write-able in order to
install things such as DropBear SSH server?
2. Do I need to do something special to execute cross compiled binaries?
(I have a gut feeling that it's also connected to the loop file system and mount
set up for the SDE.)
Many thanks in advance,
Kleo2

/system won't stay mounted as rw

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!

[Q] Installing X-posed on Archos 80G9 (Unofficial CM10.2): problem mounting /System

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

[Q] How to add fsck script at boot before mount?

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.

[Q] Mounting CIFS - Empty Directories

Hi all,
So I've spent hours trying to solve this, using everything I have found on the Internet.
Basically I have an android box that's running 4.4.2. I need to mount a NAS box onto the file system. I can do this no problem using Terminal as SU. As soon as I use another App to navigate to the location, the mounted location isn't visible. I know that it is a known bug/security restriction after 4.2, and is due to multiusers or something. People have suggested including the mount command into /system/bin/debuggerd because the start command is a system command that has higher privileges or something. Anyway, I've tried this by just removing the contents of debuggerd and typing the following:
#!/bin/sh
mount -o username=JOELB,password=password -t cifs //192.168.1.252/PUBLIC /data/media/0/NAS
However, this doesn't work on boot, or if i run 'start debuggerd'
Apparently /data/media/0 is the location I should be mounting to, due to the bug/security flaw. Apps like mount manager are useless because they only work for that app.
Can anyone help me on this... It's killing me!!
Many thanks
Joel

Categories

Resources