[Q] EXT4 SDcard write error - Android Q&A, Help & Troubleshooting

Hi, did anybody tried a sdcard with a fat and ext4 partition? I'm getting error "could not create target file" while writing to ext4.
I followed these steps:
Parted sdcard with parted from CWM Recovery. SDcard is ADATA MicroSDHC 64GB =2GB Fat, 62 GB EXT4
Code:
umount /storage/sdcard1
parted /dev/block/mmcblk1
mklabel
msdos
unit MB
print
mkpartfs primary fat32 0 2048
mkpartfs primary ext2 2048 67109
print
quit
Update FS to EXT4:
Code:
tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk1p2
Set Journal to writeback mode:
Code:
tune2fs -O ^has_journal /dev/block/mmcblk1p2
tune2fs -o journal_data_writeback /dev/block/mmcblk1p2
Check FS:
Code:
e2fsck -f /dev/block/mmcblk1p2
Mount:
Code:
mount -t ext4 -o rw,nosuid,nodev,nodiratime,noatime,data=writeback,barrier=0,journal_checksum /dev/block/mmcblk1p2 /storage/sdcard1
Now when I copy from Internal sd to ext4, write error appear. Any solution?
Device: THL T100S
Chip: MTK 6592
Ram: 2GB
Android: 4.2.2
Rooted, Insecure boot.img

tony753 said:
Hi, did anybody tried a sdcard with a fat and ext4 partition? I'm getting error "could not create target file" while writing to ext4.
I followed these steps:
Parted sdcard with parted from CWM Recovery. SDcard is ADATA MicroSDHC 64GB =2GB Fat, 62 GB EXT4
Code:
umount /storage/sdcard1
parted /dev/block/mmcblk1
mklabel
msdos
unit MB
print
mkpartfs primary fat32 0 2048
mkpartfs primary ext2 2048 67109
print
quit
Update FS to EXT4:
Code:
tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk1p2
Set Journal to writeback mode:
Code:
tune2fs -O ^has_journal /dev/block/mmcblk1p2
tune2fs -o journal_data_writeback /dev/block/mmcblk1p2
Check FS:
Code:
e2fsck -f /dev/block/mmcblk1p2
Mount:
Code:
mount -t ext4 -o rw,nosuid,nodev,nodiratime,noatime,data=writeback,barrier=0,journal_checksum /dev/block/mmcblk1p2 /storage/sdcard1
Now when I copy from Internal sd to ext4, write error appear. Any solution?
Device: THL T100S
Chip: MTK 6592
Ram: 2GB
Android: 4.2.2
Rooted, Insecure boot.img
Click to expand...
Click to collapse
are you sure your kernel supports ext4 SD partition ?
try leaving it as ext2 and mount as that see if error appears
if not then u can try ext3 and if no error stay with that

IGGYVIP said:
are you sure your kernel supports ext4 SD partition ?
try leaving it as ext2 and mount as that see if error appears
if not then u can try ext3 and if no error stay with that
Click to expand...
Click to collapse
Mount as EXT2 failed. e2fsck: Bad magic number in super-block

Related

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)

Sdcard ext2 not mounted on Android to /mnt/sdcard

I formatted SDCard in ext2. But the phone gives the message "No SDCard or not formatted."
In Android Terminal Emulator I run commands:
su
umount /mnt/sdcard
mount -t ext2 /dev/block/mmcblk1p1 /mnt/sdcard
but nothing happens.
When I created in /mnt folder a new folder sdcard1 and run mount -t ext2 /dev/block/mmcblk1p1 /mnt/sdcard1, my card is successfully mounted to /mnt/sdcard1
1) Why it is not mounted to /mnt/sdcard? How to do it? How I can mount ext2 instead of FAT32?
2) How to make mount SDCard to /mnt/sdcard at boot?

[Q] How to change SDCARD automount options?

I converted my card to ext4 and need to change the default mount options. Right now they are:
Code:
/dev/block/vold/179:33 /mnt/media_rw/sdcard1 ext4 rw,dirsync,context=u:object_r:sdcard_external:s0,nosuid,nodev,noexec,noatime 0 0
/dev/fuse /storage/sdcard1 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
But I need to replace it with
Code:
/dev/block/vold/179:33 /storage/sdcard1 ext4 rw,noatime,nosuid,nodev wait
So far, everything I tried failed:
- Editing fstab.qcom is useless because it is being recreated at each boot.
- adding a umount/mount init script
Code:
#!/system/bin/sh
VOLD="$(mount | grep -E -o -m 1 ".{0,0}179:.{0,2}")"
sleep 8
su
umount /storage/sdcard1
umount /mnt/media_rw/sdcard1
mount -rw -t ext4 -o noatime,nosuid,nodev /dev/block/vold/$VOLD /storage/sdcard1
is also useless, because although it works, it only kicks in AFTER the system is already on the desktop, which is too late.
This is all on Android 4.3.1 (but it's the same story with 4.4)
Why I want to do it?
Because although ext4 sdcard is mounted fine with read and write, the system does not see it as external anymore. As a result, many, many apps just won't work claiming there is no sdcard in the system. Even DiskUsage app does not see it.
I suppose this is because it is mounted either with FUSE or remounted directly as ext4 too late (after the system completed boot).
Any ideas?

How to mount a separate partition on the internal flash (Redmi Note 3 Qualcomm)?

Have Redmi Note 3 Qualcomm, MIUI 7.2.3 Global Stable.
Want to have a data storage on the internal flash that would survive FastBoot reflashing and/or factory reset. So recreated userdata partition with 4GB size instead of 26GB, and created extdata partition with 22GB size, formatting it with ext4:
Code:
parted /dev/block/mmcblk0 unit kb print free
...
46 4429718kB 8624022kB 4194305kB ext4 userdata
47 8624022kB 31268519kB 22644497kB ext4 extdata
31268519kB 31268530kB 10.2kB Free Space
So the partition is visible and mapped to both /dev/block/mmcblk0p47 and /dev/block/platform/7824900.sdhci/by-name/extdata.
But I cannot format this partition with FastBoot:
Code:
E:\Devices\XiaomiRedmiNote3Pro>fastboot format extdata
Formatting is not supported for filesystem with type ''.
And cannot mount the partition:
Code:
mount /dev/block/mmcblk0p47 /storage/emulated/1
Usage: mount [-r] [-w] [-o options] [-t type] device directory
So the command line is correct but mount behaves like there is a syntax error.
How to mount the partition?
try busybox mount or mount -t ext4
but both wont work if not formatted.
try to format with mkfs.ext4
Tried formatting using both of
mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p47
and
make_ext4fs -b 4096 /dev/block/mmcblk0p47
In both cases, tools reported that the format was successful.
After resizing, formatted userdata with mke2fs and it works good. No idea why extdata doesn't.
Does "fastboot format" rely on existing partition structure/data? I thought it should just format a partition from scratch, shouldn't it?
BTW, wht mount might report a syntax error (showing usage information) if the command line is correct? Does it mean that mount in my build is buggy and I should report the bug?

Changing /data mount in fstab

I want to change the data mount point into an image inside the actual data partition.
My stock fstab has this:
Code:
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=0,noauto_da_alloc,discard wait,check,encryptable=footer,quota
Would it work to do like this ?
Code:
/dev/block/bootdevice/by-name/userdata /pre_data ext4
/pre_data/media/0/data.img /data ext4 noatime,nosuid,nodev,barrier=0,noauto_da_alloc,discard wait,check,encryptable=footer,quota
It bootloops ...
Found out how to do it:
Changed the data mount point in the fstab
Code:
#from
/dev/block/bootdevice/by-name/userdata /data <options>
#to
/dev/block/bootdevice/by-name/userdata /preData <options>
Then I located the mount_all command on my init files, in my case it was in /vendor/etc/init/hw/init.target.rc, on fs and bind mounted /preData/a to /data :
Code:
#from
on fs
mount_all fstab.qcom
#to
on fs
mkdir /preData
chmod 771 /preData
chown system system /preData
mount_all fstab.qcom
mount none /preData/a /data bind
So the image is renamed from data.img to "a"?

Categories

Resources