[Q] [REF] [Android 4.4] sdcard symlinks - Android Q&A, Help & Troubleshooting

I'm looking for a smooth way to use symlinks from/to both the emulated sdcard and an ext4 formatted external sdcard in order to easily redirect data between the two.
However the way those file systems are both mounted and linked on various locations in the directory tree isn't very straight forward:
Mount Points
The external sdcard gets mounted natively on /mnt/media_rw/sdcard1 ... and once again virtually with a fuse layer on top on /storage/sdcard1
Code:
[email protected]:/ # mount | grep sdcard1
/dev/block/vold/179:33 on /mnt/media_rw/sdcard1 type ext4 (rw,dirsync,context=u:object_r:sdcard_external:s0,nosuid,nodev,noexec,noatime,data=ordered)
/dev/fuse on /storage/sdcard1 type fuse (rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other)
[email protected]:/ # df -m | grep sdcard1
/dev/block/vold/179:33 14953 174 14627 1% /mnt/media_rw/sdcard1
/dev/fuse 14953 174 14627 1% /storage/sdcard1
The emulated sdcard (origin: /data/media/*) is virtually fuse mounted on /mnt/shell/emulated (and /storage/emulated/**)
Code:
[email protected]:/ # mount | grep emulated | grep fuse
/dev/fuse on /mnt/shell/emulated type fuse (rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /storage/emulated/0 type fuse (rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /storage/emulated/0/Android/obb type fuse (rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /storage/emulated/legacy type fuse (rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /storage/emulated/legacy/Android/obb type fuse (rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other)
[email protected]:/ # df -m | grep emulated | grep fuse
/dev/fuse 5465 164 5301 3% /mnt/shell/emulated
/dev/fuse 5465 164 5301 3% /storage/emulated/0
/dev/fuse 5465 164 5301 3% /storage/emulated/0/Android/obb
/dev/fuse 5465 164 5301 3% /storage/emulated/legacy
/dev/fuse 5465 164 5301 3% /storage/emulated/legacy/Android/obb
Links
Existing symlinks pointing to sdcards:
Code:
/external_sd -> /storage/sdcard1
/mnt/external_sd -> /storage/sdcard1
/sdcard -> /storage/emulated/legacy
/mnt/sdcard -> /storage/emulated/legacy
/storage/sdcard0 -> /storage/emulated/legacy
/storage/emulated/legacy -> /mnt/shell/emulated/0
Symlink Creation
Fuse mount points don't allow for creation of symlinks:
Code:
[email protected]:/ # ln -s /storage/sdcard0 /storage/sdcard1/link_to_sdcard0
ln: /storage/sdcard1/link_to_sdcard0: Function not implemented
But native mount points do:
Code:
[email protected]:/ # ln -sv /storage/sdcard0 /mnt/media_rw/sdcard1/link_to_sdcard0
'/mnt/media_rw/sdcard1/link_to_sdcard0' -> '/storage/sdcard0'
Permissions
Code:
drwx------ 4 1023 1023 /mnt/media_rw
drwxr-xr-x 4 root root /mnt/media_rw/sdcard1** # when mounted
drwx------ 2 1023 1023 /mnt/media_rw/usbdisk # when unmounted
drwxr-x--x 5 root 1028 /storage
drwxrwx--x 4 root 1028 /storage/sdcard1** # when mounted
drwx------ 2 root root /storage/usbdisk # when unmounted
drwx------ 3 shell shell /mnt/shell
drwxrwx--x 5 root 1028 /mnt/shell/emulated** # only 0 populated (legacy, obb empty)
drwx------ 2 shell shell /mnt/shell/emulated # when unmounted
drwxr-x--x 5 root 1028 /storage
dr-xr-xr-x 2 root root /storage/emulated**
1015=sdcard_rw
1023=media_rw
1028=sdcard_r
After applying these permission fixes to overcome external storage restrictions introduced in 4.4 the link becomes accessible in File Manager, but again only via the native mount point.
Storage Variables
Am I wrong assuming that apps rather use environment variables to determine storage paths than looking in the directory tree!? Well, obviously they point to the unwanted fuse mount points:
Code:
[email protected]:/ # env | grep sdcard1
EXTERNAL_SD=/storage/sdcard1
SECONDARY_STORAGE=/storage/sdcard1:/storage/usbdisk
[email protected]:/ # env | grep emulated
EMULATED_STORAGE_SOURCE=/mnt/shell/emulated
EMULATED_STORAGE_TARGET=/storage/emulated
EXTERNAL_STORAGE=/storage/emulated/legacy
Solution?
Here is some official information on how storage is used: http://source.android.com/devices/tech/storage/config-example.html
I've started messing around building a new ramdisk in order to gain control over the cards. Ideas so far are:
- remove fuse stuff from init.rc --> use bind mounts for the emulated sdcard?
- remove vold stuff from init.rc?
- setting up mount points manually in fstab
- changing variables to the native mount point in case of the external sdcard
Ideas for solutions causing the least headache?
---
Notes:
/etc/init* script
/system/build.prop: persist.fuse_sdcard=false # emulated sdcard does not get mounted at all

I share your pain trying to get your head around how android 4.4 works.
The documentation is definately lacking...
Don't forget also that ALL shares are declared to the os through "framework-res.xml",
and this file is very pedantic with its "strings".
ie: the string-names are built-in. Things break if you change them.
In the end when I eventually got my head around it (sort of), it was easier to use the designed in methods to achieve/share what I wanted,
rather than try to modify android4.4 back to 4.1.
edit2:
as my info cost me dozens of googling hours, and lots of experimentation, i'll add this hoping it will be useful....
Remember you actually can share: emulated storage, other internal storage, and plug-in usb storage, internally, and externally via mtp.
and it does work well.
http://source.android.com/devices/tech/storage/config-example.html
The link you posted above contains nearly everything you need to get shares and mtp working nicely for you...
edit3:
I needed this as well.
export PRIMARY_STORAGE /storage/emulated/legacy # RC note: gets around issues
edit4:
I also had to relax/change the permissions to make it work properly:
mkdir /storage/emulated 0750 media_rw media_rw # RCmod: was 0555 root root
and here as well:
#External storage directories
mkdir /mnt/media_rw/sdcard1 0750 media_rw media_rw
mkdir /mnt/media_rw/sdcard2 0750 media_rw media_rw
mkdir /storage/usbdisk0 0750 media_rw media_rw
there were other things as well but hopefully you can use this as a starting point.
....and then there is Selinux

So I was able to create a symlink to external sdcard on LG g3 running rooted stock kit Kat Rom. I successfully changed Groove's (formerly xboxmusic) offline storage to external sdcard.
The following command was successful in creating a link, but Groove was unable to download music to the directory presumably due to permissions on /mnt
su
cp -rp /data/media/0/Android/data/com.microsoft.xboxmusic /storage/external_sd
rm -r /data/media/0/Android/data/com.microsoft.xboxmusic
ln -s /mnt/media_rw/external_sd/com.microsoft.xboxmusic/ /data/media/0/Android/data
After these commands, Groove was producing errors stating that there was not enough disk space. As said before, I believe this was due to it's lack of permissions to /mnt
Replacing the last command with the following worked and offline music is now downloaded to external sd card
ln -s /storage/external_sd/com.microsoft.xboxmusic/ /data/media/0/Android/data
data
Hope this helps.

monkeyfncoconut said:
So I was able to create a symlink to external sdcard on LG g3 running rooted stock kit Kat Rom. I successfully changed Groove's (formerly xboxmusic) offline storage to external sdcard.
The following command was successful in creating a link, but Groove was unable to download music to the directory presumably due to permissions on /mnt
su
cp -rp /data/media/0/Android/data/com.microsoft.xboxmusic /storage/external_sd
rm -r /data/media/0/Android/data/com.microsoft.xboxmusic
ln -s /mnt/media_rw/external_sd/com.microsoft.xboxmusic/ /data/media/0/Android/data
After these commands, Groove was producing errors stating that there was not enough disk space. As said before, I believe this was due to it's lack of permissions to /mnt
Replacing the last command with the following worked and offline music is now downloaded to external sd card
ln -s /storage/external_sd/com.microsoft.xboxmusic/ /data/media/0/Android/data
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
data
Hope this helps.
Click to expand...
Click to collapse
Is it true that:
symbolic linking
ext4->fuse works
ext4->vfat does not work?
And,
Is it possible fuse->fuse, or fuse->ext4?

Hi, I have a problem, I have the odd situation that the system partition shows 4gb and the /sdcard shows the 54.9gb, but there not linked, can some one guide me how to link them please.

Related

Nabi 2 vold.fstab

I have been tryying to get the Nabi 2 to mount micro sd card/sdcard2 as internal storage/sdcard. I have altered the vold file on AN7G3 Arnova 7" tablet so as to have 32 gig internal instead of 4 gig, works really well. Also know many have done this for other devices and works on GB 3.2 and ICS 4.03. Nabi2 has ICS 4.0.3 but can not get them to switch. when i change sdcard and sdcard2 and reboot, device can not reconize micro sdcard/sdcard2 and openning settings/storage on the device cause the storage to force close. ES File Exployer does not reconize sdcard2. Is there a way to achieve this with the vold file or does this have to be done thru adb. If adb could someone help me with the commands. This device IS rooted and Google Play installed. I will include a copy of the vold.fstab as a vold.txt. TIA as several folks need this info and i will relay your info or you can on the Nabi 2 thread.
i don`t see the internal storage defined in the vold.fstab
can you put the output from mount ?
globula_neagra said:
i don`t see the internal storage defined in the vold.fstab
can you put the output from mount ?
Click to expand...
Click to collapse
Not really sure what you want. The internal storage is named sdcard and micro sdcard is named sdcard2. In settings/storage they are listed as internal storage and sdcard. Es File explorer sees them as sdcard and sdcard2. If I know what you need, I will get it for you.Need
dev_mount sdcard /mnt/sdcard2 auto /devices/platform/sdhci-tegra.0/mmc_host/mmc2 (this is the external sd card)
dev_mount usbdrive /mnt/usbdrive auto /devices/platform/tegra-ehci.0/usb2 (this is the host where you can connect a mouse, etc.)
this what apears in your vold.fstab
so, the line for the internal storage is missing
on my tablet it looks like this
dev_mount sdcard /mnt/sdcard 20 /devices/platform/msm_sdcc.2/mmc_host (internal storage)
dev_mount sdcard1 /mnt/external_sd auto /devices/platform/msm_sdcc.4/mmc_host (external sd)
dev_mount udisk /mnt/udisk auto /devices/platform/msm_hsusb_host.0/usb1 (host for mouse, keyboards, etc)
This is the "mount" in adb shell
C:\Android\android-sdk\platform-tools>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
sh-3.2# su
su
sh-3.2# mount
mount
rootfs / rootfs ro,relatime 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
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
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p12 /system ext4 ro,relatime,user_xattr,barrier=1,data=ordered
0 0
/dev/block/mmcblk0p13 /data ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,d
ata=ordered,noauto_da_alloc 0 0
/dev/block/mmcblk0p14 /persist ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=
1,data=ordered 0 0
/dev/block/mmcblk0p15 /cache ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,
data=ordered 0 0
/dev/block/mmcblk0p17 /content ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=
1,data=ordered 0 0
/dev/block/vold/179:97 /mnt/external_sd vfat rw,dirsync,nosuid,nodev,noexec,rela
time,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,ioc
harset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:20 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,
uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharse
t=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:20 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,rela
time,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,ioc
harset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
sh-3.2#
I agree, this vold is different from what I have delt with in my limited experience. Here is a screen shot of mount on terminal emulator. Does this give you the info that you requested.
well, in the mount the internal storage it appears, is strange that it does not appear in the vold.fstab
i think the internal storage is triggered by the boot.img, or a .rc from the /etc
you could have a look on a nexus tablet, or acer iconia110 to see how is defined there the internal storage in vold.fstab. (since all are having tegra 3, you should have a corect image)
globula_neagra said:
well, in the mount the internal storage it appears, is strange that it does not appear in the vold.fstab
i think the internal storage is triggered by the boot.img, or a .rc from the /etc
you could have a look on a nexus tablet, or acer iconia110 to see how is defined there the internal storage in vold.fstab. (since all are having tegra 3, you should have a corect image)
Click to expand...
Click to collapse
That's a good thought as Nabi2 is very close to the nexus 7 . Will try and run those down. Thanks
I have just spent the last 2 hours attempting to mod the Vold file in like 4-5 different ways and nothing worked I took the moded Vold file off my LG Esteem Smart phone which has a moded Vold file that makes my extsdcard the Internal Memory and studied it to find there is only like 2 sets of 2 words and numbers that are switched from one line of code to another and THATS IT!! The rest of the code is letter for letter number for number the same!... So I tried applying the same technique to my Nabi 2's Vold file and no matter what it just makes the extsdcard (sdcard2) appear not there anymore and has the following message in the storage status tab.. "Insert an SD card for mounting" Someone's gotta tackle this!!
It was suggested that I/we as clarkiss run an su file with script manager and alter the vold. We did this and still force close when openning settings/storage. Used original vold and ran script, when opened settings/storage, I see my micro sdcard listed as internal storage and sdcard2. Es File explorer sees micro sdcard as sdcard and sdcard2, nothing sees the internal storage but any programs or games still install to the unseen internal storage.
Anyone have any idea on this? I have included the sdcard_switch.su that we ran with script manager, in hope that with the vold posted above someone might have an idea to help us. There are quite a few folks looking for this and will be more as they by these for christmas.
Thanks.
I figured I would post the original Vold.fstab to see if anyone has any ideas or suggestions... If you need me to post anymore files let me know and I will quickly get posted!! The below code is the entire contents of the Vold.fstab... I also have included a link to download (Hosted by my Box account) the Vold.fstab file at the bottom of this post after the code as well incase anyone wanted to help us play with it :silly: Help with this on any level is more then welcome!!
Contents of Vold.fstab file (Code)
## Vold 2.0 fstab for kai
#######################
## Regular device mount
##
## Format: dev_mount <label> <mount_point> <part> <sysfs_path1...>
## label - Label for the volume
## mount_point - Where the volume will be mounted
## part - Partition # (1 based), or 'auto' for first usable partition.
## <sysfs_path> - List of sysfs paths to source devices
######################
# Mounts the first usable partition of the specified device
dev_mount sdcard /mnt/sdcard2 auto /devices/platform/sdhci-tegra.0/mmc_host/mmc2
dev_mount usbdrive /mnt/usbdrive auto /devices/platform/tegra-ehci.0/usb2
https://www.box.com/s/2az7hod00g9fbenn3j14
If anyone has a vold.fstab from a nexus tablet, or acer iconia110 tablet that they could share. I would like to see them to compare with the nabi 2.
as i said, on you guys, the vold does not trigger the internal storage (have a look here on this lines )
/dev/block/vold/179:97 /mnt/external_sd vfat rw,dirsync,nosuid,nodev,noexec,rela
time,uid=1000,gid=1015,fmask=0702,dmask=0702,allow _utime=0020,codepage=cp437,ioc
harset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:20 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,
uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utim e=0020,codepage=cp437,iocharse
As you can see this line: /dev/block/vold/179:20 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime, is the internal storage, on your vold, this line is missing
therefore you should start and search when the internal storage is mounted
the line that defines the internal storage is
dev/fuse mnt/sdcard
you should look maybe in the boot.img ?
it should look like this
dev_fuse sdcard /mnt/sdcard fuse
---------- Post added at 02:02 PM ---------- Previous post was at 01:58 PM ----------
this is the vold from HTC one x, tegra version.
## Vold 2.0 fstab for endeavor
#######################
## Regular device mount
##
## Format: dev_mount <label> <mount_point> <part> <sysfs_path1...>
## label - Label for the volume
## mount_point - Where the volume will be mounted
## part - Partition # (1 based), or 'auto' for first usable partition.
## <sysfs_path> - List of sysfs paths to source devices
######################
# Mounts the first usable partition of the specified device
#dev_mount sdcard /mnt/sdcard auto /devices/platform/sdhci-tegra.2/mmc_host/mmc1
dev_mount sdcard /mnt/sdcard 14 /devices/platform/sdhci-tegra.3/mmc_host/mmc0
As you can see the internal storage is trigered by the vold.
globula_neagra said:
as i said, on you guys, the vold does not trigger the internal storage you should look maybe in the boot.img ?
Click to expand...
Click to collapse
Sounds good...How do I look in the boot.img? Is there a program or something of that sort to use? Could you give me a quick guide on the steps to take to look in the boot.img?
globula_neagra said:
as i said, on you guys,
it should look
As you can see the internal storage is trigered by the vold.
Click to expand...
Click to collapse
I also don't know where to start. Sorry to be so lost but really don't know what to do from here. Any help pointing us to what we need to do would be great. We are learning and follow direction. I have looked for the info but no luck.
We are noob's but trying. Lol
Located the boot.img
I think I located the boot.img... After reading and jumping from link to link forum to forum I came across "bootanimation.zip" in /system/media. Im going to unpack it and study it via HowTo: Unpack/Edit/Repack Boot Images website
---------- Post added at 07:23 PM ---------- Previous post was at 07:17 PM ----------
Clarkiss said:
I think I located the boot.img... After reading and jumping from link to link forum to forum I came across "bootanimation.zip" in /system/media. Im going to unpack it and study it via HowTo: Unpack/Edit/Repack Boot Images website
Click to expand...
Click to collapse
Scratch that lol its just the god damn boot animation in the beganning damn it!!!!!:crying:
Clarkiss said:
I think I located the boot.img... After reading and jumping from link to link forum to forum I came across "bootanimation.zip" in /system/media. Im going to unpack it and study it via HowTo: Unpack/Edit/Repack Boot Images website
---------- Post added at 07:23 PM ---------- Previous post was at 07:17 PM ----------
Scratch that lol its just the god damn boot animation in the beganning damn it!!!!!:crying:
Click to expand...
Click to collapse
You know, jmztaylor has img files at
http://androidfiles.org/uploads/?dir=Nabi2
I just don't know how to unpack it?
ALD3 said:
You know, jmztaylor has img files at
http://androidfiles.org/uploads/?dir=Nabi2
I just don't know how to unpack it?
Click to expand...
Click to collapse
Ok im starting to get deeper and deeper into this lol I have unpacked the ROM we are running on which of course is from jmz with Android Kitchen/Cygwin and I am looking at Working Folder Information in the Kitchen and I see something I kinda dont like... Of course there is like 10-15 lines of information like Android OS version: 4.0.4 and ROM Name: JmzStockNabi and so on but this is what is bothering me... One of the lines reads as follows.. Apps2SD <Apps to EXT> enabled: NO .... I wonder what would happen if that were changed? anyone have any suggestions?
stripped Nabi 2 ROM
After extracting the BOOT.img and opening the "BOOT- EXTRACTED" folder it created I found another folder in that folder called "boot.img-ramdisk" and inside it was the following:
[folder called] data
[folder called] dev
[folder called] proc
[folder called] sbin
[folder called] sys
[folder called] system
[PROP file called] default.prop
[file called] init
[RC file called] init.goldfish.rc
[RC file called] init.mt799.rc
[RC file called] init.nv_dev_board.usb.rc
[RC file called] init.rc
[RC file called] init.tf.rc
[RC file called] ueventd.goldfish.rc
[RC file called] ueventd.mt799.rc
[RC file called] ueventd.rc
I started studying all the files and the one that looked most interesting to me and what im trying to do is the "init.mt799.rc" file!:laugh: It seemed to reference quite often the sdcard, sdcard2, and external storage so that got me a little happy haha! Seems like I might be starting to get to the bottom of this riddle :fingers-crossed: So I copied and pasted the entire contents of the "init.mt799.rc" file code below to see what you guys think! And if you guys want me to post/attach any one of those other files let me know which and I will immediately
"init.mt799.rc" file contents
#Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved.
import init.nv_dev_board.usb.rc
on early-init
mount debugfs debugfs /sys/kernel/debug
# for backwards compatibility
export EXTERNAL_STORAGE /mnt/sdcard
export EXTERNAL_STORAGE2 /mnt/sdcard2
mkdir /mnt/sdcard 0000 system system
symlink /mnt/sdcard /sdcard
mkdir /forever 0644 system system
mkdir /sct 0644 system system
mkdir /mnt/sdcard2 0000 system system
# create directory for mounting usb drives
mkdir /mnt/usbdrive 0666 system system
symlink /mnt/usbdrive /usbdrive
on fs
# Mount system to allow checkpoint and set NVSI symlink
mount ext4 /dev/block/platform/sdhci-tegra.3/by-name/APP /system rw
# Create NVSI filter symlink
symlink /data/data/com.nvidia.NvCPLSvc/files/com.nvidia.nvsiutilv1.xml /system/etc/permissions/com.nvidia.nvsiutilv1.xml
# Remount system read-only
mount ext4 /dev/block/platform/sdhci-tegra.3/by-name/APP /system wait ro remount
setprop ro.crypto.tmpfs_options size=128m,mode=0771,uid=1000,gid=1000
setprop ro.crypto.umount_sd false
mount ext4 /dev/block/platform/sdhci-tegra.3/by-name/UDA /data wait noatime nosuid nodev journal_async_commit,data=writeback,nodelalloc,errors=panic
mount ext4 /dev/block/platform/sdhci-tegra.3/by-name/CAC /cache wait noatime nosuid nodev journal_async_commit,data=writeback,nodelalloc,errors=panic
mount ext4 /dev/block/platform/sdhci-tegra.3/by-name/UDD /forever wait noatime nosuid nodev journal_async_commit,data=writeback,nodelalloc,
#mount ext4 /dev/block/platform/sdhci-tegra.3/by-name/SCT /sct wait noatime nosuid nodev journal_async_commit,data=writeback,nodelalloc
on post-fs-data
mkdir /data/addon_res 0770 system system
mkdir /sct 0644 system system
mkdir /data/misc/wifi 0770 wifi wifi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/misc/dhcp 0770 dhcp dhcp
mkdir /data/nvcam 0700 media camera
chown dhcp dhcp /data/misc/dhcp
chown wifi wifi /data/misc/wifi
chown wifi wifi /data/misc/wifi/wpa_supplicant.conf
chown wifi wifi /data/misc/wifi/hostapd.conf
mkdir /data/misc/wminput 0776 system system
# we will remap this as /mnt/sdcard with the sdcard fuse tool
mkdir /data/media 0775 media_rw media_rw
chown media_rw media_rw /data/media
# Set indication (checked by vold) that we have finished this action
setprop vold.post_fs_data_done 1
chown system system /forever
mkdir /forever/misc 0774 system system
mkdir /forever/misc/dmt 0777 system system
chown system system /sys/class/accelemeter/dmard06/enable_acc
chown system system /sys/class/accelemeter/dmard06/delay_acc
on boot
#reboot_flag
chmod 0666 /dev/block/platform/sdhci-tegra.3/by-name/UDE
# bluetooth
# bluetooth MAC address programming
chown bluetooth bluetooth ro.bt.bdaddr_path
chown bluetooth bluetooth /system/etc/bluetooth
#setprop ro.bt.bdaddr_path "/system/etc/bluetooth/bdaddr"
mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
mkdir /data/misc/bluetooth 0770 system system
# bluetooth
# bluetooth MAC address programming
chmod 0660 /sys/class/rfkill/rfkill0/state
chmod 0660 /sys/class/rfkill/rfkill0/type
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
# NFC
#setprop ro.nfc.port "I2C"
# backlight
chown system system /sys/class/backlight/pwm-backlight/brightness
# didim
chown system system /sys/class/graphics/fb0/device/smartdimmer/enable
chown system system /sys/class/graphics/fb0/device/smartdimmer/aggressiveness
# power
chown system system /sys/kernel/tegra_cap/core_cap_level
chown system system /sys/kernel/tegra_cap/core_cap_state
chown system system /sys/module/cpu_tegra/parameters/cpu_user_cap
# Power management settings
write /sys/module/cpu_tegra3/parameters/no_lp 0
#write /sys/module/tegra3_emc/parameters/emc_enable 0
#write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1000000
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor conservative
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor conservative
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor conservative
write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor conservative
write /sys/devices/system/cpu/cpufreq/conservative/up_threshold 95
write /sys/devices/system/cpu/cpufreq/conservative/down_threshold 75
write /sys/devices/system/cpu/cpufreq/conservative/freq_step 3
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive
write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive
write /sys/devices/system/cpu/cpufreq/interactive/boost_factor 2
write /sys/devices/system/cpu/cpufreq/interactive/sustain_load 80
write /sys/module/cpu_tegra3/parameters/auto_hotplug 1
#write /sys/module/cpuidle_t3/parameters/lp2_0_in_idle 0
write /sys/module/cpuidle/parameters/lp2_in_idle 1
chown system system /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
chown system system /sys/devices/system/cpu/cpufreq/interactive/max_boost
# Default Read Ahead value for sdcards
write /sys/block/mmcblk0/queue/read_ahead_kb 2048
write /sys/block/mmcblk1/queue/read_ahead_kb 2048
# Wiimote connect status
write /data/misc/wminput/connected 0
chmod 0666 /data/misc/wminput/connected
# GPS init
#write /sys/class/gpio/export 162
#write /sys/class/gpio/gpio162/value 0
#write /sys/class/gpio/gpio162/direction out
#chown root system /sys/class/gpio/gpio162/value
#chmod 0664 /sys/class/gpio/gpio162/value
#write /sys/class/gpio/export 163
#write /sys/class/gpio/gpio163/direction out
#write /sys/class/gpio/gpio163/value 1
#chown root system /sys/class/gpio/gpio163/value
#chmod 0664 /sys/class/gpio/gpio163/value
# Load WiFi driver
insmod /system/lib/modules/bcmdhd.ko
# BB mapping symbolic name to the logging ttyACM port
symlink /dev/ttyACM2 /dev/log_modem
on property:ro.debuggable=1
# EMC debug interface
chmod 666 /sys/kernel/debug/tegra_emc/eack_state
service wpa_supplicant /system/bin/wpa_supplicant \
-Dnl80211 -puse_p2p_group_interface=1 -e/data/misc/wifi/entropy.bin -dd
# we will start as root and wpa_supplicant will switch to user wifi
# after setting up the capabilities required for WEXT
# user wifi
# group wifi inet keystore
class main
socket wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot
#TI-ST
service uim /system/bin/uim-sysfs
class core
user root
group root
oneshot
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
service dhcpcd_p2p /system/bin/dhcpcd -aABKL
class main
disabled
oneshot
service dhcpcd_eth0 /system/bin/dhcpcd -ABKL -f/system/etc/dhcpcd/dhcpcd.conf
class main
disabled
oneshot
service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
service iprenew_wlan0 /system/bin/dhcpcd -n
class main
disabled
oneshot
service iprenew_p2p /system/bin/dhcpcd -n
class main
disabled
oneshot
service iprenew_eth0 /system/bin/dhcpcd -n
class main
disabled
oneshot
# create virtual SD card at /mnt/sdcard, based on the /data/media directory
# deamon will drop to user/group system/media_rw after initializing
# underlying files in /data/media wil be created with user and group media_rw (1023)
service sdcard /system/bin/sdcard /data/media 1023 1023
class late_start
# bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys
service bugreport /system/bin/dumpstate -d -v -o /data/storage/bugreports/bugreport
class main
disabled
oneshot
keycodes 115 114
#BCM
service hciattach /system/bin/brcm_patchram_plus --enable_hci --scopcm=0,2,0,0,0,0,0,0,0,0 \
--baudrate 3000000 --patchramdir /etc/firmware --enable_lpm --tosleep=5000 --create_bdaddr /dev/ttyHS2
user bluetooth
group bluetooth net_bt_admin
disabled
# Mount usb drives as /usbdrive. Generally usb drives are formatted with FAT
# filesystem, so we support FAT as of now.
on device-added-/sys/block/sda
mount vfat /dev/block/sda /mnt/usbdrive
on device-removed-/sys/block/sda
umount /mnt/usbdrive
# Prepare TF service
import init.tf.rc
# Enable NvCpuD, and set it to never poll config again
on boot
setprop nvcpud.enabled true
setprop nvcpud.config_refresh_ms -1
service nvcpud /system/bin/nvcpud
class main
user root
group root
#Raydium touch setting
#service rm_ts_service /system/bin/rm_ts_server
# class main
#Synaptics touch, allow low power mode
#on boot
# write /sys/devices/sensor00/fn01/nosleep 0
# create filesystems if necessary
service setup_fs /system/bin/setup_fs \
/dev/block/platform/sdhci-tegra.3/by-name/UDA \
/dev/block/platform/sdhci-tegra.3/by-name/CAC \
/dev/block/platform/sdhci-tegra.3/by-name/UDD
class core
user root
group root
oneshot
service pm_service_check /system/bin/pm_service check
class core
user root
group root
oneshot
service pm_service_clear /system/bin/pm_service clear
user root
group root
disabled
oneshot
on property:sys.kh.addon.mount=true
mount ext4 /dev/block/platform/sdhci-tegra.3/by-name/UDB /data/addon_res wait rw ,data=writeback,nodelalloc
chown system system /data/addon_res
setprop sys.kh.addon.mount_state true
i will have a look on this for you.
you will need dxixda kitchen to unpack the system.img and boot/recovery.img
if someone can tell which is exactly the boot.img and the system.img from here http://androidfiles.org/uploads/?dir=Nabi2
http://androidfiles.org/uploads/?dir=Nabi2/stockimages
what mmblock is the system and boot.
---------- Post added at 12:27 PM ---------- Previous post was at 12:09 PM ----------
till now i noticed the fallowing values
# Default Read Ahead value for sdcards
write /sys/block/mmcblk0/queue/read_ahead_kb 2048
write /sys/block/mmcblk1/queue/read_ahead_kb 2048
# for backwards compatibility
export EXTERNAL_STORAGE /mnt/sdcard
export EXTERNAL_STORAGE2 /mnt/sdcard2
mkdir /mnt/sdcard 0000 system system
symlink /mnt/sdcard /sdcard
# we will remap this as /mnt/sdcard with the sdcard fuse tool
mkdir /data/media 0775 media_rw media_rw
chown media_rw media_rw /data/media
globula_neagra said:
i will have a look on this for you.
you will need dxixda kitchen to unpack the system.img and boot/recovery.img
if someone can tell which is exactly the boot.img and the system.img from here http://androidfiles.org/uploads/?dir=Nabi2
Click to expand...
Click to collapse
The boot.img (and the system.img i think) is in the jmzrootpackage.zip. Because anyone trying to do what we are would have that boot.img flashed or at least thats the one I have because I used that files contents to gain root access and it has a new boot.img that it flashed to my Nabi 2...

AOSP 4.2: Encryption Unsuccessfull

Hi all,
i have a problem with my built AOSP 4.2 rom:
Currently i stuck on the screen "Encryption unsuccessfull".
Its no related to my phone but the "init.[HARDWARE].rc" file: in Android 4.2 there are was storage mechansism changed so the
volume manager needs to be reconfigured in this file - here i need some help to configure that. The problem seems to be as
the storage cant be accessed to write, there are error messages in logcat like "cant mount on read-only file system".
Please, dont write here "your sdcard is damaged": i can flash any other custom rom and dont get this message
here are the configured parts that i have made in the rc file:
Code:
mkdir /mnt/shell/emulated 0700 shell shell
mkdir /storage 0550 system sdcard_r
mkdir /storage/emulated 0555 root root
mkdir /storage/sdcard1 0775 system system
mkdir /storage/usbdisk0 0755 system system
export EXTERNAL_STORAGE /storage/emulated/legacy
export SECONDARY_STORAGE /storage/sdcard1
export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
export EMULATED_STORAGE_TARGET /storage/emulated
symlink /storage/emulated/legacy /sdcard
symlink /storage/emulated/legacy /mnt/sdcard
symlink /storage/emulated/legacy /storage/sdcard0
symlink /mnt/shell/emulated/0 /storage/emulated/legacy
symlink /storage/sdcard1 /extSdCard
symlink /storage/sdcard1 /mnt/extSdCard
symlink /storage/usbdisk0 /usbdisk0
symlink /storage/usbdisk0 /mnt/usbdisk0
And, the new command in this file for "sdcard" is as here
Code:
service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
class late_start
a full logcat is here.
Thanks for a hint to solve that

first adb action

Hi to all. I'm Abe Wayer.
I'm dreaming to start changing at first my own mobile OS end maybe going to develop a day.
Today it's just all the afternoon that i google....
I became root, I partitioned my sd and installing sdk & adb tools in a couple of days.
something goes quickly something not.
I have a galaxy ace with 2.3.6
I thought to start my develop time using adb.
first at all adb push.
So i made:
adb push test.txt /sdcard/test.txt
And i have: permission denied
I googled a lot and nothing worked:
Debug usb is on.
I umounted sdcard from /media (I use linux)
I've tried this as well:
mount -o remount , rw /dev/block/void/179:9 /sdcard
or
mount -r -w -o remount -t vfat /dev/block/void/179:9 /sdcard
But nothing work!
If im not able to push a file on a sd what i dream for?
My sdcard has two partition linux call them sdc1 & sdc2 first is 1500 Mib second 400
Thanks for your help
No Links too?
Please give me a hand!:crying:
Dont you have a guide ive not fought?
Please.....
News:
I've tried:
adb shel => su =>fdisk -l
and i've got the device name but if do:
# mount rw -o remount, rw -t fat32 /dev/stl10 /sdcard
I always have:
Usage: mount [-r] [-w] [-o options] [-t type] device directory
But is there somewhere on the web an adb shel man complete with examples?
How do i obtain -w permission on my sd card?
adb pull works so i can read....
if i try ls -l /sdcard i got: lrwxrwxrwx root root 2012-12-18 02:01 sdcard -> /mnt/sdcard
So root can write.
Have i to change owner to the card?
Or simply with adb i'd say i'm root?
have i to umount sdcard?
Please!
Abe Wayer said:
# mount rw -o remount, rw -t fat32 /dev/stl10 /sdcard
Click to expand...
Click to collapse
Wrong usage, correct usage (provided that the device is correct):
Code:
mount -o rw, remount -t fat32 /dev/stl10 /sdcard
RoberGalarga said:
Wrong usage, correct usage (provided that the device is correct):
Code:
mount -o rw, remount -t fat32 /dev/stl10 /sdcard
Click to expand...
Click to collapse
Doesn't work as well.
my fdisk -l output is this:
# fdisk -l
Disk /dev/bml10: 41 MB, 41943040 bytes
255 heads, 63 sectors/track, 5 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/bml10 doesn't contain a valid partition table
Disk /dev/stl10: 37 MB, 37748736 bytes
255 heads, 63 sectors/track, 4 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
Abe Wayer said:
if i try ls -l /sdcard i got: lrwxrwxrwx root root 2012-12-18 02:01 sdcard -> /mnt/sdcard
So root can write.
Click to expand...
Click to collapse
You don't know that. This is just a symbolic link, not the volume itself. Do:
$ ls -l /mnt/sdcard
This will show you if the card is mounted properly. Also issue a "mount" command, no parameter. But you should not need to remount it, the sdcard is handled by magic via the vold daemon. As soon as you remove it from the GNU/Linux machine, vold will mount it in Android.
kuisma said:
Y
Do: $ ls -l /mnt/sdcard
.
Click to expand...
Click to collapse
With ls - /mnt I have:
# ls -l /mnt/
drwxr-xr-x root system 2012-12-18 02:01 obb
drwxr-xr-x root system 2012-12-19 14:27 asec
drwx------ root root 2012-12-18 02:01 secure
d--------- system system 2012-12-18 02:01 sdcard
So sdcar has not permissions?
mount about sdcard says
/dev/block/vold/179:9 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:9 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
It goes to be mounted rw but for some errors it came to be remounted ro?
I've proved with:
mount -o rw, remount -t vfat /dev/block/vold/179:9 /sdcard , And
mount -o rw, remount -t vfat /dev/block/vold/179:9 /mnt/sdcard
but the answer's always:
Usage: mount [-r] [-w] [-o options] [-t type] device directory
any ideas?
/dev/block/vold/179:9 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,g id=1015,fmask=0702,dmask=0702,allow_utime=0020,cod epage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
Click to expand...
Click to collapse
Your sdcard is mounted just fine, no need to try to change anything there. Don't confuse the sdcard with its mount point, different things.
Make sure you've got read access to your test file, and push it to some place you know you are allowed to write. And use the full path /mnt/sdcard/file.name just to be sure.
Also, again, do a "ls - l /mnt/sdcard" to see its really there.
I had the same problem when I didn't root correctly, check if you have root correctly by using a root app. (like root checker or root explorer)

[Q] vold mounts storage with incorrect permissions

I'm working on a CM port and currently facing issues with vold. For some weird reason, vold isn't mounting storage devices as it should. Here is my current vold.fstab file:
Code:
dev_mount flash /storage/sdcard0 auto /devices/platform/mtd/mtd8/media nonremovable
dev_mount sdcard /storage/sdcard1 auto /devices/platform/AMLOGIC_CARD/card_host/memorycard0
Using adb I can confirm that everything is mounted correctly and also I can browse the files. Using applications (even MediaScanner) fails with permission errors. This is how I'm creating the storage folders, for user/permissions reference:
Code:
# Create mountpoints
mkdir /mnt 0775 root system
export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1
mkdir /storage 0550 system sdcard_r
mkdir /storage/sdcard0 0000 system system
mkdir /storage/sdcard1 0000 system system
mkdir /storage/usbdisk0 0000 system system
symlink /storage/sdcard0 /sdcard
symlink /storage/sdcard0 /mnt/sdcard
symlink /storage/sdcard1 /mnt/external_sdcard
I have also noticed that the system reports different owner/group/permissions through adb and Terminal Emulator. Here are the outputs:
adb:
Code:
[email protected]:/ # ls -la /storage/
d---rwxr-x system sdcard_rw 1970-01-01 02:00 sdcard0
d---rwxr-x system sdcard_rw 1970-01-01 02:00 sdcard1
d--------- system system 2013-09-05 02:29 usbdisk0
Terminal Emulator:
Code:
ls -la /storage/
d--------- system system 2013-09-05 02:29 sdcard0
d--------- system system 2013-09-05 02:29 sdcard1
d--------- system system 2013-09-05 02:29 usbdisk0
Why does this happen? I'm suspecting storage_list.xml, but I checked mine and seems correct. Also, it doesn't define permissions, so I excluded that.
I'm out of ideas. What else should I check? How can I further debug this? Logcat doesn't show anything useful, everything seems fine with vold.
giannoug said:
I'm out of ideas. What else should I check? How can I further debug this? Logcat doesn't show anything useful, everything seems fine with vold.
Click to expand...
Click to collapse
Have you tried extracting the stock vold.fstab from your devices stock boot.img file to use as a reference point? You can then modify that if need be.
Sent from my SCH-I535 using xda premium
shimp208 said:
Have you tried extracting the stock vold.fstab from your devices stock boot.img file to use as a reference point? You can then modify that if need be.
Sent from my SCH-I535 using xda premium
Click to expand...
Click to collapse
Yes I did! Stock files are 4.1 though, so I made the appropriate changes (/mnt -> /storage) for example. It's really weird, because apps and adb show different permissions. Should I check anything in the Android framework?
giannoug said:
Yes I did! Stock files are 4.1 though, so I made the appropriate changes (/mnt -> /storage) for example. It's really weird, because apps and adb show different permissions. Should I check anything in the Android framework?
Click to expand...
Click to collapse
What I would recommend doing is setting the same permissions adb shows and seeing if that fixes any problems.
Sent from my SCH-I535 using xda premium
shimp208 said:
What I would recommend doing is setting the same permissions adb shows and seeing if that fixes any problems.
Sent from my SCH-I535 using xda premium
Click to expand...
Click to collapse
I created an init.d script that chowns storage0 and storage1 to system:sdcard_rw. Same results, but I can see from Terminal Emulator the new values. I also added a chmod to change those folder permissions to 775, but again, no luck.
From the Terminal Emulator, even if I become root, I still can't see sdcard0/1 contents. From adb, I can! Really weird... That's why I'm suspecting the framework and not vold. By the way, here is the output of mount, just in case you spot something wrong.
Code:
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 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
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/system /system ext4 ro,noatime,nodiratime,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/block/data /data ext4 rw,nosuid,nodev,noatime,nodiratime,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/block/cache /cache ext4 rw,nosuid,nodev,noatime,nodiratime,user_xattr,acl,barrier=1,data=ordered,noauto_da_alloc 0 0
none /proc/bus/usb usbfs rw,relatime 0 0
/dev/block/vold/253:1 /storage/sdcard1 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/250:32 /storage/sdcard0 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/250:32 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /storage/sdcard0/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
Maybe those fmask/dmask values?
Thanks!
you need an updated /init binary because starting with 4.2 and its (useless) multiuser thing mount mechanisms have changed. You can use this for example.
Christian Troy said:
you need an updated /init binary because starting with 4.2 and its (useless) multiuser thing mount mechanisms have changed. You can use this for example.
Click to expand...
Click to collapse
Thanks for the binary, unfortunately it still doesn't work. I also tried with the Elf II init binary from your repo and the device's stock binary. All binaries show the same error, no difference at all. What else can I try?
Storage is the only thing left to fix and I'm really stuck. No errors, no starting point
Did some further testing with the new init, this is what I'm getting now:
Code:
W/dalvikvm( 2523): Failed to mount /storage as MS_SLAVE: Invalid argument
giannoug said:
I'm working on a CM port and currently facing issues with vold. For some weird reason, vold isn't mounting storage devices as it should. Here is my current vold.fstab file:
Code:
dev_mount flash /storage/sdcard0 auto /devices/platform/mtd/mtd8/media nonremovable
dev_mount sdcard /storage/sdcard1 auto /devices/platform/AMLOGIC_CARD/card_host/memorycard0
Using adb I can confirm that everything is mounted correctly and also I can browse the files. Using applications (even MediaScanner) fails with permission errors. This is how I'm creating the storage folders, for user/permissions reference:
Code:
# Create mountpoints
mkdir /mnt 0775 root system
export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1
mkdir /storage 0550 system sdcard_r
mkdir /storage/sdcard0 0000 system system
mkdir /storage/sdcard1 0000 system system
mkdir /storage/usbdisk0 0000 system system
symlink /storage/sdcard0 /sdcard
symlink /storage/sdcard0 /mnt/sdcard
symlink /storage/sdcard1 /mnt/external_sdcard
I have also noticed that the system reports different owner/group/permissions through adb and Terminal Emulator. Here are the outputs:
adb:
Code:
[email protected]:/ # ls -la /storage/
d---rwxr-x system sdcard_rw 1970-01-01 02:00 sdcard0
d---rwxr-x system sdcard_rw 1970-01-01 02:00 sdcard1
d--------- system system 2013-09-05 02:29 usbdisk0
Terminal Emulator:
Code:
ls -la /storage/
d--------- system system 2013-09-05 02:29 sdcard0
d--------- system system 2013-09-05 02:29 sdcard1
d--------- system system 2013-09-05 02:29 usbdisk0
Why does this happen? I'm suspecting storage_list.xml, but I checked mine and seems correct. Also, it doesn't define permissions, so I excluded that.
I'm out of ideas. What else should I check? How can I further debug this? Logcat doesn't show anything useful, everything seems fine with vold.
Click to expand...
Click to collapse
Im having a few issues also. It seems to be rooted only 4.1.2 and later... Has specifically been vzw. I have my phone running a ported multicarrier on sgs3 and it's based on vzw. I'm running a d2att kernel though. I had to assign umask=0755 with busybox in a .sh in /system/xbin and remount sdcard0. It does work but I'd like a solution... not a patch lol. I've made several attempts to fix this, but with initramfs jamming errors at us and carriers crippling the roms to barely functional... I don't know to do but continue with a patch. Reply if you need the script, but you look as qualified as I am to write a fast one up. The weird thing is what happens trying to view a pic and it has no permissions. Smanager fixes it with another .sh script, scripts are powerful but it's not fixed... patched only. Good luck.
i'm in a middle of a nightmare with sdcard implementation in android, i'm compiling a cm10.2 android 4.3.1 based. as for the google guides for the sdcard i have used a fstab.xxxx and a storage_list.xml. i don't get it working, i can browse the sdcard(s) using adb but they never show as available on settings and on all apps. there is something obscure to me due the ridicolous documentation about the whole thing.
Vold mount the sdcards and it only mount them at the path written in the fstab, directories must be created on the init.hardware.rc and indeed the vold mount the volumes, but, it mount on storage/sdcard0 (assuming this is the path) and mouth them with own permissions so system.sdcard_rw 0075
guides says to use a fuse_sdcard service to remap the mounted sdcards with right permissions for the system so a "service sdcard /system/bin/sdcard source_path dest_path 1023 1023" is needed, where 1023 is the right user/group but i need to use as the dest_path the same path i used on storage_list.xml and as source_path the path vold has created, but how the src and dst can be the same?
what i tried so far:
using a different path on storage_list.xml= the sdcards are not mounted at all
using a different path on fstab.xxxx= vold don't mount the sdcards
using no sdcard service= vold mount the cards and they are working but they cannot be used on android,just with adb
i never ran so much troubles compiling kitkat, maybe android 4.3.1 has some obscure problems?
edit- post edited, maybe can help someone.
i got the problem solved, it was a init executable which was in my build tree by mistake (wrong device.mk)
once i used the init compiled i got the sdcard working.
shutt1e said:
i'm in a middle of a nightmare with sdcard implementation in android, i'm compiling a cm10.2 android 4.3.1 based. as for the google guides for the sdcard i have used a fstab.xxxx and a storage_list.xml. i don't get it working, i can browse the sdcard(s) using adb but they never show as available on settings and on all apps. there is something obscure to me due the ridicolous documentation about the whole thing.
Vold mount the sdcards and it only mount them at the path written in the fstab, directories must be created on the init.hardware.rc and indeed the vold mount the volumes, but, it mount on storage/sdcard0 (assuming this is the path) and mouth them with own permissions so system.sdcard_rw 0075
guides says to use a fuse_sdcard service to remap the mounted sdcards with right permissions for the system so a "service sdcard /system/bin/sdcard source_path dest_path 1023 1023" is needed, where 1023 is the right user/group but i need to use as the dest_path the same path i used on storage_list.xml and as source_path the path vold has created, but how the src and dst can be the same?
what i tried so far:
using a different path on storage_list.xml= the sdcards are not mounted at all
using a different path on fstab.xxxx= vold don't mount the sdcards
using no sdcard service= vold mount the cards and they are working but they cannot be used on android,just with adb
i never ran so much troubles compiling kitkat, maybe android 4.3.1 has some obscure problems?
edit- post edited, maybe can help someone.
i got the problem solved, it was a init executable which was in my build tree by mistake (wrong device.mk)
once i used the init compiled i got the sdcard working.
Click to expand...
Click to collapse
Have you tried mounting with umask=0 ? It should mount them correctly in default properties... Or umask=0000 as android and RH can be distinct at the worst times and then I'm unaware of where I might have goofed I'm not positive I'm understanding the question either. If your issue with your fstab or is it with the actual boot process getting prop errors? I'm a bit confused, but if its the actual boot, my suggestion may be of assistance. If its in creating an fstab, well the command I gave you will actually be referencing the fstab to assign properties in boot and that will use your defaults in fstab. I forget where it actually retrieves it from though after the fact. Lol anyway, perhaps of help. You could also get the info from proc/mounts, but with emulated storages that's tricky. I can't recall if 10.2 was the emulated or not tho.
Sent from my SAMSUNG-SGH-I337 using Tapatalk

[Q] [4.3] SDCARD1 not showing up in file manager

I am not sure if this could be a ROM issue or app issue or is in general 4.3 issue -> I am not able to see /extSdCard or /Sdcard1 in my file manager at the base level. To elaborate - usually file managers list sdcard, extsdcard and internal storage as the first options (of course there is the absolute path to go these which is working fine)
ROM : Carbon Nighltly
Kernel : GoogyMax 1.7.9
Andorid : 4.3.1
File Manager : File Expert (Paid) / CM File manger
First I had SDcard "no write permission" issue. I searched and fixed by modifying the permissions file in /system/etc. However still I notice Sdcard1 comes under group SDCARD_R instead of SDCARD_RW or MEDIA_RW. Anyways it is not preventing me from writing into the folder, so that's ok.
Secondly, in the file managers, I cannot simply see /extSdCard at the base level. What I can see is SdCard and Phone internal storage.
Any pointers?
-----------------------------------------------------------------------------
Dump of init scripts
"init.smdk4x12.rc"
on init
mkdir /mnt/shell/emulated 0700 shell shell
mkdir /storage 0550 system sdcard_r
mkdir /storage/emulated 0555 root root
mkdir /storage/sdcard1 0775 system system
mkdir /storage/usbdisk0 0775 system system
export EXTERNAL_STORAGE /storage/emulated/legacy
export SECONDARY_STORAGE /storage/sdcard1
export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
export EMULATED_STORAGE_TARGET /storage/emulated
# for backwards compatibility
symlink /storage/emulated/legacy /sdcard
symlink /storage/emulated/legacy /mnt/sdcard
symlink /storage/emulated/legacy /storage/sdcard0
symlink /mnt/shell/emulated/0 /storage/emulated/legacy
symlink /storage/sdcard1 /extSdCard
symlink /storage/sdcard1 /mnt/extSdCard
symlink /storage/usbdisk0 /usbdisk0
symlink /storage/usbdisk0 /mnt/usbdisk0
"init.goldfish.rc"
# on init
mkdir /storage/sdcard 0555 root root
export EXTERNAL_STORAGE /storage/sdcard
# Support legacy paths
symlink /storage/sdcard /sdcard
symlink /storage/sdcard /mnt/sdcard
----------------------------------------------------
Solved : Installed AOSP Rom
So the problem was the ROM. I did a complete wipe and installed NeatRom lite 5.4. Issue was resolved. On a different note... battery drain improved a lot.
Good
i will use this

Categories

Resources