Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

I have an Archos 101IT with a 16G external SD card. The SD card contains one partition that is formatted as an ext3 file system. The Archos runs UrukDroid 1.6.4 (Froyo 2.2).

The Problem: When booted, the SD card is mounted with the following mount options:

/dev/block/vold/179:17 on /mnt/storage/sdcard type ext3
(rw,nosuid,nodev,noexec,noatime,nodiratime,fmode=0666,dmode=0666,errors=continue,data=ordered)

The fmode and dmode options make it impossible to use file permissions, in particular it is not possible to make files read-only. This is needed by the Titanium Backup tool to protect backups from being overwritten.

I can change the mount options with a remount:

# mount /mnt/storage/sdcard -o remount,fmode=0,dmode=0

The Question: How can I have the SD card mounted with the right mount options upon boot?

share|improve this question
add comment

2 Answers 2

Urukdroid has a special script, /system/bin/mount_sdcard.sh, that mounts the SD card upon boot. This script understands (V)FAT and EXT4. Anything else is left to the vold automounter. Archos modded vold so it could do a bit more than stock A 2.1 vold, e.g., mount EXT3 file systems.

I upgraded the file system on the SD card to EXT4, and now mount_sdcard.sh mounts the SD card upon boot with the correct mount options.

Thanks to $aur0n for helping me solve this.

Upgrading an EXT2 or EXT3 file system to EXT4 is easy, see https://ext4.wiki.kernel.org/index.php/Ext4_Howto#Converting_an_ext3_filesystem_to_ext4 .

share|improve this answer
    
Glad you manged to fix it +1 :) –  Eduard Florinescu Nov 8 '12 at 2:18
add comment

See if this helps: What's the Android equivalent of /etc/fstab?

From that answer:

All startup system mounting is done with the /etc/vold.fstab helper script.

You can go edit that script and modify the mount with the options you want, so you can have it like that on boot.

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

Or you can replace dev_mount with mount.

share|improve this answer
    
Yes, this is known information. But /etc/vold.fstab does not have a (documented?) means to specify mount options. It may very well be impossible to obtain the correct mount at boot time (i.e., via /etc/fstab.old) but in that case I hope there's a way to automatically execute the remount command. I did put the remount in /etc/rc.local but that didn't work, apparently the SDcard has not yet been mounted when /etc/rc.local is run. –  Sciurius Nov 5 '12 at 13:10
    
you mean dev_mount ? –  Eduard Florinescu Nov 5 '12 at 13:13
    
did you try to replace dev_mount with your mount command ? –  Eduard Florinescu Nov 5 '12 at 13:14
    
Do you mean that the 'dev_mount' line in /etc/vold.fstab is just a shell command, and that I can replace it by an arbitrary other command? –  Sciurius Nov 5 '12 at 13:18
    
I guess so, I don't have an android device with me but I hope I am not wrong. –  Eduard Florinescu Nov 5 '12 at 13:22
show 5 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.