mainnika / vold-exfat

vold daemon for exfat usb storage
1 stars 0 forks source link

Not mounting? tank 5.2.7.3 #1

Open rbreaves opened 4 years ago

rbreaves commented 4 years ago

I am running this firmware tank-5.2.7.3-rooted_r1.zip but replacing vold does not appear to have given me the ability to mount.

su -mm -c mount -t vfat -o noatime /dev/block/sda1 /storage/sdcard1

mount: I/O error

Would run this next but the IO error..

/system/bin/vold
chown -R root:sdcard_r /storage/sdcard1
chmod 771 /storage/sdcard1
mainnika commented 4 years ago

after replacing vold you don't need to mount disk manually. android system should take care about it. roughly:

I have not tested it with 5.2.7.3 yet, but will do that as I have a time for it.

rbreaves commented 4 years ago

Ah, well I did notice my firetv no longer complained about wanting to reformat it to fat32 but it didn’t appear to auto mount correctly. I did try looking at the mount point locations that I was aware of, both as regular shell user & root but the mount points weren’t writable. I did not have any data on the exfat card so I’ll fix that & see if it’s really reading or not.

mainnika commented 4 years ago

try connect another device with exfat, e.g simple usb flash drive. Just to be sure that the problem is consistent with different devices.

rbreaves commented 4 years ago

I can now confirm that it is indeed actually working or at least partially. The drive will not mount automatically and apparently the commands I tried previously may be partially responsible for the data corruption of the card (had nothing on it), so I have since reformatted the card and have found that StickMount works perfectly fine, granted I also have exfat binaries that exist in the sdcard directory which in theory it ought to be using as well if needed.

Can't say for sure what or which solution(s) ended up fixing my situation. I will later try some of this out once again on another, but identical firetv stick and report back my findings then.

Also I have tried a pretty extensive list of possible commands to mount my exfat drive and nothing really seems to have worked btw. I do not know how StickMount manages to mount this microsd.. and that kind of bothers me as I'd like to mount it myself however I want without stickmount.

mount -t vfat -o rw /dev/block/sda1 /data/media/0/test
mount -t vfat -o rw /dev/block/vold/8:1 /data/media/0/test
mount -t vfat -o noatime /dev/block/sda1 /data/media/0/test
mount -t vfat -o rw,context=u:object_r:fuseblk:s0,noatime,nodiratime,nosuid,nodev /dev/block/sda1 /data/media/0/test

mount: Invalid argument

If you have any suggestions on how I can mount this myself I'd appreciate it.

Also other notes I made

# View supported filesystems in kernel
cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   cgroup
nodev   tmpfs
nodev   debugfs
nodev   sockfs
nodev   pipefs
nodev   anon_inodefs
nodev   configfs
nodev   devpts
        ext3
        ext4
nodev   ramfs
        vfat
        msdos
        iso9660
        fuseblk
nodev   fuse
nodev   fusectl
nodev   selinuxfs
nodev   mtd_inodefs
nodev   functionfs

# Determine filesystem of drive and mountable location
blkid
/dev/block/sda1: UUID="FE33-176A" LABEL="256GB" TYPE="exfat"

# Partition sizes
cat /proc/partitions

root@tank:/data/media/0 # cat /proc/partitions
   8        0  250066944 sda
   8        1  250065920 sda1

# Find vold position
ls /dev/block/vold/

root@tank:/data/media/0 # ls /dev/block/vold/
8:0
8:1
rbreaves commented 4 years ago

I suspect that it may not have been your vold file that resolved my issue - I believe stickmount was somehow loading mount.exfat-fuse in a location that I am uncertain of, but somewhere where it is executable.

I have since located a copy directly to /system/bin and this command mounts the microsd card just fine.

mount.exfat-fuse -o rw /dev/block/vold/8:1 /data/media/0/test
mount.exfat-fuse -o rw /dev/block/sda1 /data/media/0/test
mount.exfat-fuse -o rw /dev/block/sda1 /sdcard/test

I don't know how stickmount manages this.. because when I do something similar it is never accessible to the regular user no matter how I change up the mounting options for user and group id.. I guess I give up to stickmount for now.

According to this it mounts for root only but it works for more than just root. My attempt however at doing the same directly fail. (My attempts only work for root user)

mount
/dev/block/sda1 /data/media/0/usbStorage/sda1 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0