[Q] Why does the SU binary not work from /data ? - Android Q&A, Help & Troubleshooting

I'm trying to put the SU binary in a different place than the /system folder. I can flash it to /data with the correct permissions, but when I run SU, it doesn't get root.
Code:
[email protected]:/ $ /data/su
/data/su
1|[email protected]:/ $ id
id
uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats)
Is there a reason why it doesn't work in /data/? Is there another folder (not /system/) where it should work?
Code:
ls -la /data/su
-rwsr-sr-x root root 380532 2008-08-01 12:00 su
# From a working /system/su :
-rwsr-sr-x root root 380532 2008-08-01 12:00 su

Has to be in /system. It has elevated privileges that you can't get in the /data partition. Are you unable to put it in /system, as in trying to root a new device, or is there another reason you're against putting it there?

I continued searching myself (like I should) and I just found the answer (sorry, forgot to subscribe to the thread). /data is mounted with "nosuid" option, so privilege elevation isn't possible.
Code:
[email protected]:/ $ cat /proc/self/mountinfo
cat /proc/self/mountinfo
1 1 0:1 / / ro,relatime - rootfs rootfs ro
12 1 0:12 / /dev rw,nosuid,relatime - tmpfs tmpfs rw,mode=755
13 12 0:9 / /dev/pts rw,relatime - devpts devpts rw,mode=600
14 1 0:3 / /proc rw,relatime - proc proc rw
15 1 0:13 / /sys rw,relatime - sysfs sysfs rw
16 15 0:5 / /sys/kernel/debug rw,relatime - debugfs debugfs rw
17 1 0:14 / /acct rw,relatime - cgroup none rw,cpuacct
18 1 0:15 / /mnt/asec rw,relatime - tmpfs tmpfs rw,mode=755,gid=1000
19 1 0:16 / /mnt/obb rw,relatime - tmpfs tmpfs rw,mode=755,gid=1000
20 12 0:17 / /dev/cpuctl rw,relatime - cgroup none rw,cpu
21 1 179:1 / /system ro,relatime - ext4 /dev/block/mmcblk0p1 ro,user_xattr,acl,barrier=1,data=ordered
22 1 179:7 / /data rw,nosuid,nodev,noatime,nodiratime - ext4 /dev/block/mmcblk0p7 rw,errors=panic,user_xattr,acl,barrier=1,nodelalloc,data=ordered
23 1 179:2 / /cache rw,nosuid,nodev,noatime,nodiratime - ext4 /dev/block/mmcblk0p2 rw,errors=panic,user_xattr,acl,barrier=1,nodelalloc,data=ordered
24 1 0:18 / /Removable rw,relatime - tmpfs tmpfs rw,mode=755,gid=1000
25 1 0:19 / /mnt/sdcard rw,nosuid,nodev,relatime - fuse /dev/fuse rw,user_id=1023,group_id=1023,default_permissions,allow_other
26 24 179:9 / /Removable/MicroSD rw,nosuid,nodev,noexec,relatime - vfat /dev/block/vold/179:9 rw,dirsync,uid=1000,gid=1015,fmask=0000,dmask=0000,allow
rtname=mixed,utf8,errors=remount-ro
If I understand this correctly, there's no location (except for /system) that is mounted without the nosuid flag (or at least no location where I can put the SU binary). Is it possible to create a new partition that would also be automatically mounted at startup? Which files should I edit/where should I look for info?
I'm not trying to root a new device. It works perfectly fine in /system/. I want to have root access without it being obvious that it's available.

You can use the option of SuperSU to have no icon or use a launcher that can hide apps, like Nova. Then you would only be able to tell if you were looking under the All Tab in the Application Manager in Settings, or if you have a device like a Samsung where it might show your device status as Custom. If that's the case, I believe there's an Xposed mod to change that to official status.
Sent from my A0001 using XDA Premium 4 mobile app

es0tericcha0s said:
You can use the option of SuperSU to have no icon or use a launcher that can hide apps, like Nova. Then you would only be able to tell if you were looking under the All Tab in the Application Manager in Settings, or if you have a device like a Samsung where it might show your device status as Custom. If that's the case, I believe there's an Xposed mod to change that to official status.
Click to expand...
Click to collapse
No, I'm trying to hide it on a system wide level. I'm doing this for forensics/research purposes. Not for the user, but for apps. For XPosed, there's also RootCloack, but that's lacking in many ways. There are a lot of ways of still detecting root while RoatCloack is installed.
Does anybody know how I can add a partition? I've searched for documentation but so far I've only found information about how to resize partitions.

Dauntless said:
No, I'm trying to hide it on a system wide level. I'm doing this for forensics/research purposes. Not for the user, but for apps. For XPosed, there's also RootCloack, but that's lacking in many ways. There are a lot of ways of still detecting root while RoatCloack is installed.
Does anybody know how I can add a partition? I've searched for documentation but so far I've only found information about how to resize partitions.
Click to expand...
Click to collapse
Messing with that would be a good way to brick the device. I don't believe there would be a way to create a new partition in that manner, and if you could, even less likely it would be able to run su from it. And different manufacturers do their partitions and sometimes even files systems differently. If you could, somehow, get it to work with one phone, it wouldn't be a universal solution.

es0tericcha0s said:
Messing with that would be a good way to brick the device. I don't believe there would be a way to create a new partition in that manner, and if you could, even less likely it would be able to run su from it. And different manufacturers do their partitions and sometimes even files systems differently. If you could, somehow, get it to work with one phone, it wouldn't be a universal solution.
Click to expand...
Click to collapse
Is there a reason why you think it would be impossible to su from it if it's mounted without the nosuid flag?
Maybe a different approach then: Where should I look if I want to mount /data (or any other partition) without the nosuid flag?
It also doesn't have to be a universal solution.

I just don't think it's possible to mount another partition with that flag.
Sent from my A0001 using XDA Premium 4 mobile app

Related

[Q] First Rom ready! How i can upload it?

I have done these works :
1. Removed full battery notification
2. Installed supercurio kernel
3. Removed touchwiz launcher (replaced with the stock gingerbread of the nexus s 9020)
4. Removed all Samsung stuff (unuseful) except voice commands and dlna.
Now i would share this with all the comunity, but how i can do this ?
(i can't do a nandroid backup because clockworkmod isn't avaible).
Please, help me, this phone it's terrible with all samsung customization!
Im pretty sure you can create an ODIN package.
I am not sure if the partitions are the same on SGS2 (dont own one yet) but take a look at this.
icezar1 said:
Im pretty sure you can create an ODIN package.
I am not sure if the partitions are the same on SGS2 (dont own one yet) but take a look at this.
Click to expand...
Click to collapse
Ok, i'll try now to pack my first worlwide rom!
kawa636r said:
I have done these works :
1. Removed full battery notification
2. Installed supercurio kernel
3. Removed touchwiz launcher (replaced with the stock gingerbread of the nexus s 9020)
4. Removed all Samsung stuff (unuseful) except voice commands and dlna.
Now i would share this with all the comunity, but how i can do this ?
(i can't do a nandroid backup because clockworkmod isn't avaible).
Please, help me, this phone it's terrible with all samsung customization!
Click to expand...
Click to collapse
thanks man
does the removal of the samsung bloatware resolve the android os battery issue>
winwiz said:
thanks man
does the removal of the samsung bloatware resolve the android os battery issue>
Click to expand...
Click to collapse
seems to be yes, because samsung apps stay forever in background.
I'm trying to take nexus s keyboard and port to s2, but where are keyboard files located?
****URGENT****
When trying to make odin flashable image, i have this error after these commands :
# su
# mount -o remount,rw /dev/block/stl9 /system
# dd if=/dev/block/stl9 of=/sdcard/factoryfs.rfs bs=4096
/dev/block/stl9: cannot open for read: No such file or directory
I have followed http://forum.xda-developers.com/showthread.php?t=960946 but seems to be not good for S2. I think that /dev/memory addressing it's different.
Who can help me?
In shell type mount and see on what stl is mounted /system. I DONT OWN A SGS 2! If you don't have some basic linux knowledge and dont know how the phone works, don't do this! I'm really serious!
But if you wanna go ahead you will need to find out your mount points. Is vital!
How i can see on what stl is mounted system? there isn't an fstab file?
kawa636r said:
****URGENT****
When trying to make odin flashable image, i have this error after these commands :
# su
# mount -o remount,rw /dev/block/stl9 /system
# dd if=/dev/block/stl9 of=/sdcard/factoryfs.rfs bs=4096
/dev/block/stl9: cannot open for read: No such file or directory
I have followed http://forum.xda-developers.com/showthread.php?t=960946 but seems to be not good for S2. I think that /dev/memory addressing it's different.
Who can help me?
Click to expand...
Click to collapse
SGS2 has different mount points. I see mention of RFS as well, which is wrong for the SGS2...
# mount
rootfs / rootfs rw,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/usb tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /app-cache tmpfs rw,relatime,size=7168k 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p9 /system ext4 rw,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p1 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
nil /sys/kernel/debug debugfs rw,relatime 0 0
/dev/block/mmcblk0p10 /data ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc,discard 0 0
/dev/block/mmcblk0p4 /mnt/.lfs j4fs rw,relatime 0 0
/dev/block/vold/179:11 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro,discard 0 0
Somebody can help me for the commands that i must do for creating a ROM?
kawa636r said:
Somebody can help me for the commands that i must do for creating a ROM?
Click to expand...
Click to collapse
Not got an SGS 2. Also, I hate working on ROMs from a dump of the device to be perfectly frank...
pulser_g2 said:
Not got an SGS 2. Also, I hate working on ROMs from a dump of the device to be perfectly frank...
Click to expand...
Click to collapse
from my response of mount command you can't help me?
kawa636r said:
from my response of mount command you can't help me?
Click to expand...
Click to collapse
Nope, sorry. I need the device to figure it out really, as I've not worked with a Samsung before. And I don't know about repackaging a ROM into a tar for ODIN based on a dump.
I wouldn't want to try and help either, as I need the device to actually check it properly, and wouldn't want you or someone else to have to try reflashing after messing something up...
Never looked at using a dump before - I prefer to take the stock ROM and modify it on my PC tbh
pulser_g2 said:
Never looked at using a dump before - I prefer to take the stock ROM and modify it on my PC tbh
Click to expand...
Click to collapse
Yes, but stock rom come with odin files format.
If i want to cook a rom i must start from sources, from a system dump, or from a zip rom (in nexus s i remember that rom are packaged in zip)....
Me too
I have the same problem, do you have find a solution?
I don't want to ruin your mojo, the more people interested in android, the better... but I'm a bit worried if inexperienced people give other inexperienced people things to flash with Odin. Since your ROM doesn't bring anything new (all other roms have this already), why not put some more time in it, polish it a bit, and maybe you will get some original ideas to add to it, instead of rushing it like this, and possibly brick some phones?
The probleme is that i have no time to do this, i have created a system and i have modivied the cyanogenmod to work with this system, the probleme is that i should to find a better methode to install the cyanogenmod rom from a pc, it is not for me is for other simple users.

Recovery mode and SD Card mounting

Hi folks (this should be in the development forums, but I can't post there yet...)
I booted my Sony Tablet S into recovery mode, then managed to get the SD Card to mount. (Select option 2 and it will mount it up for you ). Using "adb pull" to retrieve /proc/mounts I get the following gem:
Code:
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mmcblk0p4 /cache ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk1p1 /sdcard vfat rw,nodev,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,comp_uni,avoid_dlink,errors=remount-ro 0 0
From what I can see, this means if we can convince the system to run executables placed on the SD Card - we should be able to run a suid binary - and attain root (then be able to mount /system rw and add a su binary)
Does that help anyone?
bcooksley said:
Hi folks (this should be in the development forums, but I can't post there yet...)
I booted my Sony Tablet S into recovery mode, then managed to get the SD Card to mount. (Select option 2 and it will mount it up for you ). Using "adb pull" to retrieve /proc/mounts I get the following gem:
Code:
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mmcblk0p4 /cache ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk1p1 /sdcard vfat rw,nodev,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,comp_uni,avoid_dlink,errors=remount-ro 0 0
From what I can see, this means if we can convince the system to run executables placed on the SD Card - we should be able to run a suid binary - and attain root (then be able to mount /system rw and add a su binary)
Does that help anyone?
Click to expand...
Click to collapse
Thank you. I hope it helps to mount sd for app2sd, psxperia, direct media playing soon
Sent from my R800i
How does the system decide if a program can run as root? The location it runs from?
Is there a cron function in the tablets, or ability to add something to the init.d steps?
An application which is both setuid and owned by root (known as setsuid) can be executed by any user and is granted root privileges immediately. That is how "su" (and other similar apps) work.
Unfortunately, i've discovered that the file system arguments it supplies are hardcoded - so whilst it can detect that a SD card is formatted with ext4 - the mount fails as ext4 doesn't support the FAT specific arguments.
So while we will be able to use this to get executables on the system - we can't get setsuid executables on the system, limiting us to executables being run as the "shell" user.
Yes. Ill help. I sent you a pm.
Ok, so whilst the SD Card method has unfortunately not panned out - I have found something potentially interesting none the less.
This lies in the update system used by Sony. I have determined that the updates appear to be encrypted using a Triple-DES key, which is embedded in, or retrieved by /system/lib/libautomagic_library.so.
This file has traces of apparently being written by HTC (the strings HTC_RIL, CDMA and PHONE all appear in it). It also has a reference to the location /data/data/com.sony.automagic.client.app/file/ (which doesn't exist on my device)
This library is used by the updater application itself - through a Java framework "automagic_downloader". Unfortunately, due to the use of the compiled C code for decryption and update verification (which includes SHA1/MD5 sum checks, likely against the previously downloaded info.xml, which it also handles) it is not possible to tell if the decrypted file is the one placed in /cache however.
The key "ro.sony.build.incremental" written in /system/build.prop is the version number used by Sony to determine if the system needs updating or not, as far as I can tell (with the C library being used, it is difficult to tell)
I have also noted, that when in recovery mode, the following two statements are present in /default.props
ro.build.description=nbx03_033-user 3.2.1 THMASU0035 0035.002 test-keys
ro.build.fingerprint=Sony/nbx03_002/nbx03:3.2.1/THMASU0035/0035.002:user/test-keys
I am not sure at this point if this just means that different keys will be used - or if the keys referenced are the ones available publicly in Android's repositories.
Please note that the above, whilst interesting, does not provide a direct path to rooting the device at this time. Note also that I was not able to complete the paths that the updater application takes codewise, so some of the code I examined may not be used - and thus the above may not apply.
However, if correct this may allow for the OTA images to be decrypted at some point, if someone can decompile those libraries (or otherwise extract the keys using a hex editor).
bcooksley said:
Ok, so whilst the SD Card method has unfortunately not panned out - I have found something potentially interesting none the less.
This lies in the update system used by Sony. I have determined that the updates appear to be encrypted using a Triple-DES key, which is embedded in, or retrieved by /system/lib/libautomagic_library.so.
This file has traces of apparently being written by HTC (the strings HTC_RIL, CDMA and PHONE all appear in it). It also has a reference to the location /data/data/com.sony.automagic.client.app/file/ (which doesn't exist on my device)
This library is used by the updater application itself - through a Java framework "automagic_downloader". Unfortunately, due to the use of the compiled C code for decryption and update verification (which includes SHA1/MD5 sum checks, likely against the previously downloaded info.xml, which it also handles) it is not possible to tell if the decrypted file is the one placed in /cache however.
The key "ro.sony.build.incremental" written in /system/build.prop is the version number used by Sony to determine if the system needs updating or not, as far as I can tell (with the C library being used, it is difficult to tell)
I have also noted, that when in recovery mode, the following two statements are present in /default.props
ro.build.description=nbx03_033-user 3.2.1 THMASU0035 0035.002 test-keys
ro.build.fingerprint=Sony/nbx03_002/nbx03:3.2.1/THMASU0035/0035.002:user/test-keys
I am not sure at this point if this just means that different keys will be used - or if the keys referenced are the ones available publicly in Android's repositories.
Please note that the above, whilst interesting, does not provide a direct path to rooting the device at this time. Note also that I was not able to complete the paths that the updater application takes codewise, so some of the code I examined may not be used - and thus the above may not apply.
However, if correct this may allow for the OTA images to be decrypted at some point, if someone can decompile those libraries (or otherwise extract the keys using a hex editor).
Click to expand...
Click to collapse
Thanks, and please evryone lets keep trying until someone figures this out. Any effort is progress iMO

[Q] How best to use Android's internal partitions efficiently and leverage SD space?

I see various options for converting system apps <==> user apps and moving or linking some to SD. But I don't see a good general discussion of this. Also, I think my old phone needs a more hard core approach--probably one that trims down /system and reduces how much /system overlaps redundantly with updates on /data. So here goes...
First off, these solutions seem inadequate:
built-in apps2sd: it still fills up internal memory a lot.
s2e: an all-or-nothing approach for each category
free version of link2sd: cannot move-and-link app data, nor system apps
I've been fairly happy with link2sd, but it's still not radical enough for me. Can s2e be combined with it to reclaim even more space?
Assumptions about a stronger solution:
It will require root access.
It will break OTA (can this be turned off safely? can someone link to a good overview of problems/workarounds?)
It *might* require a fairly fast SD card (but still limited to an old phone's bus speeds, etc.) Note: I just bought a 32GB class 10 SDHC card (UHS-1 U3) for my s5360.
It might require one or two paid apps (hopefully not)
One of the most promising options I've seen is to convert system apps to user apps and then move-and-link them to SD. For the conversion step, do the following all do the same thing?
link2sd Plus (paid)
Titanium Backup Pro (paid)
System Tuner (paid) -- I've tried the free ones and move (and freeze) always fails.
app mover (free) http://forum.xda-developers.com/showthread.php?t=1999346
And are there rules of thumb for what can be safely converted?
EDIT: I just found this handy list--my guess is that any green or yellow Yes can be safely converted to a user app and even moved/linked to SD, but that red shouldn't, and think twice before uninstalling yellow :
http://wiki.cyanogenmod.org/w/Barebones#CM-10.1_App_list_.28WIP.29
Can apps that were moved to /data still be updated? I'd especially like to target outdated system apps that are have already been updated anyway and are thus running from /data anyway. My understanding is that 'moving' those to /data doesn't increase /data usage and doesn't reduce performance--just slightly reduces permissions--as long as I don't move/link them to SD.
lightningdude said:
In all seriousness, though, I'm not entirely sure the Link2SD has good implementation of this method. You might try Titanium Backup to convert system to user apps, then try linking it with Link2SD. It may still not work, but it'd be worth a shot, I suppose.
Furthermore, I always delete bloatware I'm not going to use with Titantium Backup. If I need to go back to stock for an OTA, I just flash the complete stock of whatever phone I'm on.
Click to expand...
Click to collapse
If this can all be done successfully, can the internal partitions then be resized? That is, if we safely shunt some of /system and /cache off to SD, can we then let /data steal some space from both? (My s5360 has this by default: /system 230MB, /cache 40MB, /data 197MB)
My old s5360 seems to get full almost immediately after flashing a cm11 rom (LolliKat) and minimal gapps onto it, although I plan to try again with a version of minimal gapps that installs to SD.
For that matter, can some ROMs be installed primarily to SD? I get the impression that that's how some dual-boot (multiROM) approaches work, but I don't really know.
I've also seen one guide for permanently mounting /system as read-write. I think I'd be ok with that (are the security concerns truly awful?), especially if it meant that system apps would update themselves in-place without impacting /data. But I'm guessing it's not that simple.
can't create /system/... Read-only file system
I found another cool feature of link2sd to "integrate update into system", removing it from data and eliminating the double use of space. The free version includes this feature, but unfortunately it always errors out for me:
`sh: [51]: can't create /system/app/Music.apk.t: Read-only file system`
I tried upgrading to link2sd Plus, since that's the version that includes a convert feature, which requires write access to /system:
C-Jon said:
One of the most promising options I've seen is to convert system apps to user apps and then move-and-link them to SD.
Click to expand...
Click to collapse
But that feature failed too, for the same reason. So I tried all of the following--granting each app superuser access for 10 minutes each time--and they also failed to successfully mount /system as RW:
X-plore - long press the / folder and choose System Shell, then enter `su` and `mount -o remount,rw /system /system`. It gives no error, but if I then immediately `cd system` and try to `mkdir xxzz` it gives an error: `can't create directory 'xxzz' : Read-only file system`. If I use the GUI, I can apparently create a folder under /system with no error, but if I browse up and come back, the folder is gone.
ES File Explorer (free version) - menu, Root Explorer, Mount R/W. I tried running it multiple times, setting both `/` and `/system` to RW. After doing this a couple times, `/` showed up as already RW, but `system` never did. I immediately retried link2sd Integrate--fails with same error.
mountsystemrorw - this app is dedicated to this one task, and when I click "MOUNT /system RW" it claims success ("Your system is now mounted RW!"); but it actually fails. (At least, link2sd Integrate and X-plore still give the same error/failures.)
AnExplorer - menu, Root. I don't see 'mount' options.
Has KitKat made it nearly impossible to mess with /system, even as root? Or am I doing something wrong?
Just in case, I tried re-running "recreate mount scripts" in link2sd, which had worked before, and this time it failed too! `can't create /system/etc/init.d/11link2sd: Read-only file system`. So maybe something has changed since I first installed link2sd. Hmm. I do see this in a thread on stack exchange, "Write access to the system partition is usually blocked by the kernel at boot." But "recreate mount scripts" worked before, *after* I'd flashed the current kernel (Kernel Bangprovn#1.zip) and ROM (LolliKat Stable 2.zip). That's how I got the ext4 partition working for link2sd in the first place.
I'm getting frustrated and don't want to have a big fight every time I want to integrate or convert an app. So I'm wondering just how feasible the following might be...
I've also seen one guide for permanently mounting /system as read-write. I think I'd be ok with that (are the security concerns truly awful?), especially if it meant that system apps would update themselves in-place without impacting /data.
Click to expand...
Click to collapse
I'm guessing they wouldn't simply self-update. But if I could easily run the Integrate step without this RW battle, that might be enough.
If it helps, here is my mount info:
Code:
cat /proc/mounts
rootfs / rootfs ro,noatime,nodiratime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,noatime,nodiratime 0 0
sysfs /sys sysfs rw,seclabel,noatime,nodiratime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,noatime,nodiratime 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,noatime,nodiratime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
none /sys/fs/cgroup/memory cgroup rw,relatime,memory 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/fuse tmpfs rw,seclabel,relatime,mode=775,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mtdblock8 /system yaffs2 ro,seclabel,noatime,nodiratime 0 0
/dev/block/mtdblock9 /cache yaffs2 rw,seclabel,nosuid,nodev,noatime,nodiratime 0 0
/dev/block/mtdblock10 /data yaffs2 rw,seclabel,nosuid,nodev,noatime,nodiratime 0 0
/dev/block/mmcblk0p2 /data/sdext2 ext4 rw,seclabel,relatime,barrier=1,data=writeback 0 0
/dev/block/vold/179:1 /mnt/media_rw/sdcard0 vfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:1 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,noatime,nodiratime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
using bin/mount rather than xbin/mount
I finally found a solution: remount by explicitly using `/system/bin/mount -o ...` rather than just `mount -o ...`. I'm guessing that at some point the version in /system/xbin started taking priority and for some reason that version fails silently. More info here:
http://android.stackexchange.com/a/110883/109855

Internal SD Is Now Broken after Going to Lollipop. Need Advice.

I was able to install lollipop on my phone. But I couldn't get root. I lost some information. So I went back to my backup 4.3 within TWRP and that's when it all went to ****. HWuserdata can't be mounted and sometimes internal_sd can't be mounted either.
What I can do:
-Install new roms
-Install backups [restore them]
-Access to adb
-Can push out img through through adb/fastboot
What I can't do:
-with all of the above, the internal sd doesn't mount in ANY of the roms [both 4.3 and 5.1]
-Can't remove /hwuserdata in TWRP
-Can't remove /internal_sd in TWRP [Error message: E: Unable to mount '/internal_sd']
More Error Messages:
E: Block device not present, cannot wipe internal storage.
E: Unknown MTP message type: 1
E: Unable to wipe 'internal_sd'
Updating partition details...
E: Update to mount 'internal_sd'
Available Partitions as in the Wape menu within TWRP 2.8.7.1
-Dalvik Cache
-Cache
-data
-Internal Storage 11975MB
-System
-Custom Storage
-Internal Storage 0MB [There is actually two of these partition.]
-External Storage
-USB OTG
My best guess is delete the internal sd some how. And/or remove /hwuserdata as well. Or completely return it to stock. Then install 4.3, install TWRP 2.8.7.1, install 5.1, and finally install root. I can't find the img file to push out through adb in "Fastboot&Rescue Mode".
Can someone point me to stock img? This didn't fix my issue within TWRP. I tried installing "MT2L03_B148_Stock_ROM.zip" within TWRP.
All advice would greatly be appreciated.
Thanks!
UPDATE 7/2:
sdcard0 / internal_sd is still broken after applying the downgrade and the b309 rom. Does anyone have the stock rom in an img file format?
Download the public preview of B309 from the blog.
Install it as instructed in the blog post. (You will lose your data, so backup.)
To root and get TWRP, do the below.
Credit to Foltz61.
1. Boot to bootloader.
2. Fastboot boot TWRP-L.img
3. Install supersu-2.49.zip (even though I didn't lose root)
4. Reboot back to system.
5. Reboot back to bootloader.
6. fastboot flash recovery TWRP-L.img.
7. fastboot reboot.
8. Boot to recovery and had TWRP
Thanks for the reply. But I am still stuck with a broken sdcard0 / internal_sd partition. Does anyone have a stock rom in an img file format? Applying the B309.zip and downgrading to 4.3 provided by Huawei still hasn't fixed my problem.
Oh my God...... Which version of TWRP did you use when you restored using your 4.3 backup???
Please, tell me you did not use TWRP 2.8.7.1-L or 2.8.7.0-L for that matter???
in current state, maybe you can try use parted to print your current partition table, and paste here
adb within twrp, it has parted builtin, under OS, you need install the binary.
parted /dev/blk/mmcblk0
unit b
print
I'm posting here for public view.
DO NOT USE TWRP-L IF YOU ARE ON JELLYBEAN 4.3. IT IS MEANT ONLY FOR LOLLIPOP.
SHM said:
I'm posting here for public view.
DO NOT USE TWRP-L IF YOU ARE ON JELLYBEAN 4.3. IT IS MEANT ONLY FOR LOLLIPOP.
Click to expand...
Click to collapse
I installed 4.3 with the huawei files and went over to 5.1. I am not sure if I am in the clear yet. I have a "emulated 0" partition for my sdcard0/internal_sd. When I open ES file browser, it says "no sdcard can be found". But I can write to this "emulated 0" partition. I am guessing this is still broken? I am on TWRP 2.8.7.0 with 5.1.
lowao said:
I installed 4.3 with the huawei files and went over to 5.1. I am not sure if I am in the clear yet. I have a "emulated 0" partition for my sdcard0/internal_sd. When I open ES file browser, it says "no sdcard can be found". But I can write to this "emulated 0" partition. I am guessing this is still broken? I am on TWRP 2.8.7.0 with 5.1.
Click to expand...
Click to collapse
Open terminal, type and enter, su, then type and enter, mount. Share with me what mount says.
That's the same as mine
lowao said:
I installed 4.3 with the huawei files and went over to 5.1. I am not sure if I am in the clear yet. I have a "emulated 0" partition for my sdcard0/internal_sd. When I open ES file browser, it says "no sdcard can be found". But I can write to this "emulated 0" partition. I am guessing this is still broken? I am on TWRP 2.8.7.0 with 5.1.
Click to expand...
Click to collapse
The emulated 0 partition is the same as I have. That should be your internal memory.
robertbarber said:
The emulated 0 partition is the same as I have. That should be your internal memory.
Click to expand...
Click to collapse
Still, to be sure he didn't screw something up since he did use TWRP-L while on 4.3 JellyBean, I still want to see what, mount, displays for him on his terminal.
Emulated partition
I'm using X-plore file manager and I'm not seeing internal_sd but rather getting the internal SD drive showing up under Root/Storage/Emulated/0
I've tried reverting back to 4.3 and associated TWRP, but X-plore still doesn't show internal_sd properly. I'm pretty sure it used to show it properly...or am I imagining it
CromDubh said:
I'm using X-plore file manager and I'm not seeing internal_sd but rather getting the internal SD drive showing up under Root/Storage/Emulated/0
I've tried reverting back to 4.3 and associated TWRP, but X-plore still doesn't show internal_sd properly. I'm pretty sure it used to show it properly...or am I imagining it
Click to expand...
Click to collapse
On 4.3 yes, on 5.1 yes, but on 5.1 it's main location is /data/media/0
You can check by opening terminal and typing then entering, mount.
so as long as it accessible by going to /data/media/0 then its all okay, even though it doesn't show up as an actual drive under X-Plore?
Thanks for your time and help.
Terminal Emulator output
SHM said:
Open terminal, type and enter, su, then type and enter, mount. Share with me what mount says.
Click to expand...
Click to collapse
Mine is also screwed up after the upgrade and I cannot get back to stock, nor can I get TWRP back. Yes, I've reflashed supersu etc. Here's my dump.
[email protected]:/ $ su
[email protected]:/ # mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
none /dev/frz cgroup rw,relatime,freezer 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cust /cust ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,context=ubject_r:firmware_file:s0,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/data/media /mnt/shell/emulated sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
tmpfs /storage/emulated tmpfs rw,seclabel,nosuid,nodev,relatime,mode=050,gid=1028 0 0
/dev/block/vold/179:65 /mnt/media_rw/sdcard1 vfat rw,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:65 /mnt/secure/asec vfat rw,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/fuse /storage/sdcard1 fuse rw,nosuid,nodev,noexec,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/data/media /storage/emulated/0 sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
/data/media /storage/emulated/0/Android/obb sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
/data/media /storage/emulated/0 sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
/data/media /storage/emulated/0/Android/obb sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
[email protected]:/ #
tomlogan1 said:
Mine is also screwed up after the upgrade and I cannot get back to stock, nor can I get TWRP back. Yes, I've reflashed supersu etc. Here's my dump.
[email protected]:/ $ su
[email protected]:/ # mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
none /dev/frz cgroup rw,relatime,freezer 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cust /cust ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,context=ubject_r:firmware_file:s0,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/data/media /mnt/shell/emulated sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
tmpfs /storage/emulated tmpfs rw,seclabel,nosuid,nodev,relatime,mode=050,gid=1028 0 0
/dev/block/vold/179:65 /mnt/media_rw/sdcard1 vfat rw,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:65 /mnt/secure/asec vfat rw,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/fuse /storage/sdcard1 fuse rw,nosuid,nodev,noexec,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/data/media /storage/emulated/0 sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
/data/media /storage/emulated/0/Android/obb sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
/data/media /storage/emulated/0 sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
/data/media /storage/emulated/0/Android/obb sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
[email protected]:/ #
Click to expand...
Click to collapse
Define screwed up? Everything looks normal for your mount points.
Screwed up
SHM said:
Define screwed up? Everything looks normal for your mount points.
Click to expand...
Click to collapse
Updated to 5.1 (was a beta tester). After the upgrade, root, but no TWRP. Tried numerous times to reflash TWRP-L but still the stock EMUI 3 persists. Have verified I can fastboot TWRP to restore previous backups and create new backups but cannot make TWRP permanent.
Have tried the reinstall of SuperSI 2.4x and all the steps multiple times with no success. Tried the Huawei downgrade to B148 and that fails as well.
Regarding trying to install TWRP, that is because of the 5.1 Rom. It checks to see if the recovery is stock. If it isn't then it will overwrite the custom recovery. TWRP has to be booted and system has to be mounted as read/write, not read only, in order for it to patch the Rom so TWRP will stick.
I can't help regarding the beta test Rom though. I was not a tester. So I cannot say specifically what changes there were between the beta Rom and official released Rom. Maybe @xordos, @kimtyson, @Iguanadon, @ScoobSTi or someone else can assist regarding your current dilemma.
tomlogan1 said:
Updated to 5.1 (was a beta tester). After the upgrade, root, but no TWRP. Tried numerous times to reflash TWRP-L but still the stock EMUI 3 persists. Have verified I can fastboot TWRP to restore previous backups and create new backups but cannot make TWRP permanent.
Have tried the reinstall of SuperSI 2.4x and all the steps multiple times with no success. Tried the Huawei downgrade to B148 and that fails as well.
Click to expand...
Click to collapse
Try removing anything related to twrp on internal and/or external sd. Backup if needed. Then fastboot boot twrp. You should get the prompt about read/write.
Edit: remember to use 2.8.0 L
Sent from my MT2L03 using XDA Free mobile app
I am also new to the 5.1 fused internal storage. following is what I noticed.
/sdcard is soft link to /storage/emulated/legacy, which in turn is link to /storage/emulated/0, which again is link to /mnt/shell/emulated/0, which is the internal storage fused to /data: /data/media/0.
But some how ES file explorer can not handle it. In ESFileExplorer in my B309, it show /sdcard as a *file* with a tiny link icon, instead of others normal one (like /vendor) which showed as a *folder* with a tiny link. And every time, when I open ESFileExplorer, it also report error, "/sdcard can not find" something like that. I have to go to its settings page, Directory Settings, and set "Home Directory" to "/storage/emulated/0", then the error is gone. For me, I changed it to /storage/sdcard1, which is my external sdcard.
Another side notes, if sometime your app (that requires root) complains can not write to storage, goto SuperSU settings, and disable "Mount namespace separation", this may help resolve lots of problem.
These is more info from the command line, I can not tell the different between /sdcard and /vendor, but ESFileExplorer can not open /sdcard
(when run these "ls" as non-root user, the result is same)
Code:
[email protected]:/ # ls -l sdcard
ls -l sdcard
lrwxrwxrwx root root 1970-01-01 00:20 sdcard -> /storage/emulated/legacy
[email protected]:/ # ls -l vendor
ls -l vendor
lrwxrwxrwx root root 1970-01-01 00:20 vendor -> /system/vendor
[email protected]:/ # ls -l sdcard/
ls -l sdcard/
drwxrwx--- root sdcard_r 2008-12-31 18:48 Alarms
drwxrwx--x root sdcard_r 2015-07-03 03:36 Android
...
[email protected]:/ # ls -l vendor/
ls -l vendor/
drwxr-xr-x root shell 2015-06-24 13:09 etc
drwxr-xr-x root shell 2015-06-24 13:09 firmware
...
PS, Just realized in the phone setting-storage, I can set default storage to "External", then after that /sdcard become normal as it is not link to fused FS anymore:
Code:
[email protected]:/ # ls -l /sdcard
ls -l /sdcard
lrwxrwxrwx root root 1970-01-01 04:15 sdcard -> /storage/sdcard1
[email protected]:/ # ls -l /storage
ls -l /storage
dr-xr-xr-x root root 1970-01-01 04:15 emulated
lrwxrwxrwx root root 1970-01-01 04:15 sdcard0 -> /storage/emulated/0
drwxrwxr-x root sdcard_rw 2015-07-03 12:50 sdcard1
drwx------ root root 1970-01-01 04:15 uicc0
drwx------ root root 1970-01-01 04:15 usbotg
Why did I not have any problems booting into fastboot, flashing TWRP-L through fastboot, booting directly into TWRP, enabling the read/write dialog option, then flashing SuperSu? TWRP survives, root worked, etc
Couldn't have been a more standard way of going about it.
Also, I had a problem with my external SD card being read only after lollipop update, but I think I fixed it by going to settings and changing default storage to external sd card and rebooting. Now both internal and external can be written to.

mount: can't find /system in /proc/mounts

Good day,
The situation at hand:
- Samsung SM-G900F
- CM 14.1 (or what ever the last official CM Build was)
- rooted ("#" in ABD SHELL is shown)
- non-functional display (no input it seems and black. glorious spider-app)
- phone is booting normally (TWRP recovery + download mode included)
- ADB only works in recovery
So, as the phone is still working fine (apart from keeping everything for itself) I'd figure I could use programs like "MyPhoneExplorer", DDMS, or anything to use it while I'm waiting to get a new one.
Only thing that keeps me from doing so - my phone is on "charging mode" when plugged in USB and normally booted.
In order to activate the "usb debugging" (and set it as default) I tried to pull the "build.props" from /system - however, ADB keeps telling that folder doesn't exist.
I thought at first, there'd be an problem with RO/RW settings but when trying to remount /system I'm getting this:
Code:
~ # ←[6nmount -o w,remount /system
mount -o w,remount /system
mount: can't find /system in /proc/mounts
When checking with ADBFileExplorer, the folder "system" is there but completely empty.
Running #mount results in
Code:
~ # ←[6nmount
mount
rootfs on / type rootfs (rw,seclabel)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,seclabel,relatime)
/dev/block/mmcblk0p26 on /data type ext4 (rw,seclabel,relatime,data=ordered)
/dev/block/mmcblk0p26 on /sdcard type ext4 (rw,seclabel,relatime,data=ordered)
/dev/block/mmcblk0p24 on /cache type ext4 (rw,seclabel,relatime,data=ordered)
I assume (or rather: I fear), I'd have to enable "system" for mounting in the TWRP screen to be able to temper with my build.prop.
Maybe someone can shed a light and show me, what I got to do to access /system and build.prop?
(Apart from getting a new display.)
Greetings
I believe you need to call "/sys" instead of "/system" so it can be found in /proc/mounts where the mount requirement are stored
Pan0ptics said:
I believe you need to call "/sys" instead of "/system" so it can be found in /proc/mounts where the mount requirement are stored
Click to expand...
Click to collapse
help!
my audio daemon services are not running in latest nitrogen pie rom.it was running before on other pie rom on redmi 3s
some bug reports generated .
i did all possible simple solution like factory reset or complete clean flash of stock rom or tried other older rom like rr oreo rom but no luck .
and i mounted system partition as rw it resets to ro after every reboot.
maybe strace is not running properly it is mentioned in bug report

Categories

Resources